当前位置:首页 > C++基础+编程题复习
#include
*(a+i*n+j)=*(a+j*n+i); void func(int); 1 2 7 4 void main() _________; { int x=10; 11 3 -4 5 func(x); } cout<<\ -3 4 4 6 } } void func(int x) -2 5 2 7 j=0;j_。 33. 以下程序运行后输出的结果是
__2_4_6_________。
#include if(j==0) i++; else i--; 后i的值为___11___ 。 36. break语句只能用在循环语句和_switch_ 语句中。 37. 以下程序的执行结果是__x=10__。 { x=20; } 38. 如果一函数直接或间接地调用自身,这样的调用称为__递归调用__。 39. 以下程序的输出结果是s=__10__ ,k=___7__ 。 #include int i, p=0; while(x>w[p]) p++; for(i=n+1;i>p;i--) w[i]=_______; w[p]=x; ++n; } w[i-1] 44. 验证哥德巴赫猜想:任何一个大于6的 偶数均可表示为两个素数之和。要求将6~100之间的偶数都表示为两个素数之和。素数指只能被1和自身整除的正整数,1不是素数,2是素数。请填空。 #include for( k=2; k<=n/2; k++) if( n%k==0) return 0 ; return__________; } void main( ) { int j, k ; for(j=6; j<=100 ; j+=2) for(k=2; k<=j/2 ; k++) if(_________) { cout< break; } } 1 prime(k)>>prime(j-k) 45. 下列函数将判断字符c是否在字符串s中出现, 请填空。 int f(char *s , char c) { for(__________) if(c==*s) break; return(c==*s); } *s;s++ 46. 以下程序的执行结果是___x=1____。 #include void func(int); void main() { func(x); cout<<\} void func(int x) { x=3;} 47. 以下程序的执行结果是__25____ 。 #include cout< int x=20,y=5; int add(int a,int b) { int s=a+b; return s; } 48. 指出下面程序的输出结果_1_1_2_3_5_8_13_21 34 55 #include { int i1=1,i2=1,i3,i; cout< cout< 49. 执行下列程序段后,i值为__2____。 int f(int x) { static int k=0; x+=k++; return x; } int i=f(f(1)) ; 50.在C++中,函数名的值是__函数的入口地址__。 VC练习卷1 总分:100分 -1.单项选择题 1.设有说明“int x=10,y=4,f;float m;”,执行表达式“f=m=x/y”后,则f、m的值分别为 A. 2、2.5 B. 3、2.5 C. 2.5、2.5 D. 2、2.0 d 2. 设int a=2,b=2;则++a+b的结果是___d___,a的结果是_____,b的结果是____。 A. 2 3 5 B. 3 2 5 C. 4 3 2 D. 5 3 2 3. 下列字符列中,可以作为“字符串常量”的是___b_____。 A. ABC B. ″xyz″ C. ′uvw′D. ′a′ 4. 设有变量说明:int a=3,b=4,c=5下列表 达式中,值为0的表达式是 d A. ?a‘&&?b B. a<=b C. a || b+c && b-c D. !(a 5. 设int m=l,n=2;则m++==n的结果_a__。 A. 0 B. 1C. 2D. 3 6.表达式18/4*sqrt(4.0)/5值的数据类型是_c_ A. int B. float C. double D. 不确定 7. 设有语句“int k=7,x=12;”,则能使值为3的表达式是__d____ A. x%=(k%=5) B. x%=(k–k%5) C. x%=k–k/5 D. (x%=k)–(k%=5) 8. 设int m=l,n=2;则++m==n的结果是__b______。 A. 0 B. 1 C. 2 D. 3 9. 在C++语言中,自定义的标识符_______d_____。 A. 能使用关键字并且不区分大小写 B. 不能使用关键字并且不区分大小写 C. 能使用关键字并且区分大小写 D. 不能使用关键字并且区分大小写 10. 设有说明“int a=15,b=17,c;”,执行表达式“c=a||(b+=b)”后,则a、b、c的值分别是 a A. 15、17、1 B. 1、34、35 C. 15、34、1 D. 15、17、15 11. 在ios中提供控制格式的标志位中,__a__是转换为十六进制形式的标志位。 A. hex B. oct C. dec D. 1eft 12. 若有执行语句char str[7];cin>>str;当输入为:ObjectWindowsPrograrmming!所得的结果是str=___b_____ A. Object Windows Programming! B. Object C. Object Windows D. Object Windows Programming 13. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果分别是___b____. #include if(x++>5) cout< A. 6和3 B. 7和5 C. 7和4 D. 6和4 14. C++中cin是______d______。 A. 一个标准的语句 B. 预定义的类 C. 预定义的函数 D. 预定义的对象 15. 使用如setw()的操作对数据进行格式输出时,应包含___c_____文件 A. iostream.h B. fstream.h C. iomanip.h D. stdlib.h 16. 设有两个语句“int x['a'];cin>>x;”,则编译器认为___c____ A. 说明语句“int x['a'];”错 B. 两个语句都错 C. 语句“cin>>x;”错 D. 两个语句正确,没有语法错 17. 控制格式I/O的操作中,__d___是设置域宽的。 A. ws B. oct C. setfill() D. setw() 18. 下列关于开关语句的描述中,__a_____是正确的. A. 开关语句中default子句可以没有,也可以有一个 B. 开关语句中每个语句序列中必须有break语句 C. 开关语句中default子句只能放在最后 D. 开关语句中case子句后面的表达式可以是整型表达式 19. C++语言中while和do-while循环的主要区别是____a____. A. do-while的循环体至少无条件执行一次 B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 20.下列DO-While循环的次数为___d_____. int i=5; Do { cout< }while(i!=0); A. 0 B. 1 C. 5 D. 无限 21. 下述关于break语句的描述中,____c___是不正确的 A. break语句可用于循环体内,它将退出该重循环 B. break语句可用于开关语句中,它将退出开关语句 C. break语句可用于if体内,它将退出if语句 D. break语句在一个循环体内可以出现多次 22. int x=0,s=0; while(!x!=0) s+=++x; cout< 则_____b______。 A. 运行程序段后输出0 B. 运行程序段后输出1 C. 程序段中的控制表达式是非法的 D. 程序段执行无限次 23. 设e1和e3是表达式,与语句for(e1;;e3)s;等同的语句是______d______。 A. for(e1;e1;e3) s;B. for(e1;e3;e3) s;C. for(e1;0;e3) s;D. for(e1;1;e3) s; 24. 执行下列程序,输入为1的输出结果是____a_____。 #include {case 1:cout< case 3:cout< } A. 1 B. 2 C. 2 3 4 5 D. 1 2 3 4 25. 循环语句for(<表达式1>;<表达式2>;<表达式3>)<语句>中,<语句>的执行情况是__c____. A. 至少执行一次 B. 至少执行两次 C. 可能执行,也可能不执行 D. 不执行 26. 选择出合法的if语句(设有int x,y;),正确输出x与y的大小关系___b_____。 A. if(x!=y) if(x>y) cout<<\; else cout<<\ B. if(x!=y) if(x>y) cout<<\ else cout<<\else cout<<\ C. if(x!=y) if(x>y) cout<<\else cout<<\cout<<\ D. if(x!=y); if(x>y)cout<<\ else cout<<\ else cout<<\ 27. 下面程序的运行结果是___a____ #include int i=0; while(++i) { if(i==10) break; if(i%3!=1) continue; cout<< i; } } A. 1 4 7 B. 1 1 1 C. 3 3 3 D. 2 4 6 28. 以下程序输出的结果是a=___a____,b=_______ #include { for(int a=1,b=1; a<=5; a++) { if (b>=8) break; if(b%2==1){b+=7; continue;} b-=3; } cout<<\ } A. 2 8 B. 1 7 C. 8 2 D. 7 1 29. int x=-1; do {x=x*x;} while(!x); 下列说法正确的是_____c______。 A. 是死循环 B. 循环执行两次 C. 循环执行一次 D. 有语法错误 30. 下面程序段____d_______。 for(t=1;t<=100;t++) {cin>>x; if(x<0)continue;
共分享92篇相关文档