C语言各章习题Word文档格式.docx
- 文档编号:19919702
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:43
- 大小:37.32KB
C语言各章习题Word文档格式.docx
《C语言各章习题Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言各章习题Word文档格式.docx(43页珍藏版)》请在冰豆网上搜索。
intk=7,x=12;
A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5D)(x%=k)-(k%=5)
15、下面四个选项中,均是不合法的浮点数的选项是:
A)160.B)123C)-.18D)-e3
0.122e4.2123e4.234
e3.e50.01e3
16、设有说明:
charw;
intx;
f1oaty;
doublez;
则表达式w*x+z-y值的数据类型为:
A)floatB)charC)intD)double
17、下面四个选项中,均是合法转义字符的选项是:
A)'
\'
'
B)'
C)'
\018'
D)'
\\0'
'
\\'
\017'
\f'
101'
\n'
\"
xab'
xlf'
18、设inta=6,则执行完语句a-=a+=a*=a后,a的值是
A)36B)72C)-36D)0
19、下面正确的字符常量是:
A)"
a"
W'
20、下面四个选项中,均是不正确的八进制数或十六进制数的选项是:
A)016B)oabcC)010D)0a12
0x8f017-0x117ff
0180x80x16-123
21、设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为:
A)0~255B)0~32767C)0~65535D)0~2147483647
22、下面四个选项中、均是正确的数值常量或字符常量的选项是:
A)0.0B)"
3'
D)+001
0f3.9E-2.50110xabcd
8.9elel0xFFOO2e2
&
0a50.
23、下面不正确的字符串常量是:
abc'
B)"
12'
12"
C)"
0"
D)"
"
24、若有代数式3ae/bc,则不正确的C语言表达式是:
A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*3
25、已知各变量的类型说明如下:
intk,a,b;
unsignedlongw=5;
doublex=1.42;
则以下不符合C语言语法的表达式是:
A)x%(-3)B)w+=-2C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)
26、已知各变量的类型说明如下:
inti=8,k,a,b;
unsignedlongw=5;
doublex=1.42,y=5.2;
则以下符合C语言语法的表达式是:
A)a+=a-=(b=4)*(a=3)B)a=a*3=2C)x%(-3)D)y=f1oat(i)
27、以下不正确的叙述是:
A)在C程序中,逗号运算符的优先级最低
B)在C程序中,APH和aph是两个不同的变量
C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
28、以下正确的叙述是:
A)在C程序中,每行中只能写一条语句
B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C)在C程序中,无论是整数还是实数,都能被准确无误地表示
D)在C程序中,%是只能用于整数运算的运算符
29、表达式18/4*4.0/8值的数据类型为:
A)intB)floatC)doubleD)不确定
30、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='
A'
+'
6'
-'
;
后,c2中的值为:
A)DB)EC)不确定的值D)C
31、在C语言中,要求运算数必须是整型的运算符是:
A)/B)++c)!
=D)%
32、若以下变量均是整型,且num=sum=7;
则执行表达式sum=num++,sum++,++num后sum的值为:
A)7B)8C)9D)10
33、在C语言中,int、char和short种类型数据在内存中所占用的字节数
A)由用户自己定义B)均为2个字节C)是任意的D)由所用机器的机器字长决定
34、若有说明语句:
charc='
\72'
则变量c
A)包含1个字符B)包含2个字符
C)包含3个字符D)说明不合法,c的值不确定
35、若有定义:
inta=7;
floatx=2.5,y=4.7;
则表达式x+a%3*(int)(x+y)%2/4的值是
A)2.500000B)2.7500OOC)3.500000D)0.000000。
36、sizeof(float)是:
A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式
37、设变量a是整型,f是实型,i是双精度型,则表达式10+'
a'
+i*f值的数据类型为
A)intB)floatC)doubleD)不确定
38、以下选项中,与k=++n完全等价的表达式是
A)k=n,n=n+1B)n=n+1,k=nC)k=n++D)k+=n+1
39、在C语言中,char型数据在内存中的存储形式是:
A)补码B)反码C)原码D)ASCII码
40、设变量n为f1oat类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五人运算的表达式是:
A)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/100.0C)n=n*100+0.5/100.0D)n=(n/100+0.5)*100.0
第3~5章习题
1、putchar函数可以向终端输出一个:
A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值
2、若运行以下程序时,从键盘输入ADescriptor<
CR>
(CR)表示回车),则下面程序的运行结果是:
#include<
stdio.h>
main()
{charc;
intv0=0,v1=0,v2=0;
do{
switch(c=getchar())
{case'
:
case'
:
e'
E'
i'
I'
o'
Case'
O'
u'
U'
v1+=1;
default:
v0+=1;
v2+=1;
}
}while(c!
='
);
printf("
v0=%d,v1=%d,v2=%d\n"
v0,v1,v2);
A)v0=7,v1=4,v2=7B)v0=8,v1=4,v2=8C)v0=11,v1=4,v2=11D)v0=12,vl=4,v2=12
3、若希望A的值为奇数时,表达式的值为"
真"
A的值为偶数时表达式的值为"
假"
。
则以下不能满足要求的表达式是:
A)A%2==1B)!
(A%2==0)C)!
(A%2)D)A%2
4、已有定义intx;
且执行scanf("
%3d%f"
&
x,&
y);
语句,若从第一列开始输入数据12345678(回车),则x的值为:
A)12345B)123C)45D)345
5、设有程序段
intk=10;
while(k=0)k=k-1;
则下面描述中正确的是
A)while循环执行10次B)循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次
6、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是:
inta1,a2;
charc1,c2;
scanf("
%d%d"
a1,&
a2);
%c%c"
c1,&
c2);
A)1020AB<
B)1020<
AB<
C)1020AB<
D)1020AB<
7、已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为:
main()
{inta;
floatf;
\nInputnumber:
输入语句
\nf=%f,a=%d\n,f,a);
}
Inputnumber:
4.52<
A)scanf("
%d,%f"
a,&
f);
B)scanf("
%f,%d"
f,&
a)C)scanf("
%d%f"
D)scanf("
%f%d"
a);
8、以下说法正确的是:
A)输入项可以为一实型常量,如scanf("
%f"
3.5);
B)只有格式控制,没有输入项,也能进行正确输入,如scanf("
a=%d,b=%d"
C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("
%4.2f"
D)当输入数据时,必须指明变量的地址,如scanf("
9、阅读以下程序,当输入数据的形式为25,13,10<
正确的输出结果为:
{intx,y,z;
scanf("
%d%d%d"
y,&
z);
x+y+z=%d\n“,x+y+z);
}
A)x+y+z=48B)x+y+z=35C)x+z=35D)不确定值
10、阅读下程序,若运行结果为如下形式,输入输出语句的正确内容是:
main()
{intx;
floaty;
printf("
enterx,y:
);
输入语句输出语句
输入形式enterx,y:
2
3.4
输出形式x+y=5.40
A)scanf("
\nx+y=%4.2f"
x+y);
B)scanf("
y);
\nx+y=%4.2f"
C)scanf("
\nx+y=%6.2f"
D)scanf("
%d%3.1f"
\nx十y=%4.2f"
11、下面程序段的运行结果是
a=1;
b=2;
c=2;
while(a<
b<
c){t=a;
a=b;
b=t;
c--;
%d,%d,%d"
a,b,c);
A)1,2,0B)2,1,0C)1,2,1D)2,1,1
12、根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为:
{charch1,ch2,ch3;
%c%c%c"
ch1,ch2,ch3);
输入形式:
ABC
输出形式:
AB
A)scanf("
ch1,&
ch2,&
ch3);
B)scanf("
%c,%c,%c"
&
ch2,&
C)scanf("
%c%c%c"
D)scanf("
13、有输入语句:
a=%d,b=%d,c=%d"
b,&
c);
为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是:
A)132(回车)B)1,3,2(回车)C)a=1b=3c=2(回车)D)a=1,b=3,c=2(回车)
14、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是:
A)inta=5,b=5,c=5;
B)inta,b,c=5;
C)inta=b=c=5;
D)a=b=c=5;
15、以下程序段
x=-1;
do
{x=x*x;
}while(!
x);
A)是死循环B)循环执行二次C)循环执行一次D)有语法错误
16、已知ch是字符型变量,下面正确的赋值语句是:
A)ch='
123'
B)ch='
\xff'
C)ch='
\08'
D)ch="
17、下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。
stdio.h>
{intn,sum=0;
n=2345
do{sum=sum+(n%10)*n%10);
n=【】;
}while(n);
sum=%d"
sum);
A)n/1000B)n/100C)n/10D)n%10
18、设x、y均为f1oat型变量,则以下不合法的赋值语句是:
A)++x;
B)y=(x%2)/10;
C)x*=y+8;
D)x=y=0;
19、下面有关for循环的正确描述是:
A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式
C)在for循环中,不能用break语句跳出循环体
D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
20、逻辑运算符两侧运算对象的数据类型:
A)只能是0或1B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据
21、下关于运算符优先顺序的描述中正确的是:
A)关系运算符<
算术运算符<
赋值运算符<
逻辑与运算符
B)逻辑运算符<
关系运算符<
赋值运算符
C)赋值运算符<
逻辑与运算符<
算术运算符
D)算术运算符<
22、对for(表达式1;
表达式3)可理解为:
A)for(表达式1;
0;
表达式3)B)for(表达式1;
1;
表达式3)
C)for(表达式1;
表达式1;
表达式3)D)for(表达式1;
表达式3;
23、能正确表示"
当x的取值在[1,10]和[200,210]范围内为真,否则为假"
的表达式是:
A)(x>
=1)&
(x<
=10)&
(x>
=200)&
=210)
B)(x>
=1)||(x<
=10)||(x>
=200)||(x<
C)(x>
D)(x>
=10)&
24、判断char型变量ch是否为大写字母的正确表达式是:
A'
<
=ch<
Z'
B)(ch>
='
)||(ch<
)C)(ch>
)&
(ch<
)
D)(‘A’<
=ch)AND('
>
=ch)
25、若i为整型变量,则以下循环执行次数是:
for(i=2;
i==0;
)printf("
%d"
i--);
A)无限次B)0次C)1次D)2次
26、以下程序段的输出结果是
inti,j;
for(i=0;
i<
2;
i++)
for(j=1;
j<
3;
j++)
if(i!
=j)break;
printf(“i=%d,j=%d”,i,j);
A)i=2,j=2B)i=1,j=1C)i=0,j=1D)i=2,j=3
27、以下程序的运行结果是
#include<
{intm=1,j=1,k=1,sum=0;
while(m<
8)
{m++;
sum++;
while(j<
5)
{j++;
while(k<
{k++;
if(sum>
10)gotostop;
stop:
printf(“m=%d,j=%d,k=%d,sum=%d\n”,m,j,k,sum);
A)m=8,j=5,k=5,sum=15B)m=2,j=3,k=5,sum=11C)m=8,j=5,k=5,sum=39D)m=2,j=2,k=1,sum=11
28、设有inta=1,b=2,c=3,d=4,m=2,n=2;
执行(m=a>
b)&
(n=c>
d)后n的值为:
A)1B)2C)3D)4
29、以下正确的描述是
A)continue语句的作用是结束整个循环的执行
B)只能在循环体内使用break语句
C)在循环体内使用break语句或continue语句的作用相同
D)do一while循环由do开始,用while结束,在while(表达式)后面不能写分号
E)在do一while循环体中,一定要有能使while后表达式值变为零("
)的操作
30、以下程序的运行结果是:
#include"
stdio.h"
main()
{inta,b,d=241;
a=d/100%9;
b=(-1)&
(-1);
%d,%d"
a,b);
}
A)6,1B)2,1C)6,0D)2,0
31、下面程序段:
for(t=1;
t<
=100;
t++)
{scanf("
if(x<
0)continue;
%3d"
x);
A)当x<
0时整个循环结束B)x>
=0时什么也不输出C)printf函数永远也不执行
D)最多允许输出100个非负整数
32、已有如下定义和输入语句,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是:
%d%c%d%c"
a2,&
A)10A20B<
CR>
B)10A20B<
C)10A20B<
D)10A20B<
cR>
33、若w,x,y,z,m均为int型变量,则执行下面语句后的m值是:
w=1;
x=2;
y=3;
z=4;
m=(w<
y)?
w:
x;
m=(m<
m:
y;
z)?
Z;
A)1B)2C)3D)4
34、下面程序段:
x=3;
do
{y=x--;
if(!
y){printf("
x"
continue;
#"
}while(1<
=x<
=2);
A)将输出##B)将输出##*C)是死循环D)含有不合法的控制表达式
35、以下程序的运行结果是:
{intk=4,a=3,b=2,c=1;
\n%d\n"
k<
a?
k:
c<
b?
c:
A)4B)1C)2D)3
36、请阅读以下程序
{inta=5,b=0,c=0;
if(a=b+c)printf("
***\n"
e1seprintf("
$$$\n"
}以上程序:
A)有语法错不能通过编译可以通过编译但不能通过连接C)输出***D)输出$$$
37、下面程序的运行结果是:
#include"
{inta,b;
for(a=1,b=1;
a<
a++)
{if(b>
=20)break;
if(b%3==1){b+=3;
b-=5;
%d\n"
a);
A)7B)8C)9D)10
38、下面程序的运行结果是:
#include<
{intk=0;
charc='
do
{switch(c++)
{case'
k++;
break;
case'
B'
k--;
C'
k+=2;
D'
k=k%2;
E'
k
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 各章 习题