10. 下列DO-While循环的次数为_d_____. int i=5; Do
{ cout< }while(i!=0); A. 0 B. 1 C. 5 D. 无限 11. 已知函数f的原型为:void f(int &a,char *b);变量s,t的定义是:int s;char t[]=\把s和t分别作为第一参数和第二参数来调用函数f,正确的调用语句是:____c____。 A. f(&s,&t); B. f(&s,t); C. f(s,t); D. f(s,&t); 12. 下列___a____是语句. A. ; B. a=17 C. x+y D. cout<<‖\\n‖ 13. 若定义:float x;int a,b;则正确的switch语句是___d____。 A. switch(x) { case 1.0:cout<<\ case 2.0:cout<<\ } B. switch(x) { case 1.2:cout<<\ case 3 : cout<<\ } C. switch(a+b) { case 1 : cout<<\ case 1,2:cout<<\ } D. switch(a+b) { case 1:cout<<\\n\ case 2:cout<<\ } 14. 以下正确的说法是______d____。 A. 用户若需要调用标准函数,调用前必须重新定义 B. 用户可以直接调用所有标准库函数 C. 用户可以定义和标准库函数重名的函数,但是在使用时调用的是系统库函数 D. 用户可以通过文件包含命令将系统库函数包含到用户源文件中,然后调用系统库函数 15. 采用函数重载的目的在于___d____。 A. 实现共享B. 减少空间C. 提高速度D. 使用方便,提高可读性 16. int x=-1; do {x=x*x;} while(!x); 下列说法正确的是_____c____。 A. 是死循环 B. 循环执行两次 C. 循环执行一次 D. 有语法错误 17. 以下四组函数原型说明中,满足C++函数重载规则的是____c_____。 A. float f(float x); void f(float y); B. float f(float x); void f2(float x,float y); C. float f(float x,int y); void f(float y);D. float f(float y); float f(float y); 18. 下面的程序输出的结果是___b____。 #include int x=a; a=b; b=x; cout < void main() { int x=10,y=25; LE(x,y); cout < A. 25 10 25 10 B. 25 10 25 25 C. 25 10 10 25 D. 10 25 10 25 19. 以下函数声明中,存在着语法错误的是___d___。 A. int AA(int a,int); B. int *BB(int,int); C. void CC(int,int=5); D. void *DD(x, y); 20. int a=1,b=2,c=2; while(a 运行结果为______a___。 A. 1,2,0 B. 2,1,0 C. 1,2,1 D. 2,1,1 21. 若有执行语句char str[7];cin>>str;当输入为:ObjectWindowsPrograrmming!所得的结果是str=____b___ A. Object Windows Programming! B. Object C. Object Windows D. Object Windows Programming 22. 控制格式I/O的操作中,__d____是设置域宽的。 A. ws B. oct C. setfill() D. setw() 23. 函数的功能是交换x和y中的值,且通过正确调用返回交换结果。不能正确执行此功能的函数是_____b_____。 A. void funa(int *x, int *y) { int i, *p=&i; *p=*x; *x=*y; *y=*p; } void main() { int x=3,y=5; funa(&x,&y); cout< B. void funa(int x, int y) { int t; t=x; x=y; y=t; } void main() { int x=3,y=5; funa(x,y); cout< C. void funa( int *x, int *y) { int p; p=*x; *x=*y; *y=p; } void main() { int x=3,y=5; funa(&x,&y); cout< D. void funa (int *x, int *y) { *x=*x+*y; *y=*x-*y; *x=*x-*y; } void main() { int x=3,y=5; funa(&x,&y); cout< 24. 在每个C++程序中都必须包含有这样一个函数,该函数的函数名为_____a___。 A. main B. MAIN C. name D. function 25. int x=0,y=0; while(x<15) y++,x+=++y; cout< 则运行结果为____d____。 A. 20,7 B. 6,12 C. 20,8 D. 8,20 26. 能把函数处理结果的两个数据返回给主调函数,在下面的方法中不正确的是_______a____。 A. return这两个数 B. 形参用两个元素的数组 C. 形参用两个这种数据类型的指针D. 用两个全局变量 27. sizeof(double)是一个__a_____表达式。 A. 整型 B. 双精度 C. 不合法 D. 函数调用 28. 与以下程序段等价的是___a___。 while(a) { if(b) continue; c; } A. while(a) {if(!b)c;} B. while(c) {if(!b) break; c; } C. while(c) {if(b) c;} D. while(a) {if(b) break; c; } 29. 要求函数的功能是在一维数组a中查找x值;若找到则返回所在的下标值,否则返回0;数放在a[1]到a[n]中。不能正确执行此功能的函数是_____c_____。 A. funa(int *a, int n, int x) { *a=x; while(a[n]!=x) n--; return(n); } B. funb(int *a, int n, int x) { int k; for(k=1;k<=n; k++) if(a[k]==x)return(k); return(0); } C. func(int a[ ], int n, int x) { int *k; a[0]=x; k=a+n; while(*k!=x) k-- return(k-n); } D. fund(int a[ ], int n, int x) { int k=0; do k++; while((k 30. 预处理命令在程序中都是以_b_开头的。 A. * B. # C. : D. / 31.有一函数的定义如:void fun(char*s){?}则不正确的函数调用是_d_。 A. void main( ) { char s[20] =\fun(s); ? } B. void main( ) { char a[20] =\fun(&a[0]); ? } C. void main( ) { char s[20] =\char *p=s; fun(p); ? } D. void main( ) { char s[20] =\fun(s[ ]); ? } 32. 对数组名作函数的参数,下面描述正确的是_______b______。 A. 数组名作函数的参数,调用时将实参数组复制给形参数组。 B. 数组名作函数的参数,主调函数和被调函数共用一段存储单元。 C. 数组名作参数时,形参定义的数组长度不能省略。 D. 数组名作参数,不能改变主调函数中的数据。 33. 预处理命令以(b)开头。 A. * B. # C. / D. : 34. 设有函数定义“int f1(void){return 200,100;}”,设调用函数f1()时,___a____。 A. 函数返回值100 B. 函数返回两个值100和200 C. 函数返回值200 D. 语句“return 200,100;”语法错,不能调用函数 35. 使用如setw()的操作对数据进行格式输出时,应包含____c___文件 A. iostream.h B. fstream.h C. iomanip.h D. stdlib.h 36. 在C++语言中,080是_____d_____。 A. 八进制数 B. 十进制数 C. 十六进制数 D. 非法数 37. C++语言中while和do-while循环的主 要区别是___a____. A. do-while的循环体至少无条件执行一次 B. while的循环控制条件比do-while的循 环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 38. 下述关于循环体的描述中,___c___是 错误的. A. 循环体中可以出现break语句和 continue语句 B. 循环体中还可以出现循 环语句 C. 循环体中不能出现goto语句 D. 循 环体中可以出现开关语句 39. 已知函数f的原型是:int f(char a,char *b=NULL,double c=0.0); 则下列调用中,不 能正确地调用f函数的是____b_____。 A. f(99) B. f('A',4.5) C. f('A',\D. f((char)65,\ 40. 下述关于break语句的描述中,___c__是不正确的 A. break语句可用于循环体内,它将退出该重循环 B. break语句可用于开关语句中,它将退出开关语句 C. break语句可用于if体内,它将退出if语句 D. break语句在一个循环体内可以出现多次 41. 下列关于条件语句的描述中,____c___是错误的. A. if语句中只有一个else子句 B. if语句中可以有多个else if子句 C. if语句中if体内不能是switch语句 D. if语句的if体中可以是循环语句 42. 在参数传递过程中,对形参和实参的要求是______b______。 A. 函数定义时,形参一直占用存储空间。 B. 实参可以是常量、变量或表达式。 C. 形参可以是常量、变量或表达式。 D. 形参和实参类型和个数都可以不同。 43. 下列字符列中,可作为C++语言程序自定义标识符是_____b____。 A. switch B. For C. break D. do 44. 以下程序的输出结果是_____a_____。 #include A. + B. <= C. = D. % 48. 设int x=2,y=3,z=4;则下面的表达式中值不为1的表达式是__b____。 A. 'x'&&'z' B. (!y==1)&&(!z==0) C. (x A. 2 3 5 B. 3 2 5 C. 4 3 2 D. 5 3 2 50. 在C++中,关于下列设置参数默认值的描述中,正确的是___c_____。 A. 不允许设置参数的默认值 B. 设置参数默认值只能在定义函数时设置 C. 设置参数默认值时,应该是先设置右边的再设置左边的 D. 设置参数默认值时,应该全部参数都设置 -2.填空题 1. 以下程序的执行结果是_42,54,54___。 #include int x,y,z; x=y=z=3; y=x++-1; cout< cout< cout< 2. 若给fun函数的形参s传递字符串:“∪∪6354abc”(其中“∪”表示空格字符),则函数的返回值是___6354___。 #include void main() { char str[]=\ 6354abc\ cout< 3. 执行以下语句序列后,y的值为_____17____。 #define S(x) x*x int y,z=5; y=S(z+2); 4. 设有语句“float x=2.9; int a=5,b;b=a+x;”则变量b的值是__7____ 。 5. c++提供了两大类数据类型;基本数据类型和___复合/导出数据类型___。基本数据类型有4种:整型(int)、浮点型(float)、字符型(char)和___无值型__。 6. 下列函数求任意阶多项式 a0+a1X+a2X^2+?+anX^n 的值并返回多项式的值,请填空。 float sum(int *a,int x,int n) { float y,t=1; y=*a; for(i=1;i<=n;i++) { _____________; y+=*(a+i)*t; } return y; } t*=x 7. 语句cout<<036+014;的输出结果为_42_。 8. 函数重载是指函数名相同,但函数的_参数个数_不同或函数的_参数类型_不同。 9. 以下程序的执行结果是____4___8____ 。 #include void func(int a) { static int m=0; m+=a; cout< 10. 以下程序输出结果的第一行是_1_2_3_4_5______,第二行是__7__。 #include void main(void) { k=5;