C++上总练习题附答案Word下载.docx
《C++上总练习题附答案Word下载.docx》由会员分享,可在线阅读,更多相关《C++上总练习题附答案Word下载.docx(43页珍藏版)》请在冰豆网上搜索。
15.在32位系统中求表达式s=10!
的值时,变量s的类型应当是。
AintBunsignedClongD以上三种都可以
16.下面的常量表示有一个是不正确的,不正确的是。
A-0B0x203C’\55’D’103’
17.浮点型变量f当前存储的值是17.8,经(int)f类型强制后f存储的值是。
A17B18C不变D不可确定
18.如果有下列变理定义:
charc=97;
则cout<
c;
的输出是
AaB97
C定义非法D赋初值非法
19.数学式
A.exp(x)+exp(-x)/(a+b)B.(exp(x)+exp(-x))/a+b
C.(exp(x)+exp(-x))/(a+b)D.(e^x+e^(-x))/(a+b)
20.在while(!
a)中,其中!
a与表达式等价
A.a==0B.a==1C.a!
=1D.a!
=0
21.设有说明:
inta,b;
b=(a=3*5,a*4),a+15;
之后,b的值为。
A.15B.30C.60D.90
22.下列表达式中,错误的是。
A.4.0%2.0B.k+++jc.a+b>
c+d?
a:
bD.x*=y+25
23.下面的常量表示中不正确的是
A、‘0’B.0fdC.’\n’D..5e3
24.设有枚举类型定义:
enumd(up,down=3,left,right);
则枚举量right的值为
A.5B.4C.3D.2
25.如果整型量a,b,c的值分别为5、4、3,则语句if(a>
=b>
=c)c++;
执行后c的值是
A,语法错误B.4
C.2D.3有warnning,但if结果为假
26.设标识符ch,a都被定义为字符型变量,以下赋值语句不正确的是__
A.ch=a+’3’;
B.ch=’ch’+’a’;
C.ch=’c’+’h’;
D.ch+=ch-a
27.设有说明enumcolor{red,blue=100,yellow,black},括号中每个元素的实际值依次是__。
A.0,100,101,102B.100,101,102,103
C.0,1,2,3D.1,2,3,4
28.将变量a强制转换为具有b类型的数据,应表示为__。
A.(b)aB.a(b)C.b(a)D.(a)b
29.有整型变量x,y,其中y!
=0,下列与x等价
Ax/y*yBx%y*yCx/y*y+x%yD以上都不是
30.已知整型变量a和b的当前值分别为13和16.a&
b的值是
A.0B.1C.29D.3
31.设有定义enumcolor{red,yellow=3,blue=10,white,black};
则red的值是。
A2B15C1D0
32.C++将数据分为若干类型,定义数据类型实际给出了两方面的信息:
定义该类型数据。
A有效数字位数和数值表示范围
B占用多大存储空间和允许的运算
C数值和字符的不同表示以及适用范围
D适用范围和允许的运算
33.以下给出的标识符中可用作合法的变量名。
AgotoB$priceCsumD9kilo
34.设ima=l,b=2;
那么执行表达式a++&
++b;
后a和b的值分别是。
A1和2B2和2
C1和3D2和3
35.在32位系统中,定义变量并赋值shortintx=32767,则执行++X后X的值为。
A32767B32768C-lD-32768
36.设整型变量X的值是5,则表达式2<
X<
5的值是。
A不确定B1C0D表达式非法
37.a≠b且e≤d的c++表达式描述为。
Aa◇b,c<
=dBa!
=b&
c=<
d
Ca=!
b&
c<
=dDa!
=d
38.如果定义了字符变量ch,以下语句可以实现将键入的字符(包括空格、回车及间隔符)赋予ch。
Acin>
>
chBcin.get(ch)
Ccin>
get(ch)Dch=get()
39.设有变量定义imx=100,y=1,Z,若执行语句Z=y>
0?
++x;
--x,变量z的值为。
A99B100C10lD102
40.表示程序流程的三种基本结构是
A顺序、选择、循环B选择、循环、返回
C函数、语句、数组D主函数、子函数、变量
41.用#include命令包含的文件是
A目标文件B可执行文件C源程序文件D二进制文件
42.若有a=13,b=5,c=3则a%b*c的值为
A6B9C7.8D8
43.在C++中,能用作变量名的标识符为
AbreakBputsC-2*bD3-and
44.若有宏定义和变量说明如下:
#defineX1
#defineYX+1
#defineZY*X/2
inta;
a=Y;
则执行以下语句后输出的结果是:
cout<
Z<
--a;
A75B11C125D76
45.设x=2;
y=3;
表达式x=y==3运算后。
x=
A1B2C3D0
46.一个可执行C++程序的开始执行点是
A程序的第一条语句B包含文件的第一个函数
C名为voidmain的函数D程序中的第一个函数
47.浮点型变量f当前存储的值是17.8,经(int)f类型强制后f存储的值是。
A17B18C不变D不可确定
48.如果有下列变量定义:
的输出是
AaB97C定义非法D赋初值非法
49.若变量已正确定义并赋值,符合c++语言语法的表达式是。
A.a=a+7;
B.a=7+b+c,a++C.int(12.3%4)D.a=a+7=c+b
50.在C++语言中,int、float和longint这3种类型数据所占用的内存是。
A.均为4个字节B.由用户自己定义
C.由所用机器的机器字长决定的D.任意的
51.若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是。
A.a=b=c=d=100;
B.d++;
C.c+b;
D.d=(c=22)-(b++);
二、填空题
1.设a、b、c都是整型,则a=b=c=5时,则表达式a+=b+c++的结果是a=、
b=、c=。
2.数学表达式sin(30o)+x2cos(20o)的C++语言表达式是。
3.设有intx=1,y=1,z=1;
则执行++x||++y&
++z后,x=、y=、z=。
4.[程序]
voidmain()
{
inti=4,j=5,k=6;
i++&
++j||++k;
cout<
i<
j<
k;
}
程序的输出是。
5.[程序]
inta=13,b=16;
!
a<
’\t’<
(a&
b);
程序输出为。
6.[程序]
#include<
iostream.h>
#definePR(x,y,z)cout<
x<
y<
z<
’\n’
inti=0,j=0,k=0;
i=(9+6)%5>
=9%5+6%5;
’\n’;
++i||++j&
++k;
PR(i,j,k);
i+=j++;
i;
程序的第一次输出是。
程序的第二次输出是。
程序的最后一次输出是。
7.设整型变量x,y,z的值分别为10,3,7;
则表达式x>
10?
x+100:
x-10的值是
8.若整型变量w=1,x=2,y=3,z=4,则条件表达式w>
x?
w:
z>
y?
z:
x的值为
9.inta=5,b=6,c=1,x=2,y=3,z=4;
c=(a=c>
x)&
(b=y>
z);
问:
执行上述程序后,b的值是____,c的值是____。
10.程序
Voidmain()
{intx,y,z;
x=y=z=0;
(x++&
++y||z++)<
'
\n'
;
\t'
z;
}
程序第一行输出为
程序第二行输出为
11.程序
#include<
#definePR1(num)cout<
num;
’\t’
#definePR2(a,b)PR1(a);
PR1(b)
#definePRINT(c,d)cout<
voidmain()
{
intx=10,y=20,z=100;
PR1(x);
PR2(x,y);
PRINT(hex,z);
输出结果为
12、程序
{inti=4,j=5,k=6;
13、程序
#definePR(x,y,z)cout<
{inti=0,j=0,k=0;
程序的第一行输出是。
程序的第二行输出是。
程序的最后一行输出是。
14.
{
enumw{mon,tues,wednes=3};
wweek;
intk;
for(k=mon;
k<
=wednes;
k++){
switch(k){
case0:
week=mon;
break;
case1:
week=tues;
case2:
week=wednes;
break;
}
switch(week){
casemon:
(int)mon;
casetues:
(int)tues;
casewednes:
(int)wednes;
}
问题一:
枚举元素mon,tues,wednes的值依次是:
_____
问题二:
运行程序的输出结果是:
____
问题三:
程序运行结束时,变量k的值是:
___
第4章C++的流程控制语句
1.设整型变量x的当前值为3,执行以下循环语句后,输出的结果是。
do
cout<
(x-=2);
while(!
(--x))
A.0B.1-2C.30D.死循环,输出许多值
2.当前整型变量i的值是10,执行下列switch语句后i的值是。
switch(i)
case9:
i+=1;
case10:
i+=1;
case11:
defaule:
i+=1
3.对下面三条语句,正确的论断是。
(1)if(a)s;
elses2;
(2)if(a==0)s2;
elses1;
(3)if(a!
=0)s1;
A.三者相互等价B.三者相互不等价
C.只有
(2)和(3)等价D.以上三咱说法都不正确
4.下列关于break和switch语句的叙述中,正确的是。
A.break是switch语句的一个成分
B.在语句switch中可以根据需要使用或不使用break语句
C.在语句switch中必须使用break语句
D.上述结论中两个正确的
5.设有程序段
intx=10;
while(x=0)x=x-1;
则下面描述中正确的是
A.while循环执行10次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句只执行一次
6.退出一个循环语句(不终止函数的执行)的有效措施是:
A、用break语句B、用continue语句
C、用return语句D、用exit语句
7.设整型变量x的当前值为3,执行以下循环语句后,输出的结果为:
’\t’<
x-=2;
while(!
(--x));
A、0B、1-2C、30D、死循环,输出许多值
8.对下面三条语句,正确的论断是__。
(1)if(a)s1;
elses2;
(2)if(a==0)s2;
(3)if(a!
A、三者相互等价B、三者相互不等价
C、只有
(2)和(3)等价D、以上三咱说法都不正确
9.以下关于switch语句和break语句的描述中,只有是正确的。
A.在switch语句中必须使用break语句
B.break语句只能用于switch语句
C.在switch语句中,可以根据需要使用或不使用break语句
D.break语句是switch语句的一部分
10.C++语言中。
A.不能使用do-while语句构成的循环
B.do-whiIe语句构成的循环必须使用break语句才能退出
C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环
11.对于for(表达式1;
;
表达式3)可理解为。
A.for(表达式1;
0;
表达式3)
B.for(表达式1;
1;
C.for(表达式1;
表达式1;
D.for(表达式1;
表达式3;
二填空题
1.有整型变量a、b,则下列for循环中的输入语句最少可执行次,最多可执行
次
for(a=0,b=0;
b!
=30&
3;
a++)cin>
b;
2.设整型变量I初值是1,则语句while(I++<
5);
执行后I的值是。
3.下面程序的执行结果输出,
#definePR1(num)cou<
4.下面程序的执行中共输出个数,最后一个输出的数是
inty=9;
for(;
y>
0;
y--)
if(y%3==0)
--y<
’\t’;
5.下面程序的执行结果是。
intx=1,i=1;
for(;
50;
i++)
if(x>
10)break;
if(x%2)
x+=3;
continue;
x=1;
6.程序
unsignedi;
intcount=1;
i=~0;
while((i>
=1)!
=0)
count++;
“count=”<
count<
在16位系统中(注:
16位系统的整型数据只使用2个字节,32位系统使用4个字节)程序的结果是。
如果将(i>
=1)改为(i>
1)程序的结果是。
不作上述修改,而将unsignedi;
改为unsignedchari;
程序的输出结果是。
7.程序
inti=1;
while(i++<
5);
程序的输出是。
8.inta,b;
for(b=1,a=1;
b<
=50;
b++)
if(a>
=10)break;
if(a%2==1)
{a+=5;
continue;
a-=3;
问:
执行上述程序段后,a的值是,b的值是
9.#include<
intm,n,x,y;
cin>
x>
y;
m=1;
n=1;
if(x>
0)m=m+1;
y)n=n+m;
elseif(x==y)n=5;
elsen=2*m;
m<
n;
为了使输出的结果是n=4,x的输入值应满足条件与
10.
inta,b,c;
a=2,b=3,c=1;
if(a>
b)
if(a>
c)cout<
a;
elsecout<
”end”<
endl;
执行上述程序后输出____。
11.执行下列程序段后,变量n的值是:
intn=10;
switch(n)
{case9:
n-=1;
case10:
n+=1;
case11:
n--;
case12:
n++;
default:
++n;
三完善程序题
1.求f(X)=-x2/2!
+x4/4!
-x6/6+x8/8!
……,要求精度为十万分之一
math.h>
doublex,y,t;
intn=0;
“Inputx:
”
cin>
x
t=1;
;
while(fabs(t)>
1e-6)
n++;
y+=(t=);
“y(“<
”)=”<
2.程序功能:
在三个整数a,b和C中选出最大者,将该值输出。
voidmain(){
ima,b,c,max;
”请输入三个正数:
”;
a>
b>
c;
”a=:
”<
\t’<
"
b:
c="
endl;
if()max=a;
elseif()max=b;
else;
”最大数为:
max=”<
<
endi;
3.程序功能:
用数字0和9之间不同的数字构造所有可能的三位数(个位、十位和百位上的数字各不相同),并统计出共有多少种。
iostream.h>
inti,j,k,count=0;
for(i=1;
=;
for(j=0;
j++)
if()continue;
elsefor(k=0;
=9;
k++)
if(){
100*i+10*j+k<
’,’;
count++;
endl<
”Total=”<
4.完善一个程序,求满足以下条件的最大的n。
12+22+32+…+n2≤1000
#inc