C++基础+编程题复习 下载本文

内容发布更新时间 : 2024/12/22 20:31:49星期一 下面是文章的全部内容请认真阅读。

2. 以下程序输出结果的第一行是___12345________,第二行是_____7_______。 #include int k;

void main(void) { k=5;

for(int i=0;i<5;i++){ int k;k=i+1; cout<

cout<<'\\n'<

3. 下面程序的功能是___输出用数组表示的矩阵与转置矩阵_____ void main() {

int a[2][3]={{1,2,3},{4,5,6}}; int b[3][2],I,j;

cout<<\for(I=0;I<=1;I++) {

for(j=0;j<=2;j++) {

cout<

cout<<'\\n'; }

cout<<\for(I=0;I<=2;I++) {

for(j=0;j<=1;j++) cout<

4. 执行以下程序,输入-10的结果是___y=0_____,输入5的结果是__y=5______,输入10的结果是___y=10_____,输入30的结果是_____y=5___ 。 #include void main() {int x,c; float y; cin>>x; if(x<0) c=-1; else c=x/10; switch (c)

{case -1: y=0;break; case 0: y=x;break; case 1: y=10;break; case 2:

case 3: y=-0.5*x+20;break; default:y=-2; }

if(y!=-2) cout<<\ else cout<<\ }

10化工vc练习一 总分:33分 -1.单项选择题

1. 实型变量x的取值范围为闭区间[–2,10]或开区间(15,34),则正确表示x取值范围的逻辑表达式是__b___ A. –2<=x<=10||15

C. –2<=x<=10&&15

2. 设有定义int a;float f;double i;则表达式10+'a'+i*f值的数据类型是____c____。 A. int B. float C. double D. 不确定 3. 设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 4.设int m=l,n=2;则++m==n的结果是_b__。 A. 0 B. 1 C. 2 D. 3

5. 系统约定C++源程序文件名的缺省的扩展名为___a___。

A. cpp B. c++ C. bcc D. vcc 6. 设有说明―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

7. 设有变量说明:int a=3,b=4,c=5下列表达式中,值为0的表达式是 d

A. ?a‘&&?b B. a<=b C. a || b+c

&& b-c D. !(a

8. 采用函数重载的目的在于____d____。 A. 实现共享 B. 减少空间 C. 提高速度 D. 使用方便,提高可读性

9.设有语句―for(int i=5,sum=0;++sum,i<5;i++)sum+=i;‖,则for()语句的执行情况是_a_。

A. 循环0次 B. 循环4次 C. 循环5次 D. 循环6次

10.设有宏定义―#define f(x)(-x)*2 ‖,执行语句‖cout<

11. 以下四组函数原型说明中,满足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);

12. C++语言中规定函数的返回值的类型是由____d____。

A. return语句中的表达式类型所决定 B. 调用该函数时的主调用函数类型所决定

C. 调用该函数时系统临时决定 D. 在定义该函数时所指定的函数类型所决定 13. 若有以下函数调用语句:fun(fun(n+k,d,(a,b)),a+(x,y));在此函数调用语句中实参的个数是___a____。 A. 2 B. 3 C. 4 D. 5

14.设有说明语句―int A[4][3]={{1,2},{3,4,5},{6,7,8},{9,10}};‖,则A[0][2]和A[2][2]的初始化值分别为__d___。 A. 0、7 B. 3、8 C. 3、7 D. 0、8

15. 数组作为函数的形参时,把数组名作为实参,传递给函数的是_______a_____。 A. 该数组的首地址 B. 该数组的元素个数 C. 该数组中的各元素值 D. 该数组的大小

16. 设有以下语句序列: int x; cin>>x;

float z,y[x]={1,2,3,4,5,6,7,8}; // A z=y[3]; //B

则以下说法中正确的是_____d___。 A. z的值为4 B. z的值为3 C. B行语句错 D. A行语句错

17. 对于以下递归函数f,调用f(4),其返回值为_______d_____。 int f(int n) {

if(n) return f(n-1)+n ; else return n; }

A. 10 B. 4 C. 0 D. 以上均不是 18. 在下面的函数原型声明中,存在着语法错误的是____d______。

A. void BC(int a,int); B. void BD(int ,int); C. void BE(int ,int=5); D. int BF(int x;int y);

19. 如果一个函数无返回值,定义它时函数类型应是________c_______。

A. 任意 B. int C. void D. 无 20. 下面程序段的运行结果是____a_______。 #include void main( ) {

int I,j,a=0;

for(I=0;I<2;I++) {

for(j=0;j<4;j++) {

if(j%2) break; a++; } a++; }

cout<

A. 4 B. 5 C. 6 D. 7

21. 下面程序段的运行结果是_____b______。 #include main( ) {

int i,j,x=0;

for(I=0;I<2;I++) {

x++;

for(j=0;j<=3;j++) {

if(j%2) continue; x++; } x++; }

cout<<―x=‖<

} A. x=4 B. x=8 C. x=6 D. x=12 22. 下面程序段______d_____。 for(t=1;t<=100;t++) {cin>>x;

if(x<0)continue; cout<

A. 当x<0时整个循环结束 B. x>=0时什么也不输出 C. cout永远也不执行 D. 最多允许输出100个非负整数

23. 设有定义int a=5,b;执行下列代码后,b的值不为2的是___c_________。

A. b = a/2 B. b = 6-(--a) C. b = a%2 D. b = a < 3 ? 3: 2

24. 设变量m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是______c______。

A. 0,0 B. 0,1 C. 1,0 D. 1,1 25. break语句只能用在___d____

A. 开关语句中 B. 函数体中允许语句出现的任一位置

C. 循环语句中 D. 开关语句或循环语句中

26.下列for循环的循环体执行次数为__d__. For(int i=0,j=10;i=j=10;i++,j--)

A. 0 B. 1 C. 10 D. 无限

27.下列DO-While循环的次数为____d____. int i=5; Do

{ cout<

}while(i!=0);

A. 0 B. 1 C. 5 D. 无限

28. 在循环语句的循环体中使用break语句的作用是___b_____。

A. 结束本次循环 B. 结束该层的循环 C. 结束开关语句 D. 结束程序执行

29. 执行以下程序段时,输出____a____。 int s1=0,s2=0,s3=0,s4=0; for(int t=1; t<=4; t++ ) switch(t) {

case t>= 4 : s1++ ; break ; case t>= 3 : s2++ ; break ; case t>= 2 : s3++ ; default: s4 ++ ;

cout< void main() { int x; cin>>x;

if(x++>5) cout<

A.6和3 B.7和5 C. 7和4 D. 6和4 31. 设有两个语句―int x['a'];cin>>x;‖,则编译器认为____c___

A. 说明语句―int x['a'];‖错 B. 两个语句都错 C. 语句―cin>>x;‖错 D. 两个语句正确,没有语法错 32. 定义如下变量和数组:

int k; int a[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是____a____ for(k=0;k<3;k++) cout<

A. 3 5 7 B. 3 6 9 C. 1 5 9 D. 1 4 7 33. 若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是___b____

A. 2 B. 3 C. 4 D. 无确定值 11vc第一至三章 总分:80分 -1.单项选择题

1. 实型变量x的取值范围为闭区间[–2,10]或开区间(15,34),则正确表示x取值范围的逻辑表达式是__b___

A. –2<=x<=10||15

C. –2<=x<=10&&15

2.表达式18/4*sqrt(4.0)/5值的数据类型是_c_

A.intB. float C. double D. 不确定 3.设char ch;以下正确的赋值语句是___b__ A. ch='123'; B. ch='\\xff'; C. ch='\\08' D. ch='\\'

4. 如果a=1,b=2,c=3,d=4,则条件表达式a

5. 设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 6. 设int x=2,y=3,z=4;则下面的表达式中值不为1的表达式是____b____。

A. 'x'&&'z' B. (!y==1)&&(!z==0) C. (x

7. 系统约定C++源程序文件名的缺省的扩展名为___a___。

A. cpp B. c++ C. bcc D. vcc

8. 采用函数重载的目的在于___d_____。 A. 实现共享 B. 减少空间 C. 提高速度 D. 使用方便,提高可读性 9.设有代码“int a=5;”,则执行了语句“a+=a-=a*a;”后,变量a的值是____d___。 A. 3 B. 0 C. -40 D. –12

10.在C++语言中,自定义的标识符___b__。 A. 能使用关键字并且不区分大小写 B. 不能使用关键字并且不区分大小写

C. 能使用关键字并且区分大小写 D. 不能使用关键字并且区分大小写

11.下列字符列中,可以作为“字符串常量”的是___b___。

A. ABC B. ″xyz″ C. ′uvw′ D. ′a′

12. 运算符+、<=、=、%中,优先级最低的运算符是_____c_______。 A. + B. <= C. = D. % 13. 在C++语言中,080是______d______。 A. 八进制数 B. 十进制数 C. 十六进制数 D. 非法数

14. 下列数据类型不是C++语言基本数据类型的是______d______。

A. 字符型 B. 整型 C. 实型 D. 数组 15. 若有执行语句char str[7];cin>>str;当输入为:ObjectWindowsPrograrmming!所得的结果是str=____b____

A. Object Windows Programming! B. Object C. Object Windows

D. Object Windows Programming

16. 使用如setw()的操作对数据进行格式输出时,应包含___c_____文件

A. iostream.h B. fstream.h C. iomanip.h D. stdlib.h

17. C++中cin是_____d_______。

A. 一个标准的语句 B. 预定义的类 C. 预定义的函数 D. 预定义的对象

18. 设有两个语句“int x['a'];cin>>x;”,则编译器认为____c___

A. 说明语句“int x['a'];”错 B. 两个语句都错 C. 语句“cin>>x;”错 D. 两个语句正确,没有语法错 19.下面程序段的运行结果是__a__。 #include void main( ) {

int I,j,a=0;

for(I=0;I<2;I++) {

for(j=0;j<4;j++) {

if(j%2) break; a++; } a++; }

cout<

} A. 4 B. 5 C. 6 D. 7

20. 下面程序的运行结果是______b_____。 #include void main() {

int a,b;

for(a=1,b=1;a<=100;a++) {

if(b>=20)break; if(b%3==1)

{b+=3;continue;}

b-=5; }

cout<

} A. 7 B. 8 C. 9 D. 10

21. 以下能正确计算1*2*3*?*10的程序段是_____c______。

A. do {i=1;s=1; s=s*i; i++;} while(i<=10); B. do {i=1;s=0; s=s*i;i++;} while(i<=10);

C. i=1;s=1; do {s=s*i; i++;} while(i<=10); D. i=1;s=0; do{s=s*i; i++;}

while(i<=10);

22. 带参数的宏定义中,程序中引用宏定义的实参___a____

A. 只能是常量 B. 任何标识符 C. 任意表达式 D. 被定义的宏名

23. 预处理命令在程序中都是以__b_____开头的。

A. * B. # C. : D. /

24. 下列关于开关语句的描述中,____a___是正确的.

A. 开关语句中default子句可以没有,也可以有一个

B. 开关语句中每个语句序列中必须有break语句

C. 开关语句中default子句只能放在最后 D. 开关语句中case子句后面的表达式可以是整型表达式

25. 执行以下程序段时,输出___a_____。 int s1=0,s2=0,s3=0,s4=0; for(int t=1; t<=4; t++ ) switch(t) {

case t>= 4 : s1++ ; break ; case t>= 3 : s2++ ; break ; case t>= 2 : s3++ ; default: s4 ++ ;

cout<

A. 语法错,编译不通过 B. 1,1,1,2 C. 1,2,3,2 D. 1,1,2,2

26. 为了避免嵌套的if-else语句的二义性,C++语言规定else总是与___c___组成配对关系。

A. 缩排位置相同的if B. 在其之前未配对的if C. 在其之前未配对的最近的if D. 同一行上的if

27.执行下列程序,输入为1的输出结果是_d__。

#include void main() {int k; cin>>k; switch(k)

{case 1:cout<

case 4:cout<

cout<

} A. 1 B. 2 C. 2 3 4 5 D. 1 2 3 4

28. C++语言中while和do-while循环的主要区别是___a_____.

A.do-while的循环体至少无条件执行一次 B. while的循环控制条件比do-while的循环控制条件严格

C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 29. 与以下程序段等价的是____a____。 while(a)

{ if(b) continue; c; }

A. while(a) {if(!b)c;} B. while(c) {if(!b) break; c; }