电大C++语言程序设计课程期末针对性训练
训练第一套
一、单选题(每小题2分,共20分)
1.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为( A )。 A. main B. MAIN C. name D. function
2.设x和y均为bool量,则x && y为真的条件是( D )。 A. 其中一个为假 B. 其中一个为真 C. 它们均为假 D. 它们均为真
3. 逻辑表达式x>0 || y==5的相反表达式为( B )。
A. x<=0 || y!=5 B. x<=0 && y!=5 C. x>0 || y!=5 D. x>0 && y==5
4. 假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大( C )个字节。 A. 1 B. 2 C. 4 D. 8
5. 枚举类型中的每个枚举常量的值都是一个( A )。
A. 整数 B. 浮点数 C. 字符 D. 逻辑值
6. 循环体至少被执行一次的语句为( C )语句。
A. for循环 B. while循环 C. do循环 D. 任一种循环
7. 在下面的字符数组定义中,( D )语句有语法错误。
A. char a[20]=”abcdefg”; B. char a[]=”x+y=55.”; C. char a[15]={’1’,’2’}; D. char a[10]=’5’;
8. 若用数组名作为函数调用的实参,传递给形参的是( A )。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组全部元素的值 D. 数组元素的个数
9.假定AB为一个类,则执行“AB a(4), b[5], *p[2];”语句时,自动调用该类构造函数的次数为( A )。 A. 6 B. 7 C. 9 D. 11
10.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( D )。 A. ios::in B. ios::out C. ios::in | ios::out D. 没有
二、填空题(每小题2分,共20分) 1. 若需要定义一个标识符常量,并且使C++能够进行类型检查,则应在定义语句的开始使用保留字__ const __。
xy2?4b?1对应的C++表达式为_(x*y*y)/(3*a)+4*b-1 _。 2. 算术表达式3a
3. 逻辑表达式x>y && x!=10的相反表达式为__ x<=y || x==10__。
4. 每个字符指针变量占用内存__4____个字节。
5. 执行“typedef int DataType;”语句后,在使用int定义整型变量的地方都可以使用标识符___ DataType _______来定义整型变量。
6. 对于在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它赋予的初值为___0_____。
7.假定p所指对象的值为25,p+1所指对象的值为46,则执行“*(p++);”语句后,p所指对象的值为___46_____。
8.假定一个结构类型的定义为“struct A{int a; double* b; A* c;};”,则该类型的大小为____12___字节。
9.假定一维数组的定义为“int a[8];”,则该数组所含元素的个数为_____8___。
10. 若while循环语句的开始为”while(i++<=10)”,若i的初值为0,同时在循环体中不会修改i的值,则其循环体将被重复执行____11______次后正常结束。
三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1. #include
int s1=0, s2=1;
for(int i=1; i<=6; i++) {s1+=i; s2*=i;} cout< 输出结果:21,720 2. #include int a[10]={68,79,86,65,46,94,37,78,60,53}; int c=0; for(int i=0;i<10;i++) if(a[i]>=60) c++; cout<<”c=”< 输出结果:c=7 3. #include int a[3][4]={{1,2,7,8},{5,6,11,15},{9,20,3,4}}; int m=a[0][0]; for(int i=0;i<3;i++) for(int j=0;j<4;j++) if(a[i][j]>m) m=a[i][j]; cout< 输出结果:20 4. #include int a=10, b=15; cout< int b=a+20; cout< cout< 输出结果:10 15 30 50 30 15 5. #include int a[8]={6,19,4,12,20,5,18,25}; int* p=a;