C语言练习题1Word文件下载.docx
- 文档编号:21975983
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:24
- 大小:28.34KB
C语言练习题1Word文件下载.docx
《C语言练习题1Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言练习题1Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。
inti=8,k,a,b;
unsignedlongw=5;
doublex=1,y=5.2;
则符合C语言语法的表达式是()。
A.a+=a-=(b=4)*(a=3)B.x%(-3)
C.a=a*3=2D.y=int(i)
9.假设有以下变量定义:
intk=7,x=12;
则能使值为3的表达式是()。
A.x%=(k%=5)B.x%=(x-k%5)
C.x%=k+k%5D.(k%=5)–(x%=k)
10.以下程序的输出结果是()。
main()
{
inta=10,b=10;
printf("
d%d%\n"
--a,++b);
}
A.1011B.1113C.911D.1112
11.若有以下定义和语句:
intu=010,v=0x10,w=10;
%d,%d,%d\n"
u,v,w);
则输出结果是()。
A.8,16,10B.10,10,10
C.8,8,10D.8,10,10
12.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值为()。
A.1.0B.1.5C.2.0D.2.5
13.若有如下定义和语句:
charc1='
a'
c2='
f'
%d,%c\n"
c2-c1,c2-'
+'
B'
);
A.2,MB.5,GC.2,E
D.输出项与对应的格式控制符不一致,输出结果不确定
14.语句printf("
%d"
(a=3)&
&
(b=-3));
的输出结果为()。
A.无输出B.输出结果不确定C.1D.-1
15.当c值不为0时,在下列选项中能正确地将c的值赋给变量a、b的是()。
A.c=b=aB.(a=c)||(b=c)C.(a=c)&
(b=c)D.a=c=b
16.下列变量定义中合法的是()。
A.short_a=1-ae-1B.doubleb=1+5e2.5
C.longao=0xfdalD.float2_and=1-e-3
17.设intx=2,y=1;
表达式(!
x||y--)的值是()。
A.-2B.1C.2D.-1
18.下面程序的输出结果是()。
#include"
main()
inta=-1,b=4,k;
k=(a++<
=0)&
(!
(b--<
=0));
%d%d%d"
k,a,b);
A.003B.012
C.103D.112
19.设二进制数x的值是00110101,若想通过x&
y运算使x中的低4位不变,高4位清零,则以下能实现此功能的是()。
A.x=x|ox0fB.x=x&
ox0fC.x=x|0xf0D.x=x&
0xf0
20.设有以下语句,则c的二进制值是()。
chara=3,b=6,c;
c=a^b<
<
2;
A.00011011B.00010100C.00011100D.00011000
二、填空题
1.一个C程序是由若干函数构成,其中必须有一个________。
2.一个C语句中至少应该包含一个________。
3.若采用十进制数的表示形式,则077可表示为________,0111可表示为________,0x29可表示为________,0xab可表示为________。
4.表达式5%(-3)的值是________,表达式-5%(-3)的值是________。
5.执行下列语句后,z的值是________。
intx=4,y=25,z=2;
z=(--y/++x)*z--;
6.设x、y、z均为int型变量,且x=3,y=-4,z=5,请写出下面每个表达式对应的结果。
(1)(x&
y)==(x||z)________
(2)!
(x>
y)+(y!
=z)||(x+y)&
(y-z)________
(3)x++-y+(++z)________
7.设a=3,b=2,c=1,则a>
b的值为________,a>
b>
c的值为________。
8.设有变量定义inti=5,j=4;
则条件表达式(--i==j++)?
--i:
++j的值为________。
9.执行下列语句后,a的值为________,b的值为________,c的值为________。
intx=10,y=9;
inta,b,c;
a=(--x==y++)?
--x:
++y;
b=x++;
c=y;
10.已知:
inti,j,k;
i=j=k=3;
则下列表达式的结果为:
(1)~i|i&
j________
(2)i∧=j∧=i________
(3)j*k>
>
2&
i________
三、分析下列程序输出的结果
1.写出下面程序执行后变量a,b,c的值。
chara='
2'
b='
;
intc;
c=a+b;
a=c;
2.写出下列程序的输出结果。
{intx;
x=-4+5*6-7;
%d\n"
x);
x=3+4%5-6;
x=-3*4%-6/5;
x=(10+8)%5/2;
3.写出下列程序的输出结果。
{intx=50,y=5,z=5;
x=y==z;
x=x==(y==z);
4.写出下列程序的输出结果。
{intx,y,z;
x=y=2;
z=3;
y=x++-1;
%d\t%d\t"
x,y);
y=++x-1;
y=z--+1;
z,y);
y=--z+1;
5.写出下列程序的输出结果。
x=y=z=0;
++x||++y&
++z;
x=%d\ty=%d\tz=%d\n"
x,y,z);
++x&
++y||++z;
++y&
x=y=z=-1;
6.写出下列程序的输出结果。
{charc;
shorti;
c='
i=65;
c:
dec=%doct=%ohex=%xASCII=%c\n"
c,c,c,c);
i:
dec=%doct=%ohex=%xunsigned=%u\n"
i,i,i,i);
x'
i=-4;
第3章顺序结构程序设计
1.以下程序段的输出结果是()。
inta=1234;
%2d\n"
a);
A.12B.34C.1234D.提示错误、无结果
2.设x、y均为整型变量,且x=10,y=3,则下列语句的输出结果是()。
%d,%d\n"
x--,--y);
A.10,3B.9,3C.9,2D.10,2
3.x,y,z被定义为int,若从键盘给x,y,z输入数据,正确的输入语句是()。
A.INPUTx、y、zB.scanf("
%d%d%d"
,&
x,&
y,&
z);
C.scanf("
x,y,z);
D.read("
4.下列程序执行后的输出结果是()。
{doubled;
floatf;
longl;
inti;
i=f=l=d=20/3;
%d%ld%f%f\n"
i,l,f,d);
A.666.0000006.000000B.666.7000006.700000
C.666.0000006.700000D.666.7000006.000000
5.以下合法的赋值语句是()。
A.x=y=100B.d--C.x+yD.c=int(a+b)
6.若变量a、i已经正确定义,且i已经正确赋值,则合法的语句是()。
A.a==1B.++iC.a=a++=5D.a=int(i)
1.下列语句的输出结果是________。
chara=31;
%d,%o,%x,%u"
a,a,a,a);
答案:
31371F31
2.若有下列定义(设整型变量占两个字节)
inti=8,j=9;
fioatx=123.456
则下列各组语句的输出结果是:
(1)printf("
i=%u,j=%x\n"
i,j);
________
(2)printf("
i=%o,j=%o\n"
(3)printf("
i=%d,j=%d\n"
(4)printf("
i=%08d,j=%-8d\n"
i,j)________
(5)printf("
i=%10.2f,j=%10.2e\n"
x,x);
3.假设所有的变量均为整型,分析以下两组语句的输出结果:
(1)a=3+5,a*4;
________
(2)x=11/3;
4.以下程序输入三个整型数据给a、b、c,程序把b中的值赋给a,把c中的值赋给b,把a中的值赋给c,交换后输出a、b、c的值。
例如,读入后,a=10,b=20,c=30;
交换后a=20,b=30,c=10请填空。
inta,b,c,d;
scanf("
________);
________;
a=b;
b=c;
________;
a=%d,b=%d,c=%d\n"
a,b,c);
5.指出下列语句中的错误:
%s"
'
(2)printf(%d%d,10,15);
________
%c"
hello'
(4)chara;
(5)main()
{charch;
ch=a;
ch):
}________
(6)main()
float2a;
2a=305;
%f"
2a);
(7)main()
{a=4;
b=5;
a+b);
三、分析下列程序的运行结果
1.main()
{printf("
This\tis\ta\tc\tprogram.\n"
}____________
2.main()
{charx='
y='
b'
%d\\%c\n"
x=\'
%3x\'
\'
%-3x\'
\n"
3.main()
{intk=65;
k=%d,k=%0x,k=%c\n"
k,k,k);
四、编程题
1.某公司付给其销售人员的薪水是这样计算的:
每星期200元的底薪,再加上该星期总销售额的8%的提成。
编写程序,输入一个星期的销售额,计算并输出销售人员该星期的总收入。
2.贷款中的利息按照如下公式计算:
利息(interest)=本金(principal)×
利率(rate)×
天数(days)/365
编写程序,输入本金(principal)、利率(rate)和天数(days),计算并输出利息(interest)。
第4章选择结构程序设计
1.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()。
{intx;
scanf("
&
x);
if(x>
5)
else
x--);
A.7和5B.6和3C.7和4D.6和4
2.阅读下面的程序,说法正确的是()。
{intx=3,y=0,z=0;
if(x=y+z)printf("
****"
elseprintf("
####"
A.有语法错误不能通过编译
B.输出****
C.可以通过编译,但是不能通过连接,因而不能运行
D.输出####
3.以下程序的输出结果是()。
{inta=-1,b=1,k;
if((++a<
0)&
!
(b--<
=0))
%d%d\n"
a,b),
b,a),
A.-11B.01C.10D.00
4.以下关于switch语句和break语句的描述中,只有()是正确的。
A.在switch语句中必须使用break语句
B.在switch语句中,可以根据需要使用或不使用break语句
C.break语句只能用于switch语句中
D.break语句是switch语句的一部分
5.对if语句中表达式的类型,下面正确的描述是()。
A.必须是关系表达式
B.必须是关系表达式或逻辑表达式
C.必须是关系表达式或算术表达式
D.可以是任意表达式
6.多重if-else语句嵌套使用时,寻找与else配套的if方法是()。
A.缩排位置相同的ifB.其上最近的if
C.下面最近的ifD.同行上的if
7.以下错误的if语句是()。
A.if(x>
y)z=x;
B.if(x==y)z=0;
C.if(x!
=y)printf("
x)elseprintf("
y);
D.if(x<
y){x++;
y--;
8.执行下面的程序后,输出为()。
{intm=20;
switch(m)
{
case19:
m+=1;
case20:
case21:
case22:
%d\\n"
m);
A.20B.21C.22D.23
9.设有说明“intx=2,y=3;
”,则“++x>
y--?
x:
y”的值为()。
A.1B.2C.3D.4
10.若希望当A的值为奇数时,表达式的值为“真”;
A的值为偶数时,表达式的值为“假”。
以下不能满足要求的表达式是()。
A.A%2==1B.!
(A%2==0)C.!
(A%2)D.A%2
1.switch语句的case表达式可以是________。
整型表达式或字符型表达式
2.用C语句描述下列命题:
a小于b或小于c________;
a是奇数________。
a<
b||a<
ca%2==1
3.假设变量a、b均为整型,表达式(a=12,b=13,a<
b?
1:
0)的值是________。
1
4.当a、b、c的值分别为1、2、3时,以下程序段执行后a、b、c的值分别为________、________、________。
if(a<
c)
a=c;
else
a=b;
c=b;
b=a;
5.下面程序的输出结果是-11,请填空。
{intx=100,a=200,b=50;
intv1=25,v2=20;
if(a<
b)
if(b!
=50)
if(!
v1)
x=11;
elseif (v2)
x=12;
x=________;
三、阅读程序,写出执行结果
inta,b,c;
a=2;
b=3;
c=1;
if(a>
b);
end\n"
{inta=2,b=7,c=5;
switch(a>
0)
case1:
switch(b<
0){case1:
@"
break;
case2:
!
"
case0:
switch(c==5){case1:
*"
);
#"
default:
printf(“&
”);
1.输入三个整数,要求按大小顺序输出。
2.有一函数:
5x-2(x≤-1)
y=2x(-1<
x<
3)
8-3x(x≥3)
写一程序,输入x,输出y。
3.设计一个判断输入年份是否为闰年的程序。
4.由键盘输入三个数,计算以这三个数为边长的三角形的面积。
(s=
,p=(a+b+c)/2)
5.企业发放的奖金根据利润提成。
利润(用I表示)低于或等于10万元的,奖金可提10%;
利润高于10万元,低于20万元(100000<
I≤200000)时,低于10万元的部分按10%提成,高于10万元的部分可提成7.5%;
200000<
I≤400000时,低于20万元的部分仍按上述办法提成(下同),高于20万元的部分按5%提成;
400000<
I≤600000时,高于40万元的部分按3%提成;
600000<
I≤1000000时,高于60万元的部分按1.5%提成;
I>
1000000时,超过100万元的部分按1%提成。
从键盘输入当月利润I,求应发奖金总数。
要求:
(1)用if语句编程序。
(2)用switch语句编程序。
6.判别键盘输入字符的类别。
7.给一个不多于5位的正整数,要求:
①求出它是几位数;
②分别打印出每一位数字;
③按逆序打印出各位数字。
例如,原数为321,应输出123。
8.输入一个5位数,判断它是不是回文数。
即12321是回文数,个位与万位相同,十位与千位相同。
第5章循环结构程序设计
1.执行语句:
for(i=1;
i++<
4;
后,变量i的值是()。
A.3B.4C.5D.不定
2.有如下程序:
inti,j,x=0;
for(i=0;
i<
i++);
x++;
for(j=0;
j<
=3;
j++)
{if(j%2)continue;
x=%d\n"
该程序的输出结果是()。
A.x=4B.x=8C.x=6D.x=12
3.以下程序的输出结果是()。
for(i=1;
6;
i++)
{if(i%2)
{printf("
continue;
A.#*#*#B.####C.*****D.*#*#*
4.有如下程序:
{inti,sum;
sum++)
sum+=i;
sum);
该程序的执行结果是()。
A.6B.3C.死循环D.0
5.有如下程序:
{intx=23;
do
}while(!
该程序执行的结果是()。
A.321B.23
C.不输出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 练习题