二级C语言教程课后习题答案Word文档下载推荐.docx
- 文档编号:1018428
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:56
- 大小:43.65KB
二级C语言教程课后习题答案Word文档下载推荐.docx
《二级C语言教程课后习题答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《二级C语言教程课后习题答案Word文档下载推荐.docx(56页珍藏版)》请在冰点文库上搜索。
A)10110BB)0386C)0Xffa
D)x2a2
2.以下关于long、int和short类型数据占用内存大小的叙述中正确的是D
A)均占4个字节B)根据数据的大小来决定所占内存的字节数
C)由用户自己定义D
)由C语言编译系统决定
3.以下选项中不属于C语言的类型的是D
A)signedshortintB)unsignedlongint
C)unsignedintD)longshort
4.以下选项中合法的实型常数是C
A)5E2.0B)E-3C).2E0
D)1.3E
5.以下选项中,不能作为合法常量的是B
A)1.234e04B)1.234e0.4
C)1.234e+4D)1.234e0
6.以下选项中可作为C语言合法常量的是A
A)-80.
B)-080C)-8e1.0D)-80.0e
7.以下符合C语言语法的实型常量是C
A)1.2E0.5B)3.14.159EC).5E-3
D)E15
8.以下不合法的数值常量是C
A)011B)lelC)8.0E0.5
D)0xabcd
9.以下选项中,合法的一组C语言数值常量是无
A)028B)12.C).177D)0x8A
5e-3OXa234c1.510,000
-0xf4.5e0Oabc3.e5
10.下列定义变量的语句错误的是D
A)int_int;
B)doubleint_;
C)longFor;
D)floatUS$;
第六节算术表达式与赋值表达式
1.表达式3.6-5/2+1.2+5%2的值是D
A)4.3B)4.8C)3.3D)3.8
2.设有定义:
floatx=123.4567;
,则执行以下语句后输出的结果是_____。
123.460000
printf("
%f\n"
(int)(x*100+0.5)/100.0);
3.设有定义:
floata=2,b=4,h=3;
以下C语言表达式与代数式×
h计算结果不相符的是B
A)(a+b)*h/2B)(1/2)*(a+b)*h(0)
C)(a+b)*h*1/2D)h/2*(a+b)
第七节自加自减运算符、逗号表达式
1.设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为__3____。
3
intk=0;
以下选项的4个表达式中与其他3个表达式的值不相同的是A
A)k++(0)
B)k+=1C)++kD)k+1
3.有以下程序B
main()
{
chara1='
M'
a2='
m'
;
printf("
%c\n"
(a1,a2));
}
以下叙述中正确的是
A)程序输出大写字母MB)程序输出小写字母m
(输出最后一个)
C)格式说明符不足,编译出错D)程序运行时产生出错信息
4.有以下程序:
B
main()
{inta=0,b=0;
a=10;
/*给a赋值
b=20;
给b赋值*/
a+b=%d\n"
a+b);
/*输出计算结果*/
程序运行后的结果是
A)a+b=30B)a+b=10
(此时b=20已经在注释里面将被忽略,所以b=0,a=10)C)30D)程序出错
第八节字符
1.以下选项中不属于字符常量的是()。
A)'
C'
B)"
C"
(字符常量用单引号括起来)C)'
0'
D)'
\072'
2.已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是()。
A)kk>
='
A'
kk<
Z'
B)!
(kk>
‖kk<
)(不在A和Z之间,无法判断)
C)(kk+32)>
a'
(kk+32)<
z'
D)kk>
=48&
kk<
91
3.已知字符'
的ASCⅡ代码值是65,字符变量c1的值是'
c2的值是'
D'
。
执行语句printf("
%d,%d"
c1,c2-2);
后,输出结果是()。
C(此题要求输出整形数,所以结果为整数)
A)A,BB)A,68C)65,66D)65,68
4.以下不合法的字符型常量是B
\x13'
B)'
\018'
(8进制无8)C)'
\65'
D)'
\n'
5.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是()。
D
A)c=c-'
+'
B)c=c+32
C)c=c-'
D)c='
+c-'
第九节位运算
1.变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。
若要求将a的高4位取反,低4位不变,所要执行的运算是A
A)a^b
B)a|bC)a&
bD)a<
<
4
2.有以下程序
#include<
stdio.h>
inta=1,b=2,c=3,x;
x=(a^b)&
c;
printf("
%d\n"
x);
程序的运行结果是D
A)0B)1C)2D)3
3.有以下程序
{
unsignedchara=2,b=4,c=5,d;
d=a|b;
d&
=c;
d);
程序运行后的输出结果是B
A)3B)4C)5D)6
4.若变量已正确定义,则以下语句的输出结果是()。
B
s=32;
s^=32;
%d"
s);
(相同为0;
s^=32→s=s^32即32^32)
A)-1B)0C)1D)32
5.设有以下语句
inta=1,b=2,c;
c=a^(b<
2);
执行后,c的值为D
A)6B)7C)8D)9
第二章数据输出与输入
1.有以下程序段
charch;
intk;
ch='
k=12;
%c,%d,"
ch,ch,k);
k=%d\n"
k);
已知字符a的ASCII十进制代码为97,则执行上述程序段后输出结果是D
A)因变量类型与格式描述符的类型不匹配输出无定值
B)输出项与格式描述符个数不符,输出为零值或不定值
C)a,97,12k=12
D)a,97,k=12
2.若变量已正确定义,有以下程序段删除该题
inta=3,b=5,c=7;
if(a>
b)a=b;
c=a;
if(c!
=a)c=b;
%d,%d,%d\n"
a,b,c);
其输出结果是B
A)程序段有语法错B)3,5,3C)3,5,5D)3,5,7
有以下程序段:
intx,y,z;
x=y=1;
z=x++,y++,++y;
printf(“%d,%d,%d\n”,x,y,z);
程序运行后的输出结果C
A)2,3,3B)2,3,2C)2,3,1D)2,2,1
3.有以下程序,其中%u表示按无符号整数输出
unsignedshortx=0xFFFF;
/*x的初值为十六进制数*/
%u\n"
(ffff)16=(65535)10
A)-1B)65535C)32767D)0XFFFF
4.以下叙述中不正确的是A
A)调用printf函数时,必须要有输出项
B)使用putchar函数时,必须在之前包含头文件stdio.h
C)在C语言中,整数可以以十进制、八进制或十六进制的形式输出
D)使用putchar函数可以不要输出项
5.设有以下程序
intc=35;
c&
c);
相同为1,结果不变
程序运行后的输出结果是C
A)0B)70C)35D)53
6.以下程序运行后的输出结果是______________。
88(进制转换)
main()
{
intx=0210;
%X\n"
}
第三节数据输入
1.以下程序运行时若从键盘输入:
102030<
回车>
输出结果是____。
A
inti=0,j=0,k=0;
scanf("
%d%*d%d"
&
i,&
j,&
k);
%d,%d,%d"
i,j,k);
A)10,30,0B)10,20,30C)0,0,0D)程序出错
2.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:
B33<
输出结果是B
#include"
stdio.h"
chara,b;
a=getchar();
scanf("
b);
a=a-'
+'
b=b*2;
%c%c"
a,b);
A)程序段有语法错B)1BC)165D)1b
main()
{
intm=0256,n=256;
%o%o\n"
m,n);
程序运行后的输出结果是( )。
C
A)02560400B)0256256C)256400D)400400
4.有以下程序
{
inta=666,b=888;
程序运行后的输出结果是( )。
A)错误信息B)666C)888D)666,888
main()
intx=102,y=012;
%2d,%d\n"
x,y);
}
执行后输出结果是C
A)10,01B)02,12C)102,10D)02,10
6.执行以下程序时输入1234567<
CR>
则输出结果是________。
1234
inta=1,b;
%2d%2d"
a,&
%d%d\n"
第三章选择结构
第一节关系运算与逻辑运算
1.已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是B
A)kk>
B)!
)
C)(kk+32)>
D)isalpha(kk)&
(kk<
91)
2.当变量c的值不为2、4、6时,值也为“真”的表达式是B
A)(c==2)‖(c==4)‖(c==6)B)(c>
=2&
c<
=6)‖(c!
=3)‖(c!
=5)
C)(c>
=6)&
!
(c%2)D)(c>
(c%2!
=1)
3.以下选项中,当x为大于1的奇数时,值为0的表达式D
A)x%2==1B)x/2C)x%2!
=0D)x%2==0
4.以下关于逻辑运算符两侧运算对象的叙述中正确的是()。
A)只能是整数0和1B)只能是整数0或非0整数
C)可以是结构体类型的数据D)可以是任意合法的表达式
5.设有定义:
intk=1,m=2;
floatf=7;
,则以下选项中错误的表达式是C
A)k=k>
=kB)-k++C)k%int(f)D)k>
=f>
=m
6.设有定义:
inta=2,b=3,c=4;
,则以下选项中值为0的表达式是A
A)(!
a==1)&
(!
b==0)B)(!
a==1)||(!
b==0)
C)a&
bD)a||(b+b)&
(c-a)
第二节if语句
1.若变量已正确定义,有以下程序段
2.当把以下4个表达式用作if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是D
A)k%2B)k%2==1C)(k%2)!
=0D)!
k%2==1
3.下列条件语句中,功能与其他语句不同的是D
A)if(a)printf("
elseprintf("
y);
B)if(a==0)printf("
C)if(a!
=0)printf("
D)if(a==0)printf("
4.设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是C
A)if(x++);
B)if(x>
y&
y!
=0);
C)if(x>
y)x--D)if(y<
0){;
elsey++:
elsex++;
第三节嵌套的if语句
1.在嵌套使用if语句时,C语言规定else总是C
A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对
C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对
2.有以下程序
{inta=5,b=4,c=3,d=2;
if(a>
b>
c)
elseif((c-1>
=d)==1)
d+1);
else
d+2)
执行后输出结果是D
A)2B)3C)4D)编译时有错,无结果:
因为printf("
d+2)没有分号
3.以下程序的输出结果是C
{inta=5,b=4,c=6,d;
d=a>
b?
(a>
c?
a:
c):
(b));
A)5B)4C)6D)不确定
第四节条件表达式、switch语句、goto语句
1.以下程序段中与语句k=a>
(b>
1:
0):
0;
功能等价的是A
A)if((a>
b)&
c))k=1;
B)if((a>
b)||(b>
elsek=0;
elsek=0;
C)if(a<
=b)k=0;
D)if(a>
b)k=1;
elseif(b<
=c)k=1;
elseif(b>
c)k=1;
2.下列叙述中正确的是D
A)beak语句只能用于switch
B)在switch语句中必须使用default
C)break语句必须与switch语句中的case配对使用
D)在switch语句中,不一定使用break语句
3.有以下程序段B
intk=0,a=1,b=2,c=3;
k=a<
b:
a;
k=k>
c:
k;
执行该程序段后,k的值是
A)3B)2C)1D)0
4.有以下程序D
main()
intx=1,y=0,a=0,b=0;
switch(x)
case1:
switch(y)
case0:
a++;
break;
b++;
case2:
case3:
a=%d,b=%d\n"
程序的运行结果是
A)a=1,b=0B)a=2,b=2C)a=1,b=1D)a=2,b=1
5.以下叙述中正确的是C
A)break语句只能用于switch语句题中
B)continue语句的作用是:
使程序的执行流程跳出包含它的所有循环
C)break语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用相同
6.有以下程序
intk=5,n=0;
do
switch(k)
{case1:
case3:
n+=1;
default:
n=0;
k--;
case4:
n+=2;
break;
printf(“%d”,n);
}while(k>
0&
n<
5);
程序运行后的输出结果是D
A)235B)0235C)02356D)2345
第四章循环结构
第一节while语句
1.有以下程序
{inty=10;
while(y--);
y=%d\n"
程序执行后的输出结果是B
A)y=0B)y=-1 C)y=1 D)while构成无限循环
intk=5;
while(--k)printf("
k-=3);
\n"
);
执行后的输出结果是A
A)1B)2C)4D)死循环
第二节do-while语句
1.若变量已正确定义,有以下程序段
i=0;
do
%d,"
i);
while(i++);
i)
A)0,0B)0,1C)1,1D)程序进入无限循环
2.有以下程序段D
intn,t=1,s=0;
scanf("
n);
do{s=s+t;
t=t-2;
}while(t!
=n);
为使此程序段不陷入死循环,从键盘输入的数据应该是
A)任意正奇数B)任意负偶数C)任意正偶数D)任意负奇数
3.以下程序的功能是:
将输入的正整数按逆序输出。
例如,若输入135,则输出531,请填空。
n/=10
#include<
intn,s;
Enteranumber:
"
Output:
"
do
s=n%10;
_____;
}while(n!
第三节for语句
1.有以下程序
intx=8;
for(;
x>
0;
x--)
if(x%3)
%d,"
x--);
continue;
--x);
A)7,4,2B)8,7,5,2C)9,7,6,4D)8,5,4,2
2.以下不构成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 教程 课后 习题 答案