完整版C++复习题全部答案.docx

上传人:b****5 文档编号:8357860 上传时间:2023-01-30 格式:DOCX 页数:41 大小:35.23KB
下载 相关 举报
完整版C++复习题全部答案.docx_第1页
第1页 / 共41页
完整版C++复习题全部答案.docx_第2页
第2页 / 共41页
完整版C++复习题全部答案.docx_第3页
第3页 / 共41页
完整版C++复习题全部答案.docx_第4页
第4页 / 共41页
完整版C++复习题全部答案.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

完整版C++复习题全部答案.docx

《完整版C++复习题全部答案.docx》由会员分享,可在线阅读,更多相关《完整版C++复习题全部答案.docx(41页珍藏版)》请在冰豆网上搜索。

完整版C++复习题全部答案.docx

完整版C++复习题全部答案

一、C++基础、变量、常量部分试题:

(一)单选题

8.

由C++语言编写的代码程序()

A.可直接执行(.exe才可以直接执行)B.是一个源程序

C.经过编译即可执行(经过编译链接才可以执行)D.经过编译解释才能执行

9.

按照C++语言规定的用户标识符命名规则,不能出现在标识符中的是()

A.大写字母B.中划线C.数字字符D.下划线

10.

下列选项中,不能用作标识符的是()

A._1234_B._1_2C.int_2_D.2_int

11.

以下选项中合法的用户标识符是()

A.long(关键字)B._2TestC.3DmaxD.A.dat

12.

以下不能定义为用户标识符的是()

A.MainB._0C._intD.sizeof(运算符)

13.

列定义变量的语句错误的是()

A.int_int;B.doubleint_;C.charFor;D.floatUSA;

14.

在C++语言中,非法的字符常量是()

A.‘\t’B.‘\017’C."\n"D.‘\xaa’

29.

以下程序的输出结果是()

voidmain()

{

intk=11;

cout<

cout<

cout<

}

A.k=11,k=12,k=11B.k=11,k=13,k=13

C.k=11,k=013,k=0xbD.k=11,k=13,k=b

41.

不属于C++语言关键字的是()。

A.intB.breakC.whileD.character

42.

是C++语言提供的合法关键字的是()。

A.FloatB.signedC.integerD.Char

43.

下列说法中,错误的是()。

A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号

B.每个函数都有一个函数头和一个函数体,主函数也不例外

C.主函数只能调用用户函数或系统函数,用户函数可以相互调用

D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数

(二)填空题

1.一个C++源程序至少有并且只能有一个main(主)函数。

2.以下程序运行后的输出结果是1012a。

#include

#include

intmain()

{

inta=10;

cout<

return0;

}

3.以下程序运行后的输出结果是(252137)。

voidmain()

{

inta,b,c;

a=25;b=025;c=0x25;

cout<

}

4.以下程序运行后的输出结果是21。

voidmain()

{inta=1,b=2;

a=a+b;b=a-b;a=a-b;

cout<

}

5.结构化设计中的三种基本结构是__顺序结构__、__选择结构__、__循环结构__。

6.C++语言源程序文件的后缀是___.cpp___,经过编译后生成文件的后缀是__.obj__,经过链接后生成文件的后缀是__.exe__。

7.一个函数由两部分组成,它们是__函数首部__、__函数体__。

8.若x和y均为int型变量,则以下语句的功能是__交换变量x,y的值__。

x+=y;y=x-y;x-=y;

二、运算符部分试题:

(一)单选题

1.

以下程序的输出结果是()

voidmain()

{

inta=1,b=2,c=3,d=4;

cout<<(a

a:

c

a:

d)<

}

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

15.

下列运算符中优先级最高的运算符是()

A.<=B.=C.%D.&&

16.

以下程序的输出结果是()

main()

{

inta=3,b=4;

cout<<(a<=b)<

}

A.3B.4C.1D.0

17.

在C++语言中,以下非法的表达式是()

A.x++B.i=j==0C.(char)(65+3)D.x+1=x+1

18.

在C++语言中,以下非法的赋值语句是()

A.j++;B.++(i+1);C.x=j>0;D.k=i==j;

19.

表达式3.6-5/2+1.2+5%2的值是()

A.4.3B.4.8C.3.3D.3.8

20.

设有语句:

inta=3;则执行了语句a+=a-=a*a;变量a的值是()

A.3B.0C.9D.-12

21.

设有语句:

intx=10;则执行了语句x+=x-=x-x;变量x的值是()

A.10B.20C.40D.30

22.

以下程序的输出结果是()

voidmain()

{

inti=10,j=1;

cout<

}

A.9,2B.10,2C.9,1D.10,1

23.

以下程序的输出结果是()

voidmain()

{

intx=100,y=200;

cout<<(x,y)<

}

A.200B.100

C.100200D.200100

24.

以下程序的输出结果是()

voidmain()

{

intx=10,y=3,z;

cout<<(z=(x%y,x/y))<

}

A.1B.0C.4D.3

25.

intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()

A.k++B.k+=1C.++kD.k+1

26.

以下程序的输出结果是()

voidmain()

{

intx,y,z;

x=y=1;

z=x++,y++,++y;

cout<

}

A.2,3,3B.2,3,2C.2,3,1D.2,2,1

27.

设x、y、t均为int型变量,执行了以下程序后,变量y的值为()。

voidmain()

{

intx,y,t;

x=y=3;

t=++x||++y;

cout<

}

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

28.

设intx=-1;执行表达式++x||++x||++x||++x,x的值是()

A.0B.1C.2D.4

45.

逻辑运算符两侧运算对象的数据类型()。

A.只能是0或1

B.只能是0或非0正数

C.只能是整型或字符型数据

D.可以是任何类型的数据

46.

以下关于运算符优先顺序的描述中正确的是()。

A.关系运算符<算术运算符<赋值运算符<逻辑与运算符

B.逻辑与运算符<关系运算符<算术运算符<赋值运算符

C.赋值运算符<逻辑与运算符<关系运算符<算术运算符

D.算术运算符<关系运算符<赋值运算符<逻辑与运算符

48.

判断char型变量s是否为小写字母的正确表达式是()。

A.’a’<=s<=’z’B.(s>=’a’)&(s<=’z’)

C.(s>=’a’)&&(s<=’z’)D.(’a’<=s)and(’z’>=s)

49.

若希望当x的值为奇数时,表达式的值为“真”,x的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是()。

A.x%2==1B.!

(x%2==0)

C.!

(x%2)D.x%2

50.

已知x=45,y=’a’,z=0;则表达式(x>=z&&y<’z’||!

y)的值是()。

A.0B.语法错

C.1D.“假”

51.

执行以下语句后,y的值为()。

intx,y,z;

x=y=z=0;

++x||++y&&++z;

A.0B.1C.2D.不确定值

55.

则执行下面语句后的w值是()。

voidmain()

{inta=1,b=2,c=3,d=4,w;

w=(a

a:

b;

w=(w

w:

c;

w=(w

w:

d;

cout<

}

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

(二)填空题:

1.以下程序运行后的输出结果是2007。

main()

{

intx=2006,y=2007;

cout<<(x,y);

}

2.以下程序运行后的输出结果是D。

voidmain()

{

charch='B';

ch+=2;

cout<

}

3.以下程序运行后的输出结果是98。

voidmain()

{

intc;

charch=97;

c=ch+1;

cout<

}

4.以下程序运行后的输出结果是123.46。

#include

intmain()

{

floatx=123.4567f;

cout<<(int)(x*100+0.5)/100.0<

return0;

}

5.以下程序运行后的输出结果是14。

#include

voidmain()

{

inta=10;

a=(3*5,a+4);

cout<

}

6.以下程序运行后的输出结果是-10-10-7。

#include

voidmain()

{

inta=0,b=0,c=0;

c=(a+=a-=5),(a=b,b+3);

cout<

}

7.以下程序运行后的输出结果是0。

#include

voidmain()

{

inta=5,b=4,c=3,x;

x=a>b>c;

cout<

}

8.以下程序运行后的输出结果是30。

#include

voidmain()

{

inta=3,b=2;

b=a<0&&a++>3;

cout<

}

9.以下程序运行后的输出结果是1。

#include

voidmain()

{

intx,a=1,b=2,c=3,d=4;

x=(a

a:

b;x=(x

x:

c;

cout<

}

10.设intx=9,y=8;表达式x==y+1的结果是____1____。

11.定义intx,y;执行y=(x=1,++x,x+2);后,y的值是____4____。

12.定义intx=10,y,z;执行y=z=x;x=y==z;后,x的结果是____1____。

三、流程控制语句部分试题:

(一)单选题

2.

voidmain()

{

  inti;

for(i=0;i<3;i++)

{

switch(i)

{

case0:

cout<

case1:

cout<

default:

cout<

}

}

}

程序执行后的输出结果是()

A.000112B.012C.012020D.120

7.

以下程序运行后的输出结果是4599。

#include

voidmain()

{

inta=3,b=4,c=5,t=99;

if(b

if(a

cout<

}

30.以下程序段的输出结果是()

voidmain()

{

intx=5;

if(x++>5)

cout<

else

cout<

}

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

31.有以下程序:

voidmain()

{

intn=4;

while(n--)

cout<<--n;

}

程序执行后的输出结果是()

A.20B.31C.321D.210

32.有以下程序

voidmain()

{

inty=10;

while(y--);

cout<

}

程序执行后的输出结果是()

A.y=0B.y=-1

C.y=1D.while构成无限循环

44.

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

A.缩排位置相同的if

B.在其之前未配对的if

C.在其之前未配对的最近的if

D.同一行上的if

47.选择出合法的if语句(设intx,a,b,c;)()。

A.if(a=b)c++;

B.if(a=

C.if(a<>b)c++;

D.if(a=>b)c++;

52.已知inta=1,b=2,c=3;以下语句执行后a,b,c的值是()。

if(a>b)

c=a;a=b;b=c;

A.a=1,b=2,c=3B.a=2,b=3,c=3

C.a=2,b=3,c=1D.a=2,b=3,c=2

53.请阅读以下程序:

该程序()。

voidmain()

{intx=-10,y=5,z=0;

if(x=y+z)cout<<"***\n";

elsecout<<"$$$\n";

}

A.有语法错不能通过编译

B.可以通过编译但不能通过连接

C.输出***

D.输出$$$

54.执行完下面一段程序后x的值是()。

voidmain()

{

inta=1,b=2,c=4,d=3,x;

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=4;

elsex=5;

cout<

}

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

56.以下switch语句结构哪一个是正确的?

()

A.

voidmain()

{

inta=1,b=0,c1,c2,x,y;

switch(a+b);

{

case1:

y=a+b;break;

case0:

y=a-b;break;

}

}

B.

voidmain()

{

inta=1,b=0,c1,c2,x,y;

switcha()

{

casec1:

y=a-b;break;

casec2:

x=a*b;break;

default:

x=a+b;

}

}

C.

voidmain()

{

inta=1,b=0,c1,c2,x,y;

switch(a*a+b*b)

{

case3:

case1:

y=a+b;break;

case3:

y=b-a;break;

}

}

D.

voidmain()

{

inta=1,b=0,c1,c2,x,y;

switch(a*a+b*b)

{

default:

y=a*b;break;

case3:

x=a+b;break;

case10:

case11:

y=a-b;break;

}

}

57.假定等级和分数有以下对应关系:

等级:

A分数:

85——100

等级:

B分数:

60——84

等级:

C分数:

60以下

对于等级grade输出相应的分数区间,能够完成该功能的程序段是()。

A.

voidmain()

{

chargrade;

cin>>grade;

switch(grade)

{

case'A':

cout<<"85--100\n";

case'B':

cout<<"60--84\n";

case'C':

cout<<"<60\n";

default:

cout<<"gradeiserror!

\n";

}

}

B.

voidmain()

{

chargrade;

cin>>grade;

switch(grade)

{

case'A':

cout<<"85--100\n";

break;

case'B':

cout<<"60--84\n";

case'C':

cout<<"<60\n";

default:

cout<<"gradeiserror!

\n";

}

}

C.

voidmain()

{

chargrade;

cin>>grade;

switch(grade)

{

case'A':

cout<<"85--100\n";

break;

case'B':

cout<<"60--84\n";

break;

case'C':

cout<<"<60\n";

default:

cout<<"gradeiserror!

\n";

}

}

D.

voidmain()

{

chargrade;

cin>>grade;

switch(grade)

{

case'A':

cout<<"85--100\n";

break;

case'B':

cout<<"60--84\n";

break;

default:

cout<<"gradeiserror!

\n";

break;

case'C':

cout<<"<60\n";

}

}

58.

当执行以下程序段时,程序将()。

voidmain()

{

intx=-1;

do

{x=x*x;}

while(!

x);

}

A.循环体将执行一次      B.循环体将执行两次

C.循环体将执行无数多次    D.系统将提示有语法错误

59.

若i,j已定义为int类型,则以下程序段中内循环的总的执行次数是()。

for(i=5;i;i--)

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

{…}

A.20B.24C.25D.30

60.

有以下语句:

i=1;

for(;i<=100;i++)sum+=i;

与以上语句序列不等价的有()。

A.for(i=1;;i++){sum+=i;if(i==100)break;}

B.for(i=1;i<=100;){sum+=i;i++;}

C.i=1;for(;i<=100;)sum+=i;

D.i=1;for(;;){sum+=i;if(i==100)break;i++;}

61.

标有/**/的语句的执行次数是()。

inty,i;

for(i=0;i<20;i++)

{if(i%2==0)continue;

y+=i;/**/

}

A.20B.19C.10D.9

(二)填空题:

2.#include0

voidmain()

{

inti,t=0;

for(i=5;i>=0;i--)

t*=i;

cout<

}

3.

写成下列程序的输出结果:

#include

voidmain()

{

inti=1;

while(i<=15)

if(++i%3!

=2)continue;

elsecout<

cout<

}2581114

4.输入a,输出结果是verygood

输入c,输出结果是pass。

#include

voidmain()

{

charn;

cin>>n;

switch(n)

{case'a':

case'A':

cout<<"verygood\n";break;

case'b':

case'B':

cout<<"good\n";break;

case'c':

case'C':

case'd':

case'D':

cout<<"pass\n";break;

case'e':

case'E':

cout<<"warning\n";break;

default:

cout<<"error\n";

}

}

5.以下程序的功能是计算:

1-2+3-4……+99-100

voidmain()

{inti=1,j=1,s=0;

while(i<=100)

{s+=i*j;

i++;

j=-j;}

cout<

}

6.若从键盘输入58,则输出结果是_585858_______。

#include

voidmain()

{

inta;

cin>>a;

if(a>50)cout<

if(a>40)cout<

if(a>30)cout<

}

}

7.下面程序根据以下函数关系,对输入的每个x值,计算出y值。

请在【】内填空。

X

y

2

x(x+2)

-1

1/x

x<=-1

x-1

voidmain()

{

intx,y;

cin>>x;

if(【1】(x>2)&&(x<=10))y=x*(x+2);

elseif(【2】((x>-1)&&(x<=2

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1