C++练习题1Word文件下载.docx
《C++练习题1Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++练习题1Word文件下载.docx(28页珍藏版)》请在冰豆网上搜索。
![C++练习题1Word文件下载.docx](https://file1.bdocx.com/fileroot1/2023-2/2/aaa2ca89-bda9-40b6-bd87-844612969a9a/aaa2ca89-bda9-40b6-bd87-844612969a9a1.gif)
a;
cout_________"
a="
__________a__________endl;
system("
pause"
);
return0;
}
三、编程题
编程序计算立方体的表面积和体积,设一个立方体的三条边分别为a,b,c,若从键盘输入这三条边长,就可以计算立方体的表面积和体积。
习题二
1.设char型占1字节,则unsignedchar所能表示的数据范围是___________。
A.0~255B.-128~127C.1~256D.-128~128
2.将小写字母n赋值给字符变量one_char,正确的操作是____________。
A.one_char='
\n'
B.one_char=“\n”C.one_char=110D.one_char='
N'
3.整型变量i定义后赋初值的结果是____________。
inti=2.8*6;
A.12B.16C.17D.18
4.下列四组整型常量中,错误的一组是__________。
A.xcdf0170xe123B.1600xffff0110L
C.0132768u06170x163D.0x48a02050x0-256
5.下列属于C++合法的字符常量是__________。
A.‘\97’B."
A"
C.'
\t'
D."
\0"
6.若整型变量x=2,则表达式x<
2的结果是_________。
A.2B.4C.6D.8
7.设inta=1,b=2;
,则表达式(a++)+b与a+++b的值分别为___________。
A.3,3B.3,4C.4,3D.4,4
8.在C++中,合法的长整型常量是__________。
A.0LB.4962710C.04312765D.0xa34b7fe
9.当用#defineX23.6f定义后,下列叙述正确的是__________。
A.X是实型常量B.X是实型变量C.X是一串字符D.语法错误
10.当用constintB=9;
定义后,下列叙述错误的是_________。
A.B是整型变量B.B是整型常量C.B不能在程序中再赋值D.B可以用作数组元素的下标
11.要求运算量必须是整型的运算符是____________。
A.+B./C.%D.-
12.在C++中,不同类型的数据混合运算时,先要转换成同一类型,然后进行计算。
设一表达式中含有int、short、unsigned和char类型的常量和变量。
这四种类型的转换顺序是__________。
A.short→unsigned→int→charB.char→int→short→unsigned
C.char→short→int→unsignedD.char→unsigned→short→int
13.a、b均为int型且b≠0,则表达式a/b*b+a%b的值为_________。
A.aB.bC.a被b除的整数部分D.a被b除商的整数部分
14.a、b均为int型且b≠0,则表达式a-a/b*b的值为_________。
A.0B.aC.a被b除的余数部分D.a被b除商的整数部分
15.下列表达式中,值为0的是__________。
A.3%5B.3/5.0C.3/5D.3<
5
16.下列语句中符合C++语法的语句是___________。
A.a=7+b+c=a+7B.a=7+b++=a+7C.a=7+b,b++,a+7D.a=7=b,c=a+7
17.若变量已正确定义且k的值是4,执行表达式j=k—后,j、k的值是__________。
A.j=4,k=4B.j=4,k=3C.j=3,k=4D.j=3,k=3
18.设intx=10,x+=3+x%(-3),则x=_____________。
A.14B.15C.11D.12
19.表达式(int)(3.0/2.0)的值是____________。
A.1.5B.1.0C.1D.0
20.设a为int型变量,则执行以下语句后,x的值为_____________。
a=10;
a+=a-=a-a;
A.10B.20C.40D.30
21.设变量t为int型,下列选项中,不正确的赋值语句是____________。
A.++tB.n1=(n2=(n3=0))C.k=i==1D.a=b+c=1
22.设floatm=4.0,n=4.0;
使m为10.0的表达式是_____________。
A.m-=n*2.5B.m/=n+9C.m*=n-6D.m+=n+2
23.C++语句中x*=y+2;
还可以写成_______________。
A.x=x*y+2B.x=2+y*xC.x=x*(y+2)D.x=y+2*x
24.若变量已正确定义,要将a和b中的数进行交换,则下列不正确的语句组是____________。
A.a=a+b;
b=a-b;
a=a-b;
B.t=a;
a=b;
b=t;
C.a=t;
t=b;
b=a;
D.t=b;
a=t;
25.设已定义intk=7,x=12;
,下列表达式中,计算结果为0的是_________________。
A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)
26.设inta=7,b=8;
,则cout<
(a+b,a)<
”,”<
(b,a+b)输出的是_____________。
A.7,15B.8,15C.15,7D.出错
27.下列表达式的值为false的是_______________。
A.1<
3&
&
5<
7B.!
(2>
4)C.3&
0&
1D.!
(5<
8)||(2<
8)
28.设inta=10,b=11,c=12;
,表达式(a+b)<
c&
b==c的值是__________________。
A.2B.0C.-2D.1
29.正确表示“大于10而小于20的数”的C++表达式是____________________。
A.10<
x<
20B.x>
10||x<
20C.x>
10&
20D.!
(x<
=10||x>
=20)
30.设inta=3;
,则表达式a<
1&
--a>
1的运算结果和a的值分别是______________。
A.0和2B.0和3C.1和2D.1和3
31.为表示关系x≥y≥z,应使用的C++表达式是____________。
A.(x>
=y)&
(y>
=z)B.(x>
=y)AND(y>
=z)C.x>
=y>
=zD.(x>
=z)
32.已知intx=43,y=0;
charch=’A’;
,则表达式(x>
=y&
ch<
’B’&
!
y)的值是__________。
A.0B.语法错C.1D.-1
33.为表示“a和b都大于0”,应使用的C++表达式是____________。
A.(a>
0)&
(b>
0)B.a&
bC.(a>
0)||(b>
0)D.(a>
0)|(b>
0)
34.当c的值不为0时,下列选项中能正确将c的值既赋给变量a又赋给变量b的是______________。
A.c=b=aB.(a=c)||(b=c)C.(a=c)&
(b=c)D.a=c=b
35.设a为整型变量,下列不能正确表达数学关系:
10<
15的C++表达式是___________。
15B.a==11||a==12||a==13||a==14C.a>
15D.!
(a<
=10)&
(a>
=15)
36.设a、b和c都是int型变量,且a=3,b=4,c=5;
,则以下表达式中,值为0的是____________。
A.a&
bB.a<
=bC.a||b+c&
b-cD.!
((a<
b)&
c||1)
37.下面的程序输出为_____________。
{
inta=-1,b=4,k;
k=(a++<
=0)&
(!
(b--<
=0));
cout<
k<
””<
b<
endl;
system(“pause”);
return0;
A.003B.012C.103D.112
38.整型变量x和y的值相等且为非0值,则以下选项中,结果为0的表达式是______________。
A.a||yB.a|yC.x&
yD.x^y
39.设inta=4,floatx=7.5,y=4.8;
,则表达式a+(int)((int)(x)+y)>
(int)(x-y)的值为________。
A.2B.4C.1D.3
40.设intb=2;
,表达式(b<
2)/(b>
1)的值是_____________。
A.0B.2C.4D.8
41.sizeof(double)是______________。
A.一种函数调用B.一个双精度表达式C.一个整型表达式D.一个不合法的表达式
42.若有以下定义和语句
intu=010,v=0x10,w=10;
u<
v<
w<
则输出结果是______________。
A.8,16,10B.10,10,10C.8,8,10D.8,10,10
1.无符号整型的类型关键字为_____________________,双精度实型的关键字为_____________,字符型的类型关键字为__________________。
2.在C++中,整数可用__________进制、_________进制和___________进制三种进位计数制表示。
3.字符串常量的结束符为_________________。
4.设有以下定义,并已赋确定的值
charch;
inti;
floatf;
doubled;
则表达式ch*i+d-f的数据类型为________________。
5.设有inta=14;
,则表达式(a++*1/5)的值为________________。
6.下列程序的输出结果是________________。
doubled=3.2;
inta=1.2,b;
b=(a+3.8)/5.0;
d*b<
7.下列程序执行后的输出结果是___________________________。
longl;
i=f=l=d=20.0/3;
i<
l<
f<
d<
8.若有以下程序段
inta=1,b=2,c;
c=1.0/b*a;
则执行后,变量c的值为_______________。
9.下列程序的输出结果是16,请将程序填完整。
inta=9,b=2;
floatx=____________,y=1.1,z;
z=a/2+b*x/y+1/2;
z<
10.下列程序的输出结果是___________________。
intx=1,y=2;
x+=y;
y=x-y;
x-=y;
”x=”<
”,y=”<
y<
11.设已定义inta=10,b=12;
则表达式(!
a||b--)的值是____________。
12.若a为int型变量,请以最简单的形式写出与逻辑表达式!
a等价的C++关系表达式____________________。
13.下面的程序运行后,输出结果为___________________。
iomanip>
intc=97;
c<
”,”;
oct<
hex<
三、程序改错题
1.下面程序的功能是将变量a和b的值交换,请找出其中的错误,并修改正确。
inta,b,t;
cin>
a>
b;
a=b;
b=a;
”a=”<
”,b=”<
2.下面的程序用来将八进制整数a的后6位存放到变量中。
请修改程序中的错误。
inta,b;
oct>
b=a!
077;
”,b=”<
四、编程题
1.编写程序计算边长为a(a的值从键盘输入)的正方形面积及其外接圆和内切圆的面积。
2.编写程序实现华氏温度f和摄氏温度c的转换,转换公式为:
。
具体要求:
从键盘输入华氏温度,通过计算输出摄氏温度
习题三
1.结构化程序设计使用的基本程序控制结构为__________。
A.模块结构、选择结构和递归结构B.条件结构、顺序结构和过程结构
C.顺序结构、选择结构和循环结构D.转换结构、嵌套结构和递归结构
2.设已定义整型变量a、b、c、x,下列程序段运行后x的值是_______________。
a=b=c=0,x=35;
if(!
a)
x--;
elseif(b);
if(c)
x=3;
else
x=4;
A.34B.4C.35D.3
3.若已定义intd;
charc=’D’;
,则执行的语句后,d的值是_______________。
switch(c)
case‘A’:
d=0;
break;
case‘B’:
case‘C’:
d=2;
case‘D’:
case‘E’:
d=4;
default:
d=5;
A.0B.2C.4D.5
4.若已定义inti;
,下面程序段的运行结果是__________。
for(i=1;
i++<
4;
A.3B.4C.5D.不定
5.若已定义inta=10;
,下列循环的输出结果是_______________。
while(a>
7)
{a--;
””;
A.1098B.987C.10987D.9876
6.若已定义intx=3;
,以下程序段的输出结果是_______________。
do
(x-=2)<
}while(!
(--x));
A.1B.30C.1-2D.死循环
7.以下关于do-while循环的叙述中,正确的是_______________。
A.do-while语句构成的循环只能用break语句退出
B.用do-while语句构成的循环,在while后的表达式为非0时结束循环
C.用do-while语句构成的循环,在while后的表达式为0时结束循环
D.do-while语句构成的循环不能用其他语句构成的循环来代替
8.以下关于编译预处理的叙述中,错误的是_______________。
A.C++源程序中凡是以“#”开始的控制行都是预处理命令行
B.预处理命令行必须位于源程序的开始位置
C.一条有效的预处理命令行必须独占一行
D.预处理命令是在正式编译前被处理的
9.编译预处理命令以_____________结尾。
A.;
B..C.\D.回车键
1.以下两条if语句可合并成一条if语句为___________________________
if(a<
=b)x=1;
elsey=2;
if(a>
b)cout<
”****y=”<
elsecout<
”####x=”<
2.要使以下程序段输出10个整数,请填入一个整数。
for(inti=0;
_________________;
(i+=2));
3.下面程序的功能是:
计算1到10之间的奇数之和及偶数之和,请填空。
voidmain()
inta,b,c,i;
a=c=0;
for(i=0;
=10;
i+=2)
a+=i;
_____________________;
c+=b;
”偶数之和=”<
”奇数之和=”<
c-11<
4.以下程序将输出的整数按逆序输出。
如输入1298,则输出8921。
请填空。
intn1,n2;
n2;
while(n2!
=0)
n1=n2%10;
___________________;
n1;
5.下面程序的功能是:
输出100以内能被3整除且个位数为6的所有整数,请填空。
inti,j;
i++)
j=i*10+6;
if(___________________)continue;
j;
三、阅读程序题
1.以下程序的输出结果是___________________________
intx=3,y=0,z=0;
if(x=y+z)cout<
”****”;
”####”;
2.运行下面程序时,若从键盘输入3和4,则输出为____________________。
inta,b,s;
s=a;
if(s<
b)s=b;
s=s*s;
s<
3.以下程序的输出结果是______________________。