中国大学C++程序设计基础2020春SPOC2期末答案(慕课2023课后作业答案)

高校邦题库2024-05-19 07:14:4892357抢沙发
中国大学C++程序设计基础2020春SPOC2期末答案(慕课2023课后作业答案)摘要: 第二章 C++程序设计基础第二章单元测试1、下列字符串中不可以用作C++标识符的是( )。A、_abcB、2_aC、A_1D、Jarry2、按照C++语言的规定,每个程序都必须有且仅有一个主函数,主函 ...

中国大学C++程序设计基础2020春SPOC2期末答案(慕课2023课后作业答案)

第二章 C++程序设计基础

第二章单元测试

1、中国作业下列字符串中不可以用作C++标识符的大学答案答案是( )。
A、程础春_abc
B、序设2_a
C、计基A_1
D、期末Jarry

2、慕课按照C++语言的课后规定,每个程序都必须有且仅有一个主函数,主函数的名称必须为( )。
A、中国作业winmain
B、大学答案答案main
C、程础春include
D、序设abc

3、计基执行下列程序的期末功能是( ) #include <iostream> using namespace std; int main() { int a=10,b=20; a=a+b; b=a-b; a=a-b; return 0; }
A、求a/b的慕课余数
B、求a/b的商
C、求a和b的最大公约数
D、交换a和b的值

4、下列标识符号中,表示行注释的开始标识符是( ).
A、//
B、/*
C、*/
D、#

5、下列语句的输出结果是( ). int i=5,j=10; cout <<i<<j;
A、5
B、10
C、510
D、5 10

6、表达式x&&1和下列哪个是等价的( ).
A、x==1
B、x
C、x==0
D、x!=1

7、对于以下代码: int i,j=6; 以下哪句话是对的( )
A、i和j的初始值都是6
B、i不会被初始化,而j是6
C、不能通过编译
D、i被初始为0,而j是6

8、表达式(double)(10/4)*5 的结果是( ).
A、12
B、10
C、10.0
D、12.5

9、与x * = y + z等价的赋值表达式是( )
A、x = y + z
B、x = x + y * z
C、x = x * y + z
D、x = x * (y + z)

10、表达式17%4 /8的值为( )
A、2
B、0
C、4
D、1

第二章编程

1、计算函数的值

2、给希望工程捐钱

第三章 分支结构

第三章 单元测试

1、若有定义“int a=1,b=2,c=3;”则执行以下程序段后a,b,c的值分别为( )。 if (a<b){ c=a;a=b;b=c; }
A、a=1,b=2,c=3
B、a=2,b=3,c=1
C、a=2,b=3,c=3
D、a=2,b=1,c=1

2、以下程序的运行结果是( )。 int main() { int n='c'; switch(n++) { default: cout<<"error"; break; case 'a': case 'b': cout<<"good "; break; case 'c': cout<<"pass "; case 'd':cout<<"warn "; } return 0; }
A、pass
B、warn
C、pass warn
D、error

3、以下if语句书写正确的是( )。
A、if ( x = 0; ) cout << x; else cout << -x;
B、if ( x > 0 ) { x = x + 1; cout << x; } else cout << -x;
C、if ( x > 0 ); { x = x + 1; cout << x; } else cout << -x;
D、if ( x > 0 ) { x = x + 1; cout << x }; else cout << -x;

4、阅读下面语句,则程序的执行结果是() 。 #include<iostream> using namespace std; int main() { int a=-1,b=1; if((++a<0)&&!(b--<=0)) cout<<a<<b<<endl; else cout<<b<<a<<endl; return 0; }
A、10
B、11
C、00
D、01

5、有如下程序段 int a=14,b=15,x; char c=′A′; x=(a&&b)&&(c<′B′); cout<<x<<endl; 执行该程序段后,x的值为()。
A、true
B、false
C、0
D、1

6、有如下程序 #include<iostream> using namespace std; int main() { double x=2.0,y; if(x<0.0) y=0.0; else if(x>10.0) y=1.0/x; else y=1.0; cout<<y<<endl; return 0; }
A、0
B、0.25
C、0.5
D、1

7、有以下程序 #include<iostream> using namespace std; int main() { int a=5,b=4,c=3,d=2; if(a>b>c) cout<<d<<endl; else if((c-1>=d)==1) cout<<d+1<<endl; else cout<<d+2<<endl; return 0; } 执行后输出结果是( )。
A、编译时有错,无结果
B、2
C、3
D、4

8、阅读程序的结果是(): #include<iostream> using namespace std; int main() { int n='e'; switch(n--) { default: cout<<"error "; case 'a': case 'b': cout<<"good "; break; case 'c': cout<<"pass"; case 'd': cout<<"warn"; } return 0; }
A、error
B、error good
C、good
D、没有输出

9、写出以下程序的运行结果()。 #include <iostream> using namespace std; int main( ) { int a=2,b=-1,c=2; if (a<b) if (b<0) c=0; else c=c+1; cout<<c<<endl; return 0; }
A、0
B、2
C、3
D、-1

10、对于整型变量x,下述if语句与赋值语句“x=x%2==0?1:0;”不等价的是( )。
A、if (x%2!=0) x=0; else x=1;
B、if (x%2) x=1; else x=0;
C、if (x%2==0) x=1; else x=0;
D、if (x%2==1) x=0; else x=1;

第三章 编程作业

1、计算分段函数

2、判断三角形并计算面积

3、计算实际奖金值

第四章 循环控制结构

第四章 单元测试

1、若有整型变量x的当前值是3,则执行下列语句的结果是 。 do{ cout<<(x -= 2); }while( !(-x));
A、输出值0
B、输出值1
C、输出值3和0
D、陷入死循环

2、在while(!a)中,其中!a与表达式 等价。
A、a == 0
B、a == 1
C、a != 1
D、a != 0

3、下面程序段执行后,共输出数的个数和最后一个输出数的答案分别是 。 int y=9; for(;y>0;y--) if(y%3==0) cout<<--y<<’\t’;
A、8 2 2
B、8 5 2
C、8 4 3
D、8 3 1

4、C++语言的跳转语句中,对于break 和 continue说法正确的是 。
A、break语句只应用于循环体中
B、continue语句只应用于循环体中
C、break是无条件跳转语句,continue不是
D、break和continue的跳转范围不够明确,容易产生问题

5、设有程序段 int x=10; while (x=0) x=x-1; 则下面描述中正确的 。
A、while 循环执行10次
B、循环是无限循环
C、循环体语句一次也不执行
D、循环体语句只执行一次

6、写出下列代码运行后的结果 。 int i, j; for(i=-3; i<=1; i++){ j = i; while( j < 0 ) { if(j == -1) break; j++; } } cout<<i<<'\t'<<j<<endl;
A、2 1
B、3 2
C、1 1
D、1 2

7、执行上述程序段后, a,b的值分别是 。 int a,b; for(b=1,a=1;b<=50;b++){ if(a>=10) break; if(a%2==1) { a+=5; continue; } a-=3; }
A、8和 5
B、9和 6
C、10和 6
D、11和 8

8、有如下语句序列,执行下面的语句序列输出字符“$”和“*”的个数分别是 。 int k=0; do { k+=5; cout<<'$'; }while(k<19); while(k-->0) cout <<'*';
A、4和20
B、5和20
C、4和21
D、5和21

9、有如下程序: int x=3; do { x-=2; cout<<x; } while(!(--x)); 执行这个程序的输出结果是 。
A、1
B、30
C、1-2
D、死循环

10、有如下程序段,执行这个程序段输出字符*的个数是 。 int i=1; while(1) { i++; if (i==10) break; if (i%3==0) cout<<"*"; }
A、1
B、2
C、3
D、4

第四章 编程作业

1、1、 一个小球从100米高处落下,每次落地后反弹回原高度的一半,再落下。求它在第n次落地时共经过多少米?第n次反弹多高?n 的值由用户输入取值范围是1< n="10" >

2、编写程序实现计算表达式的值。

3、题目:请编写程序,将任意长度的5进制数转换为十进制数,并输出转换结果

第四章 编程作业

1、计算小球的高度。

2、计算表达式的值。

3、进制转换

第五章 数组与指针

第五章 单元测试

1、以下数组定义正确的是()
A、char i=5, a[5]='0';
B、int i=5, a[ '5' - '0' ];
C、int i=5, a[i];
D、int a[5]="12345";

2、有如下程序段 int i=0, j=1; int &r=i ; //① r=j; //② int *p=&i ; //③ *p=&r ; //④ 其中会产生编译错误的语句是( )。
A、④
B、③
C、②
D、①

3、若有语句“int *p=&k;”,与这个语句等效的语句序列是( )
A、int*p;p=&k ;
B、int*p;p=k;
C、int*p;*p=&k;
D、int*p;*p=k;

4、下列语句中错误的是( )
A、char a[5]={ 1,2,3,4,5};
B、int a[]={ 1,2,3,4,5};
C、char a[5]={ 'p','o','i','n','t'};
D、char str[5]="point";

5、已知数组arr的定义如下: int arr[5]={ 1,2,3,4,5}; 下列语句中输出结果不是2的是( )。
A、cout << *arr+1 <<endl;
B、cout << *(arr+1)<<endl;
C、cout << arr[1] <<endl;
D、cout << *arr <<endl;

6、设有“char *s1="ABCDE", *S2="ABCDE", *S3=S1;”,下列表达式中值不等于true的是( )
A、&s1==&s2
B、s1==s3
C、s2==s3
D、strcmp(s1,s3)==0

7、执行下列语句后,屏幕的输出结果是( ). #include<iostream> using namespace std; int main() { int a=5; int *pa=&a; int &b=a; b++; cout<<(*pa)++<<endl; return 0; }
A、5
B、6
C、7
D、8

8、若有以下定义和语句,且0<i<10,则对数组元素地址的正确表示是( ). int a[ ]={ 1,2,3,4,5,6,7,8,9,0},*p,i; p=a;
A、&(a+1)
B、a++
C、*p
D、&p[i]

9、#include<iostream> using namespace std; int main() { char *p=0; *p='a'; cout<<"The value at p:"<<*p; return 0; } 编译运行程序将出现的情况是( )。
A、编译时出现语法错误,不能生成可执行文件
B、运行时一定输出:The value at p:a
C、运行时一定输出:The value at p:*a
D、运行时出错

10、以下不能对二维数组正确初始化的是( )
A、int?a[2][3]=;?
B、int?a[][3]={ { 1,2},};??
C、int?a[2][3]={ { 1,2},{ 3,4},{ 5,6}};??
D、int?a[][3]={ 1,2,3,4,5,6}?

第五章 编程题

1、输入十个不相等的正整数,求其平均值,并求最接近平均值的那个整数,如果有两个,则两个都输出

2、处理二维数组

3、输入十个字符串,将这十个字符串按照字符串长度排序,并按从短到长的顺序输出字符串。

第六章 函数 ---对应MOOC课程第七章 函数

第六章 单元测试

1、以下程序的执行结果是( )。 int fun(long b[],int n,long x) { int cnt=-1; for(int i=0; i<n; i++) if(b[i] == x) cnt=i; return cnt; } int main() { long x = 7; long a[5]={ 3,5,2,7,9}; cout<<fun(a,5,x)<<endl; return 0; }
A、4
B、1
C、2
D、3

2、不能作为函数重载的判断依据的是( )。
A、const
B、返回类型
C、参数个数
D、参数类型

3、已知函数f的原型是:void f(int *a, long &b); 变量v1、v2的定义是: int x; long y;,正确的调用语句是( )。
A、f(x, y);
B、f(x, &y);
C、f(&x, y);
D、f(&x, &y);

4、下面的函数利用递归实现了求1*2*3…..*n的功能: int sum(int n){ if( n==1 || n == 0) return 1; else return n*sum(n-1); } 在执行sum(10)的过程中,递归调用sum函数执行的次数是( )。
A、10
B、9
C、8
D、7

5、为了提高系统调用函数时的执行速度,可以将程序调用平繁且简单的函数定义为( )。
A、内联函数
B、递归函数
C、函数模板
D、重载函数

6、已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则( )。
A、FB必须定义在FA定义之前
B、若FA定义在FB之后,则FA的原型必须出现在FB的定义之前
C、若FB定义在FA之后,则FB的原型必须出现在FA的定义之前
D、FA必须定义在FB之前

7、下列函数原型声明中错误的是( )。
A、void f(int a, int b);
B、void f(int a=0, int b);
C、void f(int a, int b=0);
D、void f(int a=0, int b=0);

8、已知函数fun的原型为 int fun (double,int,int); 下列重载函数申明形式中错误的是______。
A、double fun(double,int,int);
B、float fun(int,int,int);
C、int fun(int,clar*);
D、char fun(int,int);

9、函数定义为Fun(int &i),变量定义 n=5,则下面调用函数形式正确的是( )。
A、Fun(20+n)
B、Fun(n)
C、Fun(&n)
D、Fun(20)

10、有如下程序段: int x=4;int y=1; int main( ) { int x=8,y=::y; cout<<x<<y<<endl; } 运行时的输出结果是( )。
A、44
B、84
C、81
D、41

第六章 编程题

1、数据的有序插入

2、图书 ISBN 号码中识别码的计算

3、最长单词

第六章 编程题 (延迟时间)

1、数据的有序插入

2、图书 ISBN 号码中识别码的计算

3、最长单词

第七章 类和对象 --对应于源课程的第九章中9.1---9.6+9.9的内容

第七章 单元测试

1、下列语句中,错误的是()
A、const int buffer=256;
B、const int temp;
C、const double *point;
D、const double *rt=new double(5.5);

2、class AA { int a; public: int getRef()const { return &a; } //① int getValue()const { return a; } //② void set(int n)const { a=n; } //③ friend void show(AA aa) const { cout<<a; } //④ }; 其中四个函数的定义中正确的是()
A、①
B、②
C、③
D、④

3、有如下类定义: class Point { int xx, yy; public: Point():xx(0)yy(0){ } Point(int x, int y =0): xx(x), yy(y){ }}; 若执行语句 Point a(2),b[3],*c[4]; 则 Point类的构造函数被调用的次数是()。
A、2次
B、3次
C、4次
D、5次

4、有如下程序: #include <iostream> using namespace std; class CD{ public: ~CD(){ cout<<'C’;} private: char name[80]; }; int main(){ CD a, *b,d [2]; return 0; } 执行这个程序的输出结果是()
A、CCCC
B、CCC
C、CC
D、C

5、Sample是一个类,且有如下语句: Sample a[2], *p = new Sample; 执行这个语句时调用 Sample类的构造函数的次数是()
A、0
B、1
C、2
D、3

6、通过运算符重载,可以改变运算符原有的()
A、操作数类型
B、操作数个数
C、优先级
D、结合性

7、下列运算符重载函数中肯定不属于类 FunNumber的成员函数的是()
A、int operator-(FunNumber);
B、FunNumber operator -();
C、FunNumber operator- (int);
D、int operator- (FunNumber, FunNumber);

8、有如下类定义: class B { public: void fun1(){ } private: void fun2(){ } protected: void fun3(){ }}; class D: public B { protected: void fun4(){ }}; 若obj是类D的对象,则下列语句中不违反访问控制权限的是()
A、obj.fun1();
B、obj.fun2();
C、obj.fun3();
D、obj.fun4();

9、有如下程序: #include<iostream> #include<string> using namespace std; class Animal{ public: virtual string GetType() const{ return "Animal";} virtual string GetVoice() const{ return "Voice";} class Dog: public Animal{ public: string GetType() const { return "Dog";} string GetVoice() const{ return "woof";} }; void Type(Animal a){ cout<<a. GetType();} void Speak(Animal& a){ cout< <a. GetVoice();} int main(){ Dog d; Type(d); Speak(d); return 0; } 运行时的输出结果是()
A、Dog Voice
B、Dog Woof
C、Animal Voice
D、Animal Woof

10、有如下函数模板: template <typename T, typename U> T cast(U u){ return u;} 其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是()。
A、cast(i)
B、cast<>(i)
C、cast<char*,int>(i)
D、cast<double,int>(i)

第七章 oj编程题

1、定义一个球类

2、定义一个日期类Date

3、定义一个复数类

4、定义一个元素类和集合类

考试环境测试

考试环境测试

1、求和

2020年春《计算机与程序设计基础(C++)》期中考试题

2020年春期中考试客观题

1、完整的计算机系统由( )组成。
A、运算器、控制器、存储器、输入设备和输出设备
B、主机和外部设备
C、硬件系统和软件系统
D、主机箱、显示器、键盘、鼠标、打印机

2、任何程序都必须加载到( )中才能被CPU执行。
A、磁盘
B、ROM
C、DRAM
D、外存

3、十进制数-27对应的字长为8的原码为( )。
A、10111011
B、11111011
C、10010111
D、10011011

4、世界上首次提出存储程序计算机体系结构的是( )
A、莫奇莱
B、艾仑·图灵
C、乔治·布尔
D、冯·诺依曼

5、下列四条叙述中,属RAM特点的是( )
A、可随机读写数据,且断电后数据不会丢失
B、可随机读写数据,断电后数据将全部丢失
C、只能顺序读写数据,断电后数据将部分丢失
D、只能顺序读写数据,且断电后数据将全部丢失

6、执行下列二进制数算术加法运算10101010+00101010,其结果是
A、11010100
B、11010010
C、10101010
D、00101010

7、计算机能够直接识别和处理的语言是( )
A、汇编语言
B、自然语言
C、机器语言
D、高级语言

8、能将高级语言源程序转换成目标程序的是( )
A、编译程序
B、解释程序
C、调试程序
D、编辑程序

9、二进制数1111000转换成十进制数是______。
A、134
B、124
C、120
D、122

10、在ASCII码表中,按照ASCII值从大到小排列顺序是____。
A、数字、英文大写字母、英文小写字母
B、数字、英文小写字母、英文大写字母
C、英文大写字母、英文小写字母、数字
D、英文小写字母、英文大写字母、数字

11、运算符 +、<=、=、% 中,优先级最低的运算符是( )。
A、+
B、<=
C、=
D、%

12、设变量m,n,a,b,c,d均为0,执行(m = a==b)||(n=c==d)后,m,n的值是( )。
A、0,0
B、0,1
C、1,0
D、1,1

13、有以下程序
A、741
B、963
C、852
D、875421

14、有以下程序,执行后的输出结果是( )。
A、5
B、24
C、32
D、40

15、有以下程序,程序运行后的输出结果是( )
A、3
B、5
C、7
D、9

16、存储字符串”vm\x43\npabc\n”需要的存储空间字节数是( )。
A、10
B、9
C、12
D、11

17、下列语句中错误的是( )。
A、int a[5]={ 1,2,3,4,5};
B、int a[]={ 1,2,3,4,5};
C、char str[]=”point”;
D、char str[5]=”point”;

18、执行下列程序代码的结果是( )
A、11
B、12
C、13
D、10

19、有如下程序段,执行这个程序段输出字符*的个数是( )
A、10
B、3
C、4
D、5

20、以下程序中循环体总的执行次数是( ) int i,j; for(i=6;i>1;i--) for(j=0;j<i;j++) { ……}
A、20
B、261
C、15
D、25

2020年春期中考试编程题

1、小黄单车收费问题

2、编写一程序,输入一个正整数n,求小于等于n的最大素数

3、求最高分及编号

4、自然数表示

结业考试环境测试

结业考试客观题

1、已知数组arr的定义如下: int arr[5]={ 1,2,3,4,5}; 下列语句中输出结果不是2的是( )。
A、cout << *arr+1 <<endl;
B、cout << *(arr+1)<<endl;
C、cout << arr[1] <<endl;
D、cout << *arr <<endl;

2、若有定义“int a=1,b=2,c=3;”则执行以下程序段后a,b,c的值分别为( )。 if (a<b){ c=a;a=b;b=c; }
A、a=1,b=2,c=3
B、a=2,b=3,c=1
C、a=2,b=3,c=3
D、a=2,b=1,c=1

结业考编程题

1、小球落地

2020年春季《计算机与程序设计基础(C++)结业清考试题》

客观题

1、计算机正在运行的程序存放在( ).
A、ROM
B、RAM
C、显示器
D、CPU

2、ROM与RAM的主要区别在于( ).
A、ROM可以永久保存信息,RAM在掉电后信息会丢失
B、ROM掉电后,信息会丢失,RAM则不会
C、ROM是内存储器,RAM是外存储器
D、RAM是内存储器,ROM是外存储器

3、与十进制数97等值的二进制数是( ).
A、1011111
B、1100011
C、1101111
D、1100001

4、下列语句中正确的是( )。
A、const int a;
B、const int a=10;
C、const bool x="false" ;
D、const char ch="A";

5、字符串“a+b=12\n\t”占的字节数为( )
A、9
B、11
C、8
D、10

6、Windows环境下,在VC++2010 Express环境下编辑的C++源程序的执行需哪三步( )
A、编译、连接 、运行
B、编辑、编译、运行
C、编辑、编译、连接
D、编辑、连接 、运行

7、Windows环境下,由C++源程序经过编译、连接后可执行文件的扩展名是( )
A、.cpp
B、.exe
C、.obj
D、.lik

8、C++语言中,合法的字符型常量是( )。
A、‘A’
B、“A”
C、65
D、A

9、在C++中实现封装是借助于(????)?
A、枚举
B、类
C、数组?
D、函数

10、已知:?int?m=10;下列表示引用的方法中,正确的是:(????)?
A、int?&Z;
B、int?&t=10;
C、int?&X=m;
D、float?&f=&m;

11、执行下面程序段的输出结果是______。 int x=19,z; z=2+(x+8,x++); cout<<x<<“ ”<<z<<endl;
A、20 21
B、19 20
C、20 22
D、22 22

12、若int型变量x=39, double型变量y=7.0,则表达式x/y的值为( ) 。
A、5.57143
B、6
C、5.0
D、6.0

13、执行语句序列
A、12
B、3
C、1
D、2

14、设有a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=3, 则逻辑表达式(m=a<b)||(n=c<d)运算后, m, n的值为( )
A、1 3
B、1 1
C、1 2
D、2 3

15、下面程序的输出结果是( ).
A、2
B、0
C、1
D、3

16、以下代码执行后,a、b、c的值分别为( )。
A、8 10 3
B、10 3 3
C、10 10 8
D、10 8 8

17、下列描述正确的是( ) 。
A、如果至少有一个操作数为true,则包含"||"运算符的表达式为true
B、switch语句结构中必须有default语句
C、if语句结构中必须有else语句
D、表示m>n为true或m<n为true的表达式为m>n&&m<n

18、执行下列程序的运行结果是( )
A、15
B、16
C、17
D、18

19、下面关于break语句的描述中,不正确的是( ).
A、break可以用于循环体内
B、break语句可以在for循环语句中出现多次
C、break语句可以在switch语句中出现多次
D、一个break语句就可以跳出多重循环

20、 执行这个程序段输出字符*的个数是( )
A、10
B、3
C、4
D、5

21、 运行时的输出结果是( )。
A、3
B、10
C、12
D、15

22、下面程序段的输出结果是( )
A、因为没有给k赋初值,因此程序不能通过编译
B、无论k的初值如何,最终都会减到0的。
C、因为k没有初值,所以结果不确定
D、1

23、下面的代码段执行后,输出的结果是( )
A、3
B、4
C、0
D、2

24、若有变量定义: int a[][3] = { 1,2,3,4,5,6,7}; 则数组a的第一维的大小是( )
A、3
B、4
C、7
D、6

25、若二维数组a有m列,则在a[i][j]之前的元素个数是( )
A、j*m+i-1
B、i*m+j
C、j*m+I
D、i*m+j-1

26、若函数的参数是数组,则传递给这个参数的值是( )
A、整个数组被拷贝过去,包括数组元素和数组个数。
B、数组元素的个数
C、数组的首地址
D、数组第一个元素的值

27、若有如下变量定义, char x[] = "abcd"; char y[] = { 'a', 'b', 'c', 'd'}; 则正确的叙述为( )
A、数组x和数组y相同
B、数组x的长度大于数组y的长度
C、数组x和数组y各元素的值相等
D、两个数组的长度相同

28、如有以下定义: char str1[8], str2[8] = "good"; 则不能将str2的内容交给str1数组的是( )
A、str1[0] = 0; strcat(str1, str2);
B、str1 = str2;
C、strncpy(str1,str2,6);
D、strcpy(str1, str2);

29、以下正确的函数原型是( )
A、double fun(int, int);
B、fun(int x, int y);
C、double fun(int x; int y);
D、double fun(int x, y);

30、在下述对C++语言字符数组的描述中,有错误的是( ).
A、字符数组可以存放字符串
B、字符数组中的字符串可以进行整体输入输出
C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D、字符数组的下标从0开始

31、下面关于数组的描述错误的是( ).
A、在C++语言中数组的名字就是该数组第一个元素的首地址。
B、长度为n的数组,下标的范围是0~n-1
C、数组的大小必须在编译时确定
D、数组元素的个数在定义时可以缺省。

32、有如下程序段:
A、welcome to
B、welcome
C、welcome to you!
D、welcome toyou!

33、已知:int m=10;在下列语句中错误的是( )
A、int *p=new int(m);
B、int *p=new int[m]=;
C、new float(m);
D、new float[m] ;

34、下列程序运行时的输出结果是( )
A、23
B、58
C、64
D、79

35、下面程序的运行结果是( ).
A、1 1
B、2 1
C、1 2
D、3 1

36、有以下程序,程序执行后的输出结果是( )
A、0,1,1,2,
B、1,2,2,3,
C、2,0,3,0,
D、1,0,2,0,

37、已知函数f的原型是:void f(int *a, long &b); 变量v1、v2的定义是: int v1; long v2;,正确的调用语句是( )
A、f(v1, &v2);
B、f(v1, v2);
C、f(&v1, v2);
D、f(&v1, &v2);

38、Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是( ) Sample a[2], *q, *p = new Sample;
A、0
B、4
C、2
D、3

39、关于构造函数的说法,不正确的是:(????)?
A、没有定义构造函数时,系统将不会调用它
B、其名与类名完全相同?
C、它在对象被创建时由系统自动调用???
D、没有返回值?

40、有如下说明语句int?a[10]={ 1,2,3,4,5,6,7,8,9,10};int?*p=a;则数值为9的表达式是 ( )
A、*p+9??
B、*(p+8)?
C、*p+=9??
D、p+7?

41、电子计算机与过去的计算工具相比,所具有的特点有( )。
A、具有记忆功能,能够储存大量信息,可方便用户检索和查询
B、能够按照程序自动进行运算.
C、具有逻辑判断能力.
D、具有逻辑判断能力,可以完全代替人脑的全部智能

42、下面有关C++程序操作过程的说法中,正确的是( )。
A、源程序的连接实质上是将目标代码文件和库函数等代码进行连接的过程
B、源程序不能通过编译,通常是由于语法错误引起的
C、导致不能得到预期计算结果的主要原因是程序算法考虑不周
D、源程序经过编译,得到的二进制文件即为可执行文件

43、int x=5, y=6;下列表达式结果为真的是( ) 。
A、x+1==y
B、x==--y
C、x++==y
D、++x==y

44、已知函数fun的原型为 int fun (int,int,int); 下列重载函数原型中正确的是_( )。
A、char fun(int,int);
B、double fun(int,int,double);
C、int fun(int,clar*);
D、float fun(int,int,int);

45、以下能正确进行字符串初始化的语句是( )。
A、char str[] = "good!";
B、char str[8] = "good!";
C、char *str = "good!";
D、char str[5] = { 'g', 'o', 'o', 'd', '!'};

46、有函数原型 void test( int a, int b=7, char c=‘*’);下列函数调用正确的是( )
A、test(5)
B、test(5,8)?
C、test(6,"#")?
D、test(0,0,"*");

47、下列关于构造函数的描述中,正确的是( )
A、构造函数名与类名相同
B、构造函数可以有返回值
C、构造函数可以重载
D、每个类可以有构造函数也可以没有构造函数

48、关于类和对象正确的说法是:(???)
A、类是一种类型,它封装了数据和操作
B、对象是类的实例?
C、一个类的对象只有一个???
D、一个对象必属于某个类

49、关于封装,下列说法正确的是( )
A、通过封装,对象的全部属性和操作结合在一起,形成一个整体。
B、通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)
C、通过封装,每个对象都成为相对独立的实体
D、通过封装,对象的属性都是不可见的

50、若有以下定义,则说法正确的是( ) int a=100, *p=&a;
A、声明变量p,其中*表示p是一个指针变量
B、变量p经初始化获得变量a的地址
C、变量p只可以指向一个整型变量
D、变量p的值为100.

编程题

1、进制转换

2、求图书ISBN的校验码

2020年春《计算机与程序设计基础(C++)》期末考试题

2019-2020期末考试客观题试卷

1、下列程序的执行结果是( )
A、0,1,1,2,
B、1,2,2,3,
C、2,0,3,0,
D、1,0,2,0,

2、有如下程序,问程序运行后输出结果()。
A、1 2 4 7 9
B、7 2 4 1 9
C、9 2 4 1 7
D、4 9 7 2 1

3、有下面程序段,执行后输出结果是()。
A、0 1 2 3 4
B、0 1 1 3 4
C、4 3 2 1 0
D、2 3 2 1 0

4、假定一个类的构造函数为A(int aa,int bb){ a=aa--;b=a*--bb;},则执行A x(4,5)后,x.a和x.b分别是()。
A、3和12
B、4和16
C、4和20
D、20和5

5、有如下程序,请给出满足程序运行结果的是()。
A、AAA
B、BAA
C、输出"AAA"后,程序报错
D、输出"AAA"后,继续输出“BAA”

6、有如下程序,请给出运行结果是()。
A、1 3 5 7 9
B、1 4 7 10 13
C、1 2 3 4 5
D、1 4 7 9 11

7、对C++编译器区分重载函数无任何意义的信息是()。
A、参数个数
B、参数的类型
C、返回值类型
D、以上所有的信息

8、
A、1和1
B、1和2
C、2和2
D、0和2

9、对于一个类定义,下列叙述中错误的是( )。
A、类中定义带参的构造函数,系统不会生成默认构造函数
B、类中如果没有定义复制构造函数,系统会提供默认的复制构造函数
C、如果没有定义默认的构造函数,编译器一定会生成一个默认的构造函数
D、如果类中声明了某个成员函数,必须在类体外定义该成员函数

10、有如下程序:
A、默认构造函数
B、带参构造函数
C、默认复制构造函数
D、复制构造函数

11、
A、CC
B、CCC
C、CCCC
D、C

12、有下面程序,执行后输出结果是()。
A、1 0 3 4 6 0
B、1 3 4 5 6 0
C、1 0 0 3 4 5
D、1 0 3 4 5 6

13、
A、230
B、320
C、023
D、032

14、
A、*OA.p= 5
B、OA.*p = 5
C、OA->*p = 5
D、OA.p = 5

15、在C++语言中函数调用参数之间进行值传递时,以下正确的说法是:( )。
A、形参是虚拟的,不占用存储单元
B、实参和与其对应的形参各占用独立的存储单元
C、只有当实参和与其对应的形参同名时才共占用存储单元
D、实参和与其对应的形参共占用一个存储单元

16、下列说法不正确的是()。
A、不同函数中,可以使用相同名字的变量
B、在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效
C、形式参数是局部变量
D、主函数main中定义的变量在整个文件或程序中有效

17、以下叙述中正确的是()。
A、静态(static)类别变量的生存期贯穿于整个程序的运行期间
B、函数的形参都属于全局变量
C、未在定义语句中赋初值的auto变量和static变量的初值都是随机值
D、全局变量的作用域仅在定义它的文件里

18、已知:类A中一个成员函数说明如下:void Set(A& a);其中,A&的含义是()。
A、将a的地址值赋给变量Set
B、a是类 A 对象的引用,用来作函数Set()的参数
C、变量A与a按位与作为函数Set()的参数
D、指向类A的指针为a

19、下面说法不正确的是()。
A、类中静态数据成员必须在类体之外初始化;
B、函数的返回类型与return语句中表达式的类型不一致时,则以函数的返回类型为主
C、构造函数实现类的类型转换,不适合将其它类型转换成类类型
D、对于内联函数,C++编译器执行内联扩展,将函数代码直接插入每一处调用出。由此可以减少函数调用的开销

20、
A、hello
B、h
C、输出"hello"后,程序会报错
D、什么都不输出

2020期末考试试卷(编程题)

1、二维数组应用

2、函数的简单应用

3、类和对象

4、综合应用

关于中国大学C++程序设计基础2020春SPOC2的相关文章

随着信息技术的高速发展,计算机编程越来越成为了人们必备的一项技能。中国大学C++程序设计基础2020春SPOC2就是一门让学生掌握基本C++编程技能的课程。下面就让我们来探讨一下这门课程的相关内容。

课程简介

中国大学C++程序设计基础2020春SPOC2是一门以C++语言为主要学习对象的计算机编程课程。该课程旨在帮助学生掌握C++的基本语法、程序设计方法和一些常见的算法,为以后的计算机编程学习打下坚实的基础。

课程内容

该课程主要包括以下几个方面的内容:

  1. C++的基本语法和程序结构:包括变量、类型、运算符、条件语句、循环语句、函数、数组、指针等。
  2. 面向对象编程:包括类和对象、访问控制、构造函数和析构函数、继承、多态等。
  3. 常见算法:包括排序、查找、递归、贪心、动态规划等。

课程特点

相比于其他计算机编程课程,中国大学C++程序设计基础2020春SPOC2具有以下特点:

  • 课程由浅入深,循序渐进。课程难度逐渐增加,学生可以逐步掌握C++编程的基本知识和技能。
  • 课程注重实践操作。课程中有大量的编程实践练习,学生可以通过实践来巩固所学知识。
  • 课程内容丰富多样。课程内容涵盖了C++编程的各个方面,学生可以全面了解C++编程的基本概念和技巧。

学习建议

想要学好中国大学C++程序设计基础2020春SPOC2,需要注意以下几点:

  1. 掌握C++的基本语法。C++的基本语法是学习该课程的基础,需要认真掌握。
  2. 多做编程实践。编程实践可以帮助学生更好地理解和掌握C++编程的知识和技能。
  3. 注重算法学习。算法是C++编程的核心内容,需要学生花费更多的时间去学习和练习。

总结

中国大学C++程序设计基础2020春SPOC2是一门非常重要的计算机编程课程,帮助我们掌握C++编程的基本技能和知识。通过本课程的学习,我们可以更好地理解计算机编程的基本原理和方法,并为以后的学习和工作打下坚实的基础。

文章版权及转载声明

本文地址:http://www.zzxhsh.org/66f799230.html发布于 2024-05-19 07:14:48
文章转载或复制请以超链接形式并注明出处五煦查题

评论列表 (暂无评论,44人围观)参与讨论