广技师C语言复习题2练习输入输出有答案Word文档下载推荐.docx
《广技师C语言复习题2练习输入输出有答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《广技师C语言复习题2练习输入输出有答案Word文档下载推荐.docx(7页珍藏版)》请在冰豆网上搜索。
5<
3.以下程序的输出结果是。
{printf(“\n*s1=%15s*”,“chinabeijing”);
pirntf(“\n*s2=%-5s*”,“chi”);
A.*s1=chinabeijing□□□*B.*s1=chinabeijing□□□*
*s2=**chi**s2=chi□□*
C.*s1=*□□chinabeijing*D.*s1=□□□chinabeijing*
*s2=□□chi**s2=chi□□*
4.已有如下定义语句和输入语句,若要求a1,a2,c1,c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是。
inta1,a2;
charc1,c2;
scanf(“%d%c%d%c”,&
a1,&
c1,&
a2,&
c2);
A.10A□20B<
B.10□A□20□B<
C.10□A□20B<
D.10A20□B<
5.已有定义intx;
floaty;
且执行scanf(“%3d%f”,&
x,&
y);
语句,若从第一列开始输入数据12345□678<
,则x的值为
(1),y的值为
(2)。
(1)A.12345B.123C.45D.345
(2)A.无定值B.45.000000C.678.000000D.123.000000
6.阅读以下程序,当输入数据的形式为25,13,10<
,程序的输出结果为。
{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=35
C.x+z=35D.不确定值
8.以下针对scanf函数的叙述中,正确的是。
A.输入项可以为一实型常量,如scanf(“%f”,3.5);
B.只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&
f);
D.当输入数据时,必须指明变量的地址,如scanf(“%f”,&
f)
10.有输入语句:
scanf(“a=%d,b=%d,c=%d”,&
b,&
c);
为使变量a的值为1,b的值为3,c的值为2;
从键盘输入数据的正确形式应当是。
A.132<
B.1,3,2<
C.a=1□b=3□c=2<
D.a=1,b=3,c=2<
12.已知ch是字符型变量,下面不正确的赋值语句是。
A.ch=‘a+b’;
B.ch=‘\0’;
C.ch=‘7’+‘9’;
D.ch=5+9;
15.设x,y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;
后,x、y和z的值是。
A.x=10B.x=10C.x=10D.x=10
y=15y=10y=10y=5
z=10z=10z=15z=10
答案:
1.A2.C3.D4.A5.BB6.D7.B8.D9.A10.D
12.A13.C15.A
二、填空题
1.以下程序的输出结果为。
.
#include<
intmain()
{printf("
*%f,%4.3f*\n"
3.14,3.1415);
2.已有定义intd=-2;
执行以下语句后的输出结果是。
printf("
*d
(1)=%d*d
(2)=%3d*d(3)=%-3d*\n"
d,d,d);
3.已有定义floatd1=3.5,d2=-3.5;
printf("
*d
(1)=%e*d
(2)=%.4e*d(3)=%10.4e*\n"
d1,d1,d1);
printf("
*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\n"
d2,d2,d2);
4.以下程序的输出结果是。
{intx=1,y=2;
x=%d□y=%d*sum*=%d\n"
x,y,x+y);
10squaredis:
%d\n"
10*10);
5.以下程序的输出结果是。
{intx=10;
floatpi=3.1416;
(1)%d\n"
x);
(2)%6d\n"
(3)%f\n"
56.1);
(4)%14f\n"
pi);
(5)%e\n"
568.1);
(6)%14e\n"
return0;
6.以下printf语句中的负号的作用是,输出结果是。
{intx=12;
%6d##\n"
%-6d##\n"
7.以下程序的运行结果是。
{intn=100;
charc;
floatf=10.0;
doublex;
x=f*=n/=(c=48);
%d□%d□%3.1f□%3.1f\n"
n,c,f,x);
8.有以下程序,若运行时从键盘输入:
55AB<
,则输出结果是。
{intk=0;
charc1='
a'
c2='
b'
;
scanf("
%d%c%c"
&
k,&
%d,%c,%c\n"
k,c1,c2);
9.以下程序的运行结果是。
{intn=0;
n+=(n=10);
%d\n"
n);
10.若要求下列程序的输出结果为8.00,则[]中应填入的是。
{intk=2,m=5;
floats,x=1.2,y=[];
s=2/3+k*y/x+m/2;
%4.2f\n"
s);
11.已知字母A的ASCII码值为65。
以下程序的输出结果是。
{chara,b;
a='
A'
+'
4'
-'
3'
b='
6'
2'
a=%d,b=%c\n"
a,b);
12.假设变量a、b、c均为整型,以下语句借助中间变量t把中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
请填空。
;
a=b;
b=c;
;
13.已有定义inta;
floatb,x;
为使a=3、b=6.5、x=12.6、c1=‘a’、c2=‘A’,正确的scanf函数调用语句是,数据输入的形式应为。
14.执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1=‘A’、c2=‘a’,正确的数据输入形式是。
{inta,b;
floatx,y;
charc1,c2;
a=%d□b=%d"
a,&
x=%f□y=%f"
c1=%c□c2=%c"
a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c"
a,b,x,y,c1,c2);
1.*3.140000,3.142*
2.*d
(1)=-2*d
(2)=□-2*d(3)=-2□*
3.*d
(1)=3.500000e+000*d
(2)=3.5000e+000*d(3)=3.5000e+000*
*d(4)=-3.500000e+000*d(5)=-3.500000e+000*d(6)=-3.50000e+000*
4.x=1□y=2*sum*=3
10squaredis:
100
5.
(1)10
(2)□□□□10
(3)56.100000
(4)□□□□□□3.141600
(5)5.681000e+002
(6)□3.141600e+000
6.左对齐
□□□□12##
12□□□□##
7.2□48□20.0□20.0
8.55,A,B
9.20
10.3.6
11.a=66,b=E
12.t=ac=t
13.scanf("
%d%f%f%c%c"
b,&
3□6.5□12.6aA
14.a=3□b=7x=8.5□y=71.82c1=A□c2=a