内容正文:
2.5 数据的输入
【基础巩固】
1. (单选)
#include <stdio.h>
main()
{ char a,b,c,d;
scanf(“%c%c”,&a,&b);
c=getchar(); d=getchar();
printf(“%c%c%c%c
”,a,b,c,d);
}
当执行程序时,按下列方式输入数据:
12<CR>
34<CR>
则输出结果是( )。
A. 1234 B.12
C.12 D.12
3 34
2. (单选)已有如下定义语句和输入语句,若要求a1, a2, c1, c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是( )。(注:□代表空格)
A.10A□20B<回车> B.10□A□20□B<回车>
C.10□A□20B<回车> D.10A20□B<回车>
3.(单选)以下针对scanf函数的叙述中,正确的是( )。
A.输入项可以为一实型常量,如scanf(“%f”,3.5);
B.只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d, b=%d”);
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);
D.当输入数据时,必须指明变量的地址,如scanf(“%f”, &f)
【能力进阶】
4.(单选)有输入语句:scanf(“a=%d, b=%d, c=%d”, &a, &b, &c);为使变量a的值为1,b的值为3,c的值为2;从键盘输入数据的正确形式应当是( )。
A.123<回车>
B.1,3,2<回车>
C.a=1□b=3□c=2<回车>
D.a=1, b=3, c=2<回车>
4.(单选)阅读以下程序,当输入数据的形式为25,13,10<回车>,程序的输出结果为( )。
A. #include <stdio.h>
B. int main( )
C. { int x,y,z;
D. scanf(“%d%d%d”, &x, &y, &z);
E. printf(“x+y+z=%d
”, x+y+z);
F. return 0;
G. }
A.x+y+z=48 B.x+y+z=35
C.x+z=35 D.不确定值
5.(单选)使用getchar和putchar函数进行单个字符输入输出时,必须使用预处理命令“#include”包括( )文件
A. stdio.h B. math.h C.string.h D.stdlib.h
6. (单选)若执行下面的程序时从键盘上输入3和4,则输出是( )
main()
{ int a,b,s;
scanf("%d %d",&a,&b);
s=a;
if(a<b)s=b;
s=s*s;
printf("%d
",s);}
A.14 B.16
C.18 D.20
7.(单选)若x和y均定义为int型,z定义为double型,以下不合法的scanf()函数调用语句为( )
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);
8.(填空)若要求下列程序的输出结果为8.00,则[ ]中应填入的是 ( )。
#include<stdio.h>
int main()
{int k=2,m=5;
float s,x=1.2,y=[ ];
s=2/3+k*y/x+m/2;
printf("%4.2f
",s);
return