第四章 输入输出语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章输入输出语句
一、选择题
1.若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a 赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:()
A、10<回车>22<回车> 33<回车>
B、10.0,22.0,33.0<回车>
C、10.0<回车>22.0 33.0<回车>
D、10 22<回车> 33<回车>
2.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()
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);3.以下程序段的输出结果是()
int a=1234;
printf("%2d\n",a);
A、12
B、34
C、1234
D、提示出错、无结果4.若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、
b、c的语句是()
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);
5.根据定义和数据的输入方式,输入语句的正确形式为
已有定义:float f1,f2;
数据的输入方式:
4.52↙
3.5↙
A、scanf(“%f,%f”,&f1,&f2);
B、scanf(“%f%f”,&f1,&f2);
C、s canf(“%3.2f %2.1f”,&f1,&f2);
D、scan f(“%3.2f%2.1f”,&f1,&f2);
6。
根据定义和数据的输入方式,输入语句的正确形式为
已有定义:float f1,f2;
数据的输入方式:4.52 3.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. 下面程序的输出是______
main()
{
int k=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
8.若变量已正确说明为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);
9.以下程序段的输出是_______
A、*0000057.66*
B、* 57.66*
C、*0000057.67*
D、* 57.67*
float a=57.666;
printf(“*%010.2f*\n”, a);
10.若有定义:int x,y; char a,b,c; 并有以下输入数据(此处<CR>代表换行,代表空格):
1 2 <CR>
A B C<CR>
则能给X赋整数1,给Y赋数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是_______
A、 scanf("x=%d y=%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);
11.设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<回车>
12.使用语句scanf("x=%f,y=%f",&x,&y);输入变量x、y的值(□代表空格),正确的输入是____。
A、1.25,2.4
B、1.25□2.4
C、x=1.25,y=2.4
D、x=1.25□y=2.4 13.已知:int x,y;double z;则以下语句中错误的函数调用是。
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);
14.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是
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);
15.请选出合法的C语言赋值语句
A、a=b=58
B、i++;
C、a=58,b=58
D、k=int(a+b);
16.若定义float a;现要从键盘输入a数据,其整数位为3位,小数位为2位,则选用
A、scanf(“%6f”,&a);
B、scanf(“%5.2f”,a);
C、scanf(“%6.2f”,&a);
D、scanf(“%f”,a);
17.下面程序的输出结果为
#include <stdio.h>
main()
{ int a=10;
{ int a=15;
printf(“a.1=%d,”,a);
}
printf(“a.2=%d\n”,a);
}
A、a.1=10,a.2=15
B、a.1=15,a.2=10
C、a.1=15,a.2=15
D、a.1=10,a.2=10
18.以下程序的输出结果是( )
A、17,021,0x11
B、17,17,17
C、17,0x11,021
D、17,21,11
main( )
{ int k=17;
printf("%d,%o,%x\n"k,k,k);
}
19.下列程序执行后的输出结果是(小数点后只写一位)( )
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 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);
}
20.下列程序执行后的输出结果是()
A、G
B、H
C、I
D、J
main( )
{ int x='f';printf("%c \n",'A'+(x-'a'+1));}
21.下列程序执行后的输出结果是()
A、-32767
B、FFFE
C、-1
D、-32768 main( )
{ int x=0xFFFF;printf("%d \n",x--);}
22.语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是()
A、a\bre\'hi\'y\\\bou
B、a\bre\'hi\'y\bou
C、re'hi'you
D、abre'hi'y\bou (说明:'\b'是退格符)
23.有如下程序
main( )
{ int y=3,x=3,z=1;
printf("%d %d\n",(++x,y++),z+2);}
运行该程序的输出结果是()
A、3 4
B、4 2
C、4 3
D、3 3
24.若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a 赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:()
A、10<回车>22<回车> 33<回车>
B、10.0,22.0,33.0<回车>
C、10.0<回车>22.033.0<回车>
D、1022<回车> 33<回车>
25.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()
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);
26.以下程序段的输出结果是()
int a=1234;
printf("%2d\n",a);
A、12
B、34
C、1234
D、提示出错、无27.若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是()
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);28.以下程序的输出结果是()
main( )
{int a=5,b=4,c=6,d;
printf("%d\n",d=a>b?(a>c?a:c):(b));
}
A、5
B、4
C、6
D、不确定
29.
二、填空题
1、1.有以下语句段
int n1=10,n2=20;
printf(“ _________ ”,n1.n2);
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20
2、下面程序的输出是_________。
main()
{int k=11;
printf(“k=%d,k=%o,k=%x\n”,k,k,k);
}
3.复合语句在语法上被认为是________,空语句的形式是______。
4.”%-ms”表示如果串长______m,则在m列范围内,字符串向_____靠,____补空格。
5.如果想输出字符“%”,则应该在“格式控制”字符串中用_____表示。
6.printf函数的“格式控制”包括两部分,他们是______和_______。
7.符号’&’是_______运算符,&a是指________.
8.putchar 函数的作用是____________.
9.复合语句是由一对 _______括起来的若干语句组成的。
10. getchar 函数的作用是__________.
11.语句标号由标识符表示,由______、_________和________组成。
第一个字符必须是字母或下划线。
12.
三、程序填空题
四、程序阅读题
1.#include
main( )
{ char ch1,ch2; int n1,n2;
ch1=getchar(); ch2=getchar();
n1=ch1-…0‟; n2=n1*10+(ch2-…0‟);
printf(“%d\n”,n2);
}
程序运行时输入:12<回车>,执行后输出结果是__________ 。
2.以下程序的输出结果是___________________
main( )
{int a=177;
printf("%o\n",a);
}
3.下面程序的输出结果是____。
#include <stdio.h>
main( )
{ int x=10;
{ int x=20;
printf ("%d,", x);
}
printf("%d\n", x);
}
A、10,20
B、20,10
C、10,10
D、20,20
4.下面程序的输出结果是____。
(假设从键盘输入12345↙)
main()
{ int a,b;
scanf("%2d%3d",&a,&b);
printf("a=%d b=%d\n",a,b);
}
A、a=12 b=34
B、a=123 b=45
C、a=12 b=345
D、语句右错误5.以下程序的输出结果是___________________
main( )
{int a=177;
printf("%o\n",a);
}
6.以下程序的输出结果是____________________
main( )
{int a=0;
a+=(a=8);
printf("%d\n",a);
}
7.以下程序的输出结果是____________________
main( )
{int a=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
8.以下程序的输出结果是______________
main( )
{ int a=1,b=2;
a=a+b;b=a-b;a=a-b;
printf("%d,%d\n",a,b );
}
9.下列程序的输出结果是16.00,请填空。
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 );
}
10.
五、程序设计题
1.设圆半径r=
2.5,求圆球表面积、圆球体积。
用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。
请编程序。
2. 输入一个华氏温度,根据公式为c=5/9(f-32)计算并输出摄氏温度,输出时要有文字说明,取2位小数。
请编程序。
3.输入三角形的三边长,求三角形面积。
4.编写一个程序,显示下列10个转义字符:\a, \b, \n, \r, \t, \v, \‟ ,\” ,\\, \? 。
5. 编写一个程序,输入一个小写字母,输出其对应的大写字母。
6.求前驱字符和后继字符。
输入一个字符,找出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这三个字符及其对应的ASCII码值。
7.已知银行整存整取存款不同期限的月息利率分别为:
0.315% 期限一年
0.330% 期限二年
月息利率=0.345% 期限三年
0.375% 期限五年
0.420% 期限八年
要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。