第四章 顺序结构程序设计
学习目的与要求:1,了解C语句的概念及种类。
2,掌握字符数据的输入与输出方式。
3,重点掌握格式输入与输出。
3,重点掌握顺序程序设计。
重点,1,字符数据的输入与输出函数。
2,格式输入与输出函数。
3,顺序程序设计。
第1讲
知识归纳
1,C语句种类
(1) 控制语句
(2) 函数调用语句
(3) 表达式语句
(4) 空语句
(5) 复合语句:用{}括起来的多个语句,称为符合语句。
(6) 赋值语句:如 x = 3 ;
这三个语句,在后续内容学习中讲到,(2)、(3)、(4)现在知道有这三种语句即可。
只有一个分号的语句,它什么也不做。如;
2,putchar 函数(字符输出函数)
格式:putchar (c);// 输出字符变量c中的字符。
注意:在使用putchar()函数之前,一定要加上“包含命令”,即 #include <stdio.h>。
3,getchar 函数(字符输入函数)
格式:c= getchar();// 当运行到这个语句时,等待用户输入一个字符,并将输入字符赋值给 c 字符变量。
注意:在使用getchar()函数之前,一定要加上“包含命令”,即 #include <stdio.h>。
C语言程序设计上机指导与同步训练
·120·
·120·
4,printf()函数
格式:printf(,% d,% f,,a,x ) ;
输出变量列表;
格式控制字符串,以%开头,用双引号括起来。
说明:要求格式控制字符串中的格式符,要与所控制的变量类型匹配。
(1) %d 控制输出十进制整数;
(2) %md m指定输出宽度,若m < 数据宽度,按实际位数输出;若m >数据宽度,则左端补以空格;
(3) %o 控制输出八进制整数,输出的数值不带符号;
(4) %x 控制输出十六进制整数,输出的数值不带符号;
(5) %u 控制输出十进制unsigned型整数;
(6)%c 控制输出一个字符;
(7) %s控制输出一个字符串;
(8) %m.ns,%-m.ns控制输出一个字符串,m 控制输出字符的宽度,n表示从字符串左端开始,输出字符个数;-表示字符串向左靠,右补空格;
(9) %f 控制以小数形式,输出一个实数;
(10) %m.nf,%-m.nf控制以小数形式,输出一个实数;
m表示输出实数的宽度;n表示输出小数的位数;
-表示实数输出向左靠,右补空格;
(11) %e控制以指数形式输出实数;
(12) 如输出 %,则应在格式控制字符串中使用两个连续的%。
如printf(“%,2f%%”,1.0/5) ; //输出 20,00%。
基础训练(A)
一、填空g20076
1,C语句分为5种:,函数调用语句、,空语句g2656 g3 。
2,一个g3534g7424语句的g7380后一个字符g7171 。
3,复合语句g2460称分g12255g5219,g7171用 括起来的语句。
使用C语g16340g5223函数时,要用g1122g20056g13546g16805g2641g1208 将有g1863的g256头g7003g1226g257g2265括到用户g9316g7003g1226中。
5,使用g7643g1946输入输出g5223函数时,g12255g5219的开头要有如g991g20056g3800g10714g2641g1208,。
6,{ a=3;c+=a-b; } 在语g8873g990g15999g16760为g7171 g7477语句。
7,getchar函数的g1328用g7171从g13468端输入 个字符。
8,如g7536从g19202g11436输入字符’a’并按g3250g17722g19202,g16843g1901出以g991g12255g5219运行g6940g7536 g3g3 g3。
#include <stdio.h>
main()
{
第二部分 C语言程序设计同步训练
·121·
·121·
putchar(getchar());
}
9,以g991g12255g5219的输出g13479g7536为g3 。
main()
{
short i;
i=-4;
printf(“\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i);
}
10,以g991g12255g5219的输出g13479g7536为g3 g3g3g3。
main()
{
printf(“*%f,%4.3f*\n”,3.14,3.1415);
}
11,以g991g12255g5219的输出g13479g7536为 。
main()
{
char c=‘x’;
printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c);
}
12,g5062有定g1053int d=-2;g6203行以g991语句后的输出g13479g7536为g3 g3g3g3。
printf(“*d(1)=%d*d(2)=%3d*d(3)=%-3d*\n”,d,d,d);
printf(“*d(4)=%o*d(5)=%7o*d(6)=%-7o*\n”,d,d,d);
13,以g991g12255g5219的输出g13479g7536为g3g3 g3g3。
main()
{
int x=1,y=2;
printf(“x=%d y=%d *sum*=%d\n”,x,y,x+y);
printf(“10 Squared is:%d\n”,10*10);
}
14,以g991g12255g5219的输出g13479g7536为g3g3 g3g3。
#include <stdio.h>
main()
{
float a=123.456; double b=8765.4567;
printf(“(1) %f\n”,a);
printf(“(2) %14.3f\n”,a);
printf(“(3) %6.4f\n”,a);
printf(“(4) %lf\n”,b);
printf(“(5) %14.3lf\n”,b);
printf(“(6) %8.4lf\n”,b);
printf(“(7) %.4f\n”,b);
}
C语言程序设计上机指导与同步训练
·122·
·122·
g1120、g2040g7041g20076
1,所g16871函数g1319实际g990g4613g7171一个复合语句。(g3g3)
2,C语g16340g7424g17535不g6564g1391输入输出语句,输入g2656输出g6817g1328g7171g11013函数来实现的。(g3g3)
3,putchar函数可以向g13468端输出一个整数数据。(g3g3)
4,g13783g15397到printf g2656scanf函数使用g20069g13333,g13007g13491g1813g16780在使用这两个函数时可不g2164#include
g2641g1208。( )
5,g1231g1321表达式g18129可以g2164g990分号g13792g6116为有g5859g1053的语句。(g3g3)
三、g17885g6333g20076
1,以g991不g4658g1122控制语句的g7171( )。
A) 表达式语句 B) g17885g6333语句 C) g5502g10627语句 D) g17728g12239语句
2,putchar函数可以向g13468端输出一个( )。
A) 整型变量表达式值
B) 实型变量值
C) 字符串
D) 字符g6122字符型变量值
3,getchar函数的g2454数个数g7171(g3g3 )。
A) 1 B) 0 C) 2 D) g1231g5859
4,以g991g12255g5219的输出g13479g7536g7171(g3g3)。
main()
{
printf(“\n*s1=%15s*”,“chinabeijing”);
printf(“\n*s2=%-5s*”,“chi”);
}
A) *s1=chinabeijing * B) *s1=chinabeijing *
*s2=**chi* *s2=chi *
C) *s1=*chinabeijing* D) *s1=chinabeijing*
*s2=chi* *s2=chi *
5,printf函数中用到格式符g7055s,g1866中数字5表示输出的字符串g2356用5列。如g7536字符串
g19283度g3835g11225,则输出按g7053式(g3g3);如g7536字符串g19283度小g11225,则输出按g7053式(g3g3)。
A) 从左起输出g16825字串,右补空格
B) 按g2419字符g19283从左向右g1852g18108输出
C) 右g4557g21796输出g16825字串,左补空格
D) 输出g19181g16835g1461g5699
6,g5062有定g1053int a=-2;g2656输出语句:printf(“%8lx”,a);以g991g8503g11842的g2477g17860g7171(g3g3)。
A) 整型变量的输出格式符只有g705d一种
B) g705xg7171格式符的一种,它可以g17878用g1122g1231g1321一种类型的数据
C) g705xg7171格式符的一种,g1866变量的值按十六进制输出,g1306g7058lxg7171g19181g16835的
D) g7058lx不g7171g19181g16835的格式符,g1866中数字8g16280定g1114输出字g8585的宽度
第二部分 C语言程序设计同步训练
·123·
·123·
能力提高(B)
一、g17885g6333g20076
1,以g991Cg12255g5219g8503g11842的运行g13479g7536g7171(g3g3g3g3)。
main()
{
long y=-43456;
printf(“y=%-8ld\n”,y);
printf(“y=%-08ld\n”,y);
printf(“y=%08ld\n”,y);
printf(“y=%+8ld\n”,y);
}
A) y= -43456 B) y= -43456
y= -43456 y= -43456
y= -0043456 y= -0043456
y= -43456 y=+43456
C) y= -43456 D) y= -43456
y= -43456 y= -0043456
y= -0043456 y=00043456
y= -43456 y= +43456
2,以g991Cg12255g5219g8503g11842的运行g13479g7536g7171(g3g3)。
main()
{
int y=2456;
printf(“y=%3o\n”,y);
printf(“y=%8o\n”,y);
printf(“y=%#8o\n”,y);
}
A) y=2456 B) y=4630
y=2456 y=4630
y=########2456 y=########4630
C) y=2456 D) y=4630
y=2456 g3 y=4630
y=02456 y=04630
g1120、若a=3,b=4,c=5,x=1.2,y=2.4,u=51274,n=128765,c1=’a’,c2=’b’。g5831g5483到以g991的输出格式g2656g13479g7536,g16843g1901出g12255g5219(g2265括定g1053变量类型g2656g16786g16757输出)。
要求输出的g13479g7536如g991:g438表示空格
a=g4383g438g438b=g4384g438g438c=g4385
x=1.200000,y=2.400000,z=-3.600000
x+y=g4383.60g438g438y+z=-1.20g438g438z+x=-2.40
u=g43851274g438g438n=g438g438g438128765
C语言程序设计上机指导与同步训练
·124·
·124·
c1=’a’ g438org43897(ASCII)
c2=’B’ g438org43898(ASCII)
第2讲
知识归纳
1,scanf()函数
格式:scanf (,% d % f,,&a,&x ) ;
变量g3332g3348列表;一定g7171 &开头,后g19766g13051g17331 变量g2529;
格式控制字符串,以%开头,用双引号括起来。
说明:要求格式控制字符串中的格式符,要与所控制的变量类型匹配。
(1) 格式控制字符串中的格式符,与printf()函数中的格式符g11468一g14280。
(2) scanf (,%d %5d,,&a,&b) ; //数字 5,指定g6142g2474数字的位数。
(3) 输入数据时,以一个g6122多个空格g1328g19400g19560。
(4) scanf (,%d,%d,,&a,&b)。
格式符之间的符号,在输入数据时,要原样输入;
(5) 在scanf ()中,这g7691g1901g7171g19181g16835的 scanf (,% 5,2 f“,&x ) ;
,2 不能有。
(6) 在scanf (,%c%c,,&c1,&c2) ; 这个语句中,输入字符之g19400不需要输入空格g19400g19560
符,更不需要输入g1866他g19400g19560符;
2,顺序结构程序设计
(1) 根据问g20076g2656要求,g1901出算g8873思g5831;
(2) 会画顺g5219g13479构g12255g5219的流g12255图;
(3) 根据流g12255图,g1901出g9316代码。
基础训练(A)
一、填空g20076
1,printf函数的g1328用g7171向g13468端 若干个g1231g5859类型的数据。
2,printf函数中的g256格式控制g257,g2265括 g2656 两种g1461g5699。
3,scanf函数中的g256格式控制g257后g19766应当g7171变量,g13792不g7171变量g2529。
4,在用 scanf 函数中输入数据时,如g7536在g256格式控制g257字符串中除g1114格式说明以外还有g1866他字符,则应在g4557应位置输入与这些字符g11468同的 。
5,在用”%c”格式输入字符时,空格字符g2656g256g17728g1053字符g257g18129g1328为有g6940字符 。
第二部分 C语言程序设计同步训练
·125·
·125·
6,在输入数据时,遇以g991情况时g16825数据g16760为g13479束:遇,g6122按g3250g17722g6122TABg19202;
g6122按指定的宽度g13479束;g6122遇非g8873输入。
7,输入数据时不能g16280定 。
8,如g7536在%后有一个g256*g257附g2164说明符,表示 。
g1120、g17885g6333g20076
1,若int a,b; scanf(“%d%d”,&a,&b); 不可以用(g3g3)g1328为输入的分g19560符。
A),B) 空格 C) g3250g17722 D) TABg19202
2,若x,y均定g1053为int型,z定g1053为double型,以g991不合g8873的scanf函数调用语句g7171
( )。
A) scanf(“%d%lx,%le”,&x,&y,&z);
B) scanf(“%2d*%d%lf”,&x,&y,&z);
C) scanf(“%x%*d%o”,&x,&y);
D) scanf(“%x%o%6.2f”,&x,&y,&z);
3,g5062有如g991定g1053g2656输入语句,若要求 a1,a2,c1,c2 的值分别为 10,20,A g2656 B,
当从第一列开始输入数据时,g8503g11842的数据输入g7053式g7171(g3g3)。
int a1,a2; char c1,c2;
scanf(“%d%d”,&a1,&a2);
scanf(“%c%c”,&c1,&c2);
A) 1020AB<CR> B) 10 20<CR>
AB<CR>
C) 10 20 AB<CR> D) 10 20AB<CR>
4,阅读以g991g12255g5219,当输入数据的形式为25,13,10<CR>g3g8503g11842的输出g13479g7536为(g3g3g3g3)。
main()
{
int x,y,z;
scanf(“%d%d%d”,&x,&y,&z);
printf(“x+y+z=%d\n”,x+y+z);
}
A) x+y+z=48
B) x+y+z=35
C) x+z=35
D) 不g11842定值
5,g5062有g12255g5219g8585g2656输入数据的形式如g991,g12255g5219中输入语句的g8503g11842形式应当为(g3g3)。
main()
{
int a; float f;
printf(“\nInput number:”);
输入语句
printf(“\nf=%f,a=%d\n”,f,a);
}
Input number:4.5 2<CR>
C语言程序设计上机指导与同步训练
·126·
·126·
A) scanf(“%d,%f”,&a,&f);
B) scanf(“%f,%d”,&f,&a);
C) scanf(“%d%f”,&a,&f);
D) scanf(“%f%d”,&f,&a);
6,根据定g1053g2656数据的输入g7053式,输入语句的g8503g11842形式为(g3g3g3g3)。
g5062有定g1053:float f1,f2;
数据的输入g7053式:4.52
g3g3g3g3g3g3g3g33.5
A) scanf(“%f,%f”,&f1,&f2);
B) scanf(“%f%f”,&f1,&f2);
C) scanf(“%3.2f %2.1f”,&f1,&f2);
D) scanf(“%3.2f%2.1f”,&f1,&f2);
7,阅读以g991g12255g5219,若运行g13479g7536为如g991形式,输入输出语句的g8503g11842内容g7171(g3g3g3g3)。
main()
{
int x; float y;
printf(“enter x,y:”);
输入语句
输出语句
}
输入形式 enter x,y:2 3.4
输出形式 x+y=5.40
A) scanf(“%d,%f”,&x,&y);
printf(“\nx+y=%4.2f”,x+y);
B) scanf(“%d%f”,&x,&y);
printf(“\nx+y=%4.2f”,x+y);
C) scanf(“%d%f”,&x,&y);
printf(“\nx+y=%6.1f”,x+y);
D) scanf(“%d%3.1f”,&x,&y);
printf(“\nx+y=%4.2f”,x+y);
8,以g991说g8873g8503g11842的g7171(g3g3 )。
A) 输入项可以为一实型常量,如scanf(“%f”,3.5);
B) 只有格式控制,没有输入项,也能进行g8503g11842输入,如scanf(“a=%d,b=%d”);
C) 当输入一个实型数据时,格式控制g18108分应g16280定小数点后的位数,如
scanf(“%4.2f”,&f);
D) 当输入数据时,必须指明变量的g3332g3348,如scanf(“%f”,&f);
9,有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b为3,c
为2,从g19202g11436输入数据的g8503g11842形式应当g7171(g3g3)。
A) 132<g3250g17722>
B) 1,3,2<g3250g17722>
第二部分 C语言程序设计同步训练
·127·
·127·
C) a=1 b=3 c=2<g3250g17722>
D) a=1,b=3,c=2<g3250g17722>
10,g5062有如g991定g1053g2656输入语句,若要求a1,a2,c1,c2的值分别为10,20,Ag2656B,
当从第一列开始输入数据时,g8503g11842的数据输入g7053式g7171(g3g3)。
int a1,a2; char c1,c2;
scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);
A) 10A 20B<CR> B) 10 A 20 B<CR>
C) 10A20B<CR> D) 10A20 B<CR>
11,g5062有定g1053int x; float y;且g6203行scanf(“%3d%f”,&x,&y);语句,若从第一列开始输入数据12345 678<g3250g17722>,则x的值为( ),y的值为( )。
(1) A) 12345 B) 123 C) 45 D) 345
(2) A) 无定值 B) 45.000000 C) 678.000000 D) 123.000000
三、g13546g12255g20076
1,g13546g1901g12255g5219,从g19202g11436g990输入三个数分别赋值给变量 a、b、c,求它们的平均值。并按如g991形式输出:average of **、** and ** is **.**。g1866中,三个**依次表示a、b、c的值,
**.**表示a,b,c的平均值。
2,输入9时23分并把它化g6116分钟后输出 (从零点整开始g16757算)。
3,1.3 1英里=1.609公里,g3332球与月球之g19400的距离g3835约g7171238857英里,g16843g13546g1901Cg12255g5219,
在屏幕g990显示出g3332球与月球之g19400g3835约g7171多少公里?
能力提高(B)
一、填空g20076
1,在 scanf 函数调用语句中,可以在格式字符g2656g705号之g19400g2164一星号,它的g1328用
g7171 ;当输入以g991数据:10 20 30 40<g3250g17722>(此g3800每个数据之g19400有两个空格),g991g19766语句的g6203行g13479g7536 。
int a1,a2,a3;
scanf(“%d%*d%d%d”,&a1,&a2,&a3);
2,有一输入函数scanf(“%d”,k);g1866不能使float类型变量kg5483到g8503g11842数值的g2419因g7171
g2656 。
3,g5062有定g1053int a; float b,x; char c1,c2;为使a=3,b=6.5,x=12.6,c1=‘a’,c2=‘A’,g8503g11842的
scanf 函数调用语句g7171,输入数据的g7053式为 。
4,若有以g991定g1053g2656语句,为使变量c1g5483到字符‘A’,变量c2g5483到字符‘B’,g8503g11842
的格式输入形式g7171g3 g3g3g3 。
char c1,c2;
scanf(“%4c%4c”,&c1,&c2);
5,g6203行以g991g12255g5219时,若从第一列开始输入数据,为使变量 a=3,b=7,x=8.5,y=71.82,
c1=‘A’,c2=‘a’,g8503g11842的数据输入形式g7171 。
C语言程序设计上机指导与同步训练
·128·
·128·
main()
{
int a,b; float x,y; char c1,c2;
scanf(“a=%d b=%d”,&a,&b);
scanf(“x=%f y=%f”,&x,&y);
scanf(“c1=%c c2=%c”,&c1,&c2);
printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c”,a,b,x,y,c1,c2);
}
6,g5062有定g1053int i,j; float x;为将-10赋给i,12赋给j,410.34赋给x;则g4557应以g991scanf
函数调用语句的数据输入形式g7171g3 g3 g3 g3 。
scanf(“%o%x%e”,&i,&j,&x);
g1120、g6203行g991列g12255g5219,按指定g7053式输入(g438表示空格),能否g5483到指定的输出g13479g7536?若不能,
g16843修改g12255g5219,使之能g5483到指定的输出g13479g7536。
输入:2g4383g4384↙
输出:a=2,b=3,c=4
x=6,y=24
g12255g5219,
main ( )
{ int a,b,c,x,y;
scanf ("%d,%d,%d",a,b,c);
x=a*b; y=x*c;
printf ("%d %d %d",a,b,c);
printf ("x=%f\n",x,"y=%f\n",y);
}
三、g13546g12255g20076
1,g13546g1901Cg12255g5219,从g19202g11436输入一个字符,在屏幕g990显示出g1866前后g11468连的三个字符。
2,g13546g12255实现不用第三个变量,实现两个数的g4557调g6817g1328。
链接二级考试
一、g17885g6333g20076
1,g991列g12255g5219的输出g13479g7536g7171( )。
A) 3 B) 3.2 C) 0 D) 3.07
main()
{ double d=3.2; int x,y;
x=1.2; y=(x+3.8)/5.0;
printf("%d \n",d*y);
}
(2000年4月)
2,g991列g12255g5219g6203行后的输出g13479g7536g7171(小数点后只g1901一位)( )。
A) 6 6 6.0 6.0 B) 6 6 6.7 6.7
C) 6 6 6.0 6.7 D) 6 6 6.7 6.0
第二部分 C语言程序设计同步训练
·129·
·129·
main()
{ double d; float f; long l; int i;
i=f=1=d=20/3;
printf("%d %ld %f %f \n",i,l,f,d);
}
(2000年4月)
3,g991列g12255g5219g6203行后的输出g13479g7536g7171( )。
A) G B) H C) I D) J
main()
{ int x='f'; printf("%c \n",'A'+(x-'a'+1)); }
(2000年4月)
4,g991列g12255g5219的运行g13479g7536g7171( )。
A) a=%2,b=%5 B) a=2,b=5
C) a=d,b=d D) a=%d,b=%d
#include <stdio.h>
main()
{ int a=2,c=5;
printf("a=%d,b=%d\n",a,c); }
(2000年4月)
5,g991列g12255g5219g6203行后的输出g13479g7536g7171( )。
A) –32767 B) FFFE C) -1 D) -32768
main()
{ char x=0xFFFF; printf("%d \n",x--); }
(2000年4月)
6,语句printf("a\bre\'hi\'y\\\bou\n");的输出g13479g7536g7171( )。
A) a\bre\'hi\'y\\\bou B) a\bre\'hi\'y\bou
C) re'hi'you D) abre'hi'y\bou
(说明:'\b'g7171退格符)
(2000年4月)
7,若变量a、ig5062g8503g11842定g1053,且ig5062g8503g11842赋值,合g8873的语句g7171( )。
A) a==1 B) ++i; C) a=a++=5; D) a=int(i);
(2000年9月)
8,若有以g991g12255g5219g8585,
int c1=1,c2=2,c3;
c3=1.0/c2*c1;
则g6203行后,c3中的值g7171( )。
A) 0 B) 0.5 C) 1 D) 2
(2000年9月)
C语言程序设计上机指导与同步训练
·130·
·130·
9,有如g991g12255g5219
main()
{ int y=3,x=3,z=1;
printf(“%d %d\n”,(++x,y++),z+2);
}
运行g16825g12255g5219的输出g13479g7536g7171( )。
A) 3 4 B) 4 2 C) 4 3 D) 3 3
(2000年9月)
10,若变量g5062g8503g11842说明为float类型,要通过语句scanf(“%f %f %f,,&a,&b,&c);给a
赋g112210.0,b赋予22.0,c赋予33.0,不g8503g11842的输入形式g7171:( )。
A) 10<g3250g17722> B) 10.0,22.0,33.0<g3250g17722>
22<g3250g17722>
33<g3250g17722>
C) 10.0<g3250g17722> D) 10 2<g3250g17722>
22.0 33.0<g3250g17722> 33<g3250g17722>
(2001年4月)
11,以g991合g8873的赋值语句g7171( )。
A) x=y=100 B) d--; C) x+y; D) c=int(a+b)
(2001年9月)
12,x、y、zg15999定g1053为int型变量,若从g19202g11436给x、y、z输入数据,g8503g11842的输入语句g7171( )。
A) INPUT x、y、z; B) scanf(“%d%d%d”,&x,&y,&z);
C) scanf(“%d%d%d”,x,y,z); D) read(“%d%d%d”,&x,&y,&z);
(2001年9月)
13,以g991g12255g5219的输出g13479g7536g7171( )。
main()
{ int a=3;
printf(“%d\n”,(a+a-=a*a) );
}
A) –6 B)12 C) 0 D) -12
(2001年9月)
14,以g991g12255g5219的输出g13479g7536g7171( )。
main()
{ char c=’z’;
printf(“%c”,c-25);
}
A) a B) Z C) z-25 D) y
(2001年9月)
15,若有定g1053:int a=8,b=5,c;,g6203行语句c=a/b+0.4;后,c的值为( )。
A) 1.4 B) 1 C) 2.0 D) 2
第二部分 C语言程序设计同步训练
·131·
·131·
(2002年4月)
16,若变量ag7171int类型,并g6203行g1114语句:a=‘A'+1.6;,则g8503g11842的g2477g17860g7171( )。
A) a的值g7171字符C B) a的值g7171浮点型
C) 不g1813g16780字符型g2656浮点型g11468g2164 D) a的值g7171字符‘A’的ASCII值g2164g9901。
(2002年4月)
17,以g991g12255g5219g8585的输出g13479g7536g7171( )。
int a=1234;
printf("%2d\n",a);
A) 12 B) 34 C) 1234 D) g6564示出g19181、无g13479g7536
(2002年4月)
18,若有说明语句:int a,b,c,*d=&c;,则能g8503g11842从g19202g11436读入三个整数分别赋给变量a、
b、c的语句g7171( )。
A) scanf("%d%d%d",&a,&b,d); B) scanf("%d%d%d",&a,&b,&d);
C) scanf("%d%d%d",a,b,d); D) scanf("%d%d%d",a,b,*d);
(2002年4月)
19,在16位Cg13546g16805g13007g13491g990,若定g1053long a;,则能给a赋40000的g8503g11842语句g7171( )。
A) a=20000+20000; B) a=4000*10;
C) a=30000+10000; D) a=4000L*10L;
(2002年4月)
20,以g991非g8873的赋值语句g7171( )。
A) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0;
(2002年9月)
21,g5062知i、j、k为int型变量,若从g19202g11436输入:1,2,3<g3250g17722>,使i的值为1、j的值为2、k的值为3,以g991g17885项中g8503g11842的输入语句g7171( )。
A) scanf(“%2d%2d%2d”,&i,&j,&k);
B) scanf(“%d %d %d”,&i,&j,&k);
C) scanf(“%d,%d,%d”,&i,&j,&k);
D) scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
(2002年9月)
22,g16786有定g1053:long x=-123456L;,则以g991能够g8503g11842输出变量x值的语句g7171( )。
A) printf(“x=%d\n”,x); B) printf(“x=%1d\n”,x);
C) printf(“x=%8dL\n”,x); D) printf(“x=%LD\n”,x);
(2002年9月)
23,若有以g991g12255g5219,
main()
{ int k=2,i=2,m;
m=(k+=i*=k);printf(“%d,%d\n”,m,i);
}
g6203行后的输出g13479g7536g7171( )。
C语言程序设计上机指导与同步训练
·132·
·132·
A) 8,6 B) 8,3 C) 6,4 D) 7,4
(2002年9月)
24,若有以g991g12255g5219g8585(n所赋的g7171八进制数)
int m=32767,n=032767
printf("%d,%o/n",m,n);
g6203行后输出g13479g7536g7171( )。
A) 32767,32767 B) 32767,032767
C) 32767,77777 D) 32767,077777
(2003年4月)
25,若有以g991g12255g5219g8585
int m=0xabc,n=0xabc;
m-=n;
printf("%X\n",m);
g6203行后输出g13479g7536g7171( )。
A) 0X0 B) 0x0 C) 0 D) 0XABC
(2003年4月)
26,有以g991g12255g5219g8585
int m=0,n=0; char c=‘a’;
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从g19202g11436g990输入:10A10<g3250g17722>,则输出g13479g7536g7171:( )。
A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,0
(2003年4月)
27,有以g991g12255g5219
main()
{ int a; char c=10;
float f=100.0; double x;
a=f/=c*=(x=6.5);
printf("%d %d %3.1f %3.1f\n",a,c,f,x);
}
g12255g5219运行后的输出g13479g7536g7171( )。
A) 1 65 1 6.5 B) 1 65 1.5 6.5
C) 1 65 1.0 6.5 D) 2 65 1.5 6.5
(2003年9月)
28,有定g1053语句:int x,y;,若要通过 scanf("%d,%d",&x,&y);语句使变量 x g5483到数值
11,变量yg5483到数值12,g991g19766四组输入形式中,g19181g16835的g7171( )。
A) 11 12<g3250g17722> B) 1,12<g3250g17722>
C) 11,12<g3250g17722> D 1,<g3250g17722>
12 <g3250g17722>
第二部分 C语言程序设计同步训练
·133·
·133·
(2003年9月)
29,g16786有如g991g12255g5219g8585
int x=2002,y=2003;
printf("%d\n",(x,y));
则以g991g2477g17860中g8503g11842的g7171( )。
A) 输出语句中格式说明符的个数少g1122输出项的个数,不能g8503g11842输出
B) 运行时产生出g19181g1461g5699
C) 输出值为2002
D) 输出值为2003
(2003年9月)
30,g16786变量x为float型且zg5062赋值,则以g991语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的g7171( )。
A) x=x*100+0.5/100.0; B) x=(x*100+0.5)/100.0;
C) x=(int)(x*100+0.5)/100.0; D) x=(x/100+0.5)*100.0;
(2003年9月)
31,g5062定g1053c为字符型变量,则g991列语句中g8503g11842的g7171( )。
A) c=‘97’; B) c="97"; C) c=97; D) c="a";
(2003年9月)
一、填空g20076
1,若g5831通过以g991输入语句给 a 赋g1122 1,给 b 赋g1122 2,则输入数据的形式应g16825g7171
________ 。
int a,b;
scanf("a=%b,b=%d,&a,&b);
(97年9月)
2,若g5831通过以g991输入语句使a=5.0,b=4,c=3,则输入数据的形式应g16825g7171_______。
int b,c; float a;
scanf("%f,%d,c=%d",&a,&b,&c);
(99年9月)
3,以g991g12255g5219的输出g13479g7536g7171 ______ 。
main()
{ unsigned short a=65536; int b;
printf(“%d\n”,b=a);
} (2000年9月)
4,若有定g1053:int a=10,b=9,c=8;接着顺g5219g6203行g991列语句后,变量b中的值g7171 _______ 。
c=(a-=(b-5));
c=(a%11)+(b=3);
(2000年9月)
C语言程序设计上机指导与同步训练
·134·
·134·
5,以g991g12255g5219的输出g13479g7536g7171________。
main()
{ int a=1,b=2;
a=a+b; b=a-b; a=a-b;
printf(“%d,%d\n”,a,b );
}
(2001年4月)
6,g991列g12255g5219的输出g13479g7536g717116.00,g16843填空。
main()
{ int a=9,b=2;
float x= ______,y=1.1,z;
z=a/2+b*x/y+1/2;
printf(“%5.2f\n”,z );
}
(2001年4月)
7,语句:x++;++x; x=x+1;x=l+x;g6203行后g18129使变量 x 中的值增 1,g16843g1901出一g7477同一功能的赋值语句(不g5483与列举的g11468同)________。
(2001年9月)
8,以g991g12255g5219的输出g13479g7536g7171_______。
main()
{ int a=177;
printf("%o\n",a);
}
(2002年4月)
9,以g991g12255g5219的输出g13479g7536g7171________。
main()
{ int a=0
a+=(a=8);
printf("%d\n",a);
}
(2002年4月)
10,若有语句
int i=-19,j=i%4;
printf("%d\n",j);
则输出g13479g7536g7171______。
(2003年4月)
11,若有g12255g5219
main()
{ int i,j;
scanf("i=%d,j=%d";&i,&j);
printf("i=%d,j=%d\n",i,j);
第二部分 C语言程序设计同步训练
·135·
·135·
}
要求给i赋10,给j赋20,则应g16825从g19202g11436输入____。
(2003年4月)
12,以g991g12255g5219运行后的输出g13479g7536g7171____。
main()
{ char m;
m=‘B’+32; printf("%c\n",m);
}
(2003年9月)