C++基础+编程题复习

发布时间 : 星期日 文章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 int sbc(int a) { static k; a+=k++; return a; } void main() { cout< void main() { int x,y; for(x=1,y=1;y<=10;y++) { if(x>=10) break; if(x%2==1){ x+=5;continue;} x-=3; } cout<

if(j==0) i++; else i--; 后i的值为___11___ 。

36. break语句只能用在循环语句和_switch_

语句中。

37. 以下程序的执行结果是__x=10__。 { x=20; } 38. 如果一函数直接或间接地调用自身,这样的调用称为__递归调用__。 39. 以下程序的输出结果是s=__10__ ,k=___7__ 。

#include void main(void) {int j,k,s,m; for(k=1;k<7;k++){ s=1;m=k+2; for(j=k;j

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 int prime(int n) { int k;

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 int x=1;

void func(int); void main() { func(x);

cout<<\}

void func(int x) { x=3;}

47. 以下程序的执行结果是__25____ 。 #include int add(int a,int b); void main() { extern int x,y;

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 void main()

{ 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 void main() { int x; cin>>x;

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 main() {int k; cin>>k; switch(k)

{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 void main() {

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 void main(void)

{ 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;

联系合同范文客服:xxxxx#qq.com(#替换为@)