第三四章c语言复习试题.docx
- 文档编号:25267439
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:28
- 大小:38.19KB
第三四章c语言复习试题.docx
《第三四章c语言复习试题.docx》由会员分享,可在线阅读,更多相关《第三四章c语言复习试题.docx(28页珍藏版)》请在冰豆网上搜索。
第三四章c语言复习试题
第三章顺序程序设计
一、单选题
1、下面程序的输出是______
main()
{
intk=11;
printf("k=%d,k=%o,k=%x\n",k,k,k);
}
A.k=11,k=12,k=13
B.k=11,k=13,k=13
C.k=11,k=013,k=oXb
D.k=11,k=13,k=b
2、以下合法的C语言赋值语句是
A.a=b=58B.k=int(a+b);C.a=58,b=58D.--i;
3、以下程序的输出结果是
main()
{intx=10,y=3;
printf(“%d\n”,y=x/y);
}
A.0B.1C.3D.不确定
4、若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是
A.read(a,b,c);B.scanf(“%d%d%d”,a,b,c);
C.scanf(“%D%D%D”,%a,%b,%c);D.scanf(“%d%d%d”,&a,&b,&b);
5、执行下面程序段后,c3中的值是_____
intc1=1,c2=2,c3;
c3=c1/c2;
A.0B.1/2C.0.5D.1
6、若执行以下程序段,其输出结果是______
inta=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(“%d,%d,%d\n”,a,b,c);
A.3,0,-10B.0,0,3C.-10,3,-10D.3,0,3
7、以下程序段的输出是_______
A.*0000057.66*B.*57.66*
C.*0000057.67*D.*57.67*
floata=57.666;
printf(“*%010.2f*\n”,a);
8、若有以下定义和语句:
inta=5
a++;
此处表达式a++的值是____
A.7B.6
C.5D.4
9、若有以下定义和语句:
charc1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+"A")
则输出结果是_______
A.2,MB.3,E
C.2,eD.输出结果不确定
10、以下程序的输出结果是______
main()
{intx=10,y=10;
printf("%d%d\n",x--,--y);
}
A.1010B.99
C.910D.109
11.在C语言中,如果下面的变量都是int类型,则输出结果是______
sum=pad=5;
pad=sum++,pad++,++pad;
printf("%d\n",pad);
A.7B.6
C.5D.4
12.以下程序的输出结果_____
#include
main()
{
inti=010,j=10;
printf("%d,%d\n",++i,j--);
}
A.11,10B.9,10
C.010,9D.10,9
13、请读程序
inti=65536
printf("%d\n",i);
上面程序的输出结果是_____
A.65535B.0
C.有语法错误,无输出结果D.1
14、已知字符A的ASCII码为十进制的65,下面程序的输出是_____
main()
{
charch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A.67,DB.B,C
C.C,DD.不确定的值
15.若有定义和语句:
chars[10];s="abcd";printf("%d\n",s);
则结果是_____
A.输出abcdB.输出a
C.输出adcbD.编译不能通过
16.若有定义:
intx,y;chara,b,c;并有以下输入数据(此处
12
ABC
则能给X赋整数1,给Y赋数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是_______
A.scanf("x=%dy=%d",&x,&y);a=getchar();c=getchar();
B.scanf("%d%d",&x,&y);a=getchar();b=getchar();c=getchar();
C.scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);
D.scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);
17.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是____
main()
{
intx;
scanf("%d",&x);
if(x++>5)printf("%d",x)
elseprintf("%d\n",x--);
}
A.7和5B.6和3
C.7和4D.6和4
18.若执行下面的程序从键盘输入3和4,则输出是_______
main()
{inta,b,s;
scanf("%d%d",&a,&b);
s=a;
if(a
s=s*s;
printf("%d\n",s);
}
A.14B.16
C.18D.20
19.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:
scanf("i=%d,f=%f",&i,&f);
为了把100和765.12分别赋给i和f,则正确的输入为
A.100<空格>765.12<回车>B.i=100,f=765.12<回车>
C.100<回车>765.12<回车>D.x=100<回车>,y=765.12<回车>
20.以下程序的输出结果是____
#include
main()
{
printf("%d\n",NULL);
}
A.不确定B.0
C.–1D.1
21.假定所有变量均已正确定义,下列程序段运行后y的值是()。
inta=0,y=10;
if(a=0)y--;elseif(a>0)y++;elsey+=y;
A.20B.11C.9D.0
22.假定所有变量均已正确定义,下列程序段运行后x的值是()。
a=b=c=0,x=35;
if(!
a)x--;elseif(b);if(c)x=3;elsex=4;
A.34B.4C.35D.3
23.下面的程序片段所表示的数学函数关系是()。
y=-1;
if(x!
=0)if(x>0)y=1;elsey=0;
A.
B.
C.
D.
24.下列各语句序列中,能够且仅输出整型变量a、b中最大值的是()。
A、if(a>b)printf(”%d\n”,a);printf(”%d\n”,b);
B、printf(”%d\n”,b);if(a>b)printf(”%d\n”,a);
C、if(a>b)printf(”%d\n”,a);elseprintf(”%d\n”,b);
D、if(a
25.下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是()。
A、if(u>s)t=u;t=s;B、t=s;if(u>s)t=u;
C、if(u>s)t=s;elset=u;D、t=u;if(u>s)t=s;
26.下列各语句中,能够输出整型变量a、b中最大值的是()。
A、printf(”%d\n”,(a>b)?
a,b);
B、(a>b)?
printf(”%d”,a):
printf(”%d”,b);
C、printf(”%d”,if(a>b)aelseb);
D、printf(”%d\n”,(a>b)?
a:
b);
27.下列语句应将小写字母转换为大写字母,其中正确的是()。
A、if(ch>=’a’&ch<=’z’)ch=ch-32;
B、if(ch>=’a’&&ch<=’z’)ch=ch-32;
C、ch=(ch>=’a’&&ch<=’z’)?
ch-32:
’’;
D、ch=(ch>’a’&&ch<’z’)?
ch-32:
ch;
28.执行scanf(‘%c%c%c”,&c1,&c2,&c3);要求c1=’a’;c2=’b’;c3=’c’;正确的输入为:
A.abc↙B.abc↙C.a,b,c↙D.ab,c↙
29.执行scanf(‘%d,%d”,&c1,&c2);要求c1=3;c2=4;正确的输入是()
A.3:
4↙B.34↙C.3,4↙D.34↙
30.设unsignedinta=65535;则printf(“%o”,a);的输出是()
A.65535B.177777C.ffffD.-1
二、读程序,写运行结果(10题)
1、已知字母‘B’的ASCII码值是66,下列程序的输出结果是_________。
#include
main()
{putchar(‘\101’);}
2、下列程序的输出结果是_________。
#include
main()
{putchar(‘\’’);}
3、下列程序的输出结果是_________。
main()
{intc=65;
printf(“%c,%d”,c,c);
}
4、下列程序的输出结果是_________。
main()
{intc=6543;
printf(“%2d”,c);
}
5、下列程序的输出结果是_________。
main()
{intc=10;
printf(“%O”,c);
}
6、下列程序的输出结果是_________。
main()
{intc=10;
printf(“%x”,c);
}
7、下列程序的输出结果是_________。
main()
{printf(“%3s”,”china”);
}
8、下列程序的输出结果是_________。
#include
main()
{putchar(‘\\’’);}
9.下列程序的输出结果是_________。
main()
{intx,y;
x=16;y=(x++)+x;printf(“%d\n”,y);
x=15;printf(“%d,%d\n”,++x,x);
x=20;y=x--+x;printf(“%d\n”,y);
x=13;printf(“%d,%d”,x++,x);
}
10.下列程序的输出结果是_________。
#include”stido.h”
main()
{charb[]=”ABCDEFG”;
char*chp=&b[7];
while(--chp>&b[0])
putchar(*chp);
putchar(‘\n’);
}
三、完善程序(5题)
a)要求赋给变量a一个整数,请完善程序:
scanf(“
(1)“,&a);
b)要求赋给变量a一个实数,请完善程序:
scanf(“
(2)“,&a);
a)要求赋给变量a一个字符,请完善程序:
scanf(“(3)“,&a);
b)从键盘输入一个大写字母赋给c1,要求改用小写字母输出。
#include(4)
main()
{charc1,c2;
c1=(5);
c2=(6);
printf(“%c,%d”,c2,c2);}
c)用scanf函数输入数据
main()
{inta,b,c;
scanf(‘%d%d%d”,(7));
printf(“%d,%d,%d”,(8));}
四、编程题(5题)
1、编写程序,输入两个整数:
1500和350,求出它们的商和余数并输出。
2、编写程序,读入三个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,b中原来的值给c,c中原来的值给a,且输出改变后的a,b,c的值。
3、输入两个整型变量a,b的值,输出a+b,a-b,a*b,a/b,(float)a/b,a%b的结果,要求连同算式一起输出,每个算式占一行。
例:
a等于10,b等于5,a+b的结果输成
10+5=15
4、输入一个非负数,计算以这个数为半径的圆周长和面积。
5、输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321).
第三章参考答案
一、选择题
1、D2、D3、C4、D5、A
6、B7、A8、C9、B10、D
11、A12、B13、C14、A15、D
16、C17、A18、B19、B20、B
21.A22.B23.C24.C25.B
26.D27.B28.A29.C30.B
二、读程序,写运行结果(10题)
1.A2.’3.A,654.65435.126.A7.china8.\
9.32
16,15
40
13,13
10.GFEDCB
三、完善程序(5题)
1.%d2.%f3.%c4.
四、编程题(5题)
1、源程序
main()
{intm,n;
scanf(“%d%d”,&m,&n);
printf(“%d,%d\n”,m/n,m%n);
}
2、源程序
main()
{inta,b,c,t,;
scanf(“%d%d%d”,&a,&b,&c);
t=c;c=b;b=a;a=t;
printf(“%d,%d,%d\n”,a,b,c);
}
3、main()
{inta,b;
scanf(“%d,%d”,&a,&b);
printf(“\na+b=%d”,a+b);
printf(“\na-b=%d”,a-b);
printf(“\na*b=%ld”,a*b);
printf(“\na/b=%d”,a/b);
printf(“\na/b=%f”,(float)a/b);
printf(“\na%b=%d”,a%b);
}
4、#definepi3.14159
main()
{floatr,s,l;
scanf(“%f”,&r);
while(r<0)
{printf(“pleaseinputothernumber:
”);
scanf(“%f”,&r);
}
s=pi*r*r;
l=2*pi*r;
printf(“\ns=%f,l=%f”,s,l);
}
5、main()
{intn1,n2,a,b,c;
scanf(“%d”,&n1);
while(n1<100||n1>999)
{printf(“pleaseinputothernumber:
”);
scanf(“%d”,&n1);
}
a=n1/100;
b=n1/10%10;
c=n1%10;
n2=a+b*10+c*100;
printf(“thenewnumberis%d”,n2);
}
第四章选择结构程序设计
一、单项选择题
1.假定所有变量均已正确定义,下列程序段运行后y的值是()。
inta=0,y=10;
if(a=0)y--;elseif(a>0)y++;elsey+=y;
A.20B.11C.9D.0
2.假定所有变量均已正确定义,下列程序段运行后x的值是()。
a=b=c=0,x=35;
if(!
a)x--;elseif(b);if(c)x=3;elsex=4;
A.34B.4C.35D.3
3.下面的程序片段所表示的数学函数关系是()。
y=-1;
if(x!
=0)if(x>0)y=1;elsey=0;
A.
B.
C.
D.
4.下列各语句序列中,能够且仅输出整型变量a、b中最大值的是()。
A、if(a>b)printf(”%d\n”,a);printf(”%d\n”,b);
B、printf(”%d\n”,b);if(a>b)printf(”%d\n”,a);
C、if(a>b)printf(”%d\n”,a);elseprintf(”%d\n”,b);
D、if(a
5.下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是()。
A、if(u>s)t=u;t=s;B、t=s;if(u>s)t=u;
C、if(u>s)t=s;elset=u;D、t=u;if(u>s)t=s;
6.下列各语句中,能够输出整型变量a、b中最大值的是()。
A、printf(”%d\n”,(a>b)?
a,b);B、(a>b)?
printf(”%d”,a):
printf(”%d”,b);
C、printf(”%d”,if(a>b)aelseb);D、printf(”%d\n”,(a>b)?
a:
b);
7.下列语句应将小写字母转换为大写字母,其中正确的是()。
A、if(ch>=’a’&ch<=’z’)ch=ch-32;B、if(ch>=’a’&&ch<=’z’)ch=ch-32;
C、ch=(ch>=’a’&&ch<=’z’)?
ch-32:
’’;D、ch=(ch>’a’&&ch<’z’)?
ch-32:
ch;
8.putchar函数可以向终端输出一个()。
A)整型变量表达式B)实型变量值
C)字符串D)字符或字符型变量值
9.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式();如果字符串长度小于5,则输出按方式()。
A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出
C)右对齐输出该字符串,左补空格D)输出错误信息
11.阅读以下程序,当输入数据的形式为:
25,13,10
main()
{intx,y,z;
scanf(“%d%d%d”,&x,&y,&z);
printf(“x+y+z=%d\n”,x+y+z);
}
A)x+y+z=48B)x+y+z=35C)x+z=35D)不确定值
12.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为()。
main()
{charch1,ch2,ch3;
输入语句
printf(“%c%c%c”,ch1,ch2,ch3);
}
输出形式:
ABC
输入形式:
AB
A)scanf(“%c%c%c”,&ch1,&ch2,&ch3);
B)scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);
C)scanf(“%c%c%c”,&ch1,&ch2,&ch3);
D)scanf(“%c%c”,&ch1,&ch2,&ch3);
13.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是( )
A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B.(x>=1)||(x<=10)||(x>=200)||(x<=210)
C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210)
D.(x>=1)||(x<=10)&&(x>=200)||(x<=210)
14.设x,y,z都是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是( )
A.‘x’&&‘y’
B.x<=y
C.x||y+z&&!
y
D.!
(x z||1) 15.已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&! y)的值是() A.0 B.语法错误 C.1 D.“假” 16.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是( ) A.A%2==1 B.! (A%2==0) C.! (A%2) D.A%2 17.以下程序的运行结果是( ) #include main() {inta,b,d=241;a=d/100%9;b=(-1)&&(-1); printf(“%d,%d”,a,b);} A.6,1 B.2,1 C.6,0 D.2,0 18.执行以下语句后a的值为( ) inta,b,c; a=b=c=1; ++a||++b&&++c; A.错误 B.0 C.2 D.1 19.执行以下语句后a的值为( ),b的值( ) inta=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z); A.5 B.0 C.2 D.1 A.6 B.0 C.1 D.4 20.以下不正确的if语句形式是() A.if(x>y&&x! =y); B.if(x==y)x+=y; C.if(x! =y)scanf(“%d“,&x)elsescanf(“%d”,&y); D.if(x 21.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是( ) if(x>y)z=x;x=y;y=z; A.x=10,y=20,z=30 B.x=20,y=30,z=30 C.x=20,y=30,z=10 D.x=20,y=30,z=20 22.以下语句语法正确的是: ( ) A.if(x>0)printf(“%f”,x) elseprintf(“%f”,-x); B.if(x>0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 语言 复习 试题