内容正文:
专题三 输入、输出语句
1、 选择题
1. 若 x 和 y 为整型变量,对于 scanf("a=%d,b=%d",&x,&y); 语句,可使 x 和 y 的值分别为 10
和 20的正确输入方法是( )。_
A. 10 20
B. 10, 20
C. a=10 b=20
D. a=10,b=20
答案:D
解析:本题考察输入函数scanf的输入格式,非格式符原样输入。
2. 对于下述语句,若将10 赋给变量k1 和k3,将20 赋给变量k2 和k4,则应按哪种方式输入数据。( )
int k1,k2,k3,k4;
scanf( “%d%d” ,&k1,&k2);
scanf( “%d,%d” ,&k3,&k4);
A.1020↙ B.10 20↙
1020↙ 10 20↙
C.10,20 ↙ D.10 20↙
10,20↙ 10,20↙
答案:D
解析:本题考察输入函数scanf的输入格式,若两个整数之间没有间隔符,则用空格、回车、tab键隔开,非格式符原样输入。
3. 若定义x 为double 型变量,则能正确输入x 值的语句是( )。
A. scanf( “%f”,x);
B. scanf( “%f”,&x);
C. scanf( “%lf”,&x);
D. scanf( “%5.1f”,&x);
答案:D
解析:本题考察输入函数scanf的格式符。double型数据的格式符为%lf。
4. 若运行时输入: 12345678↙,则下列程序运行结果为( )。
main ( )
{ int a,b;
scanf( “%2d%2d” ,&a,&b);
printf( “%d”,a+b);
}
A.46
B.579
C.5690
D.出错
答案:A
解析:本题考察输入函数scanf的输入格式符%md,其中m表示截取的宽度,即12给a,34给b。
5.若有定义: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%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);
D. scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);
答案:C
解析:本题考察输入函数scanf的输入格式,回车、空格均为一个字符。
6.设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<回车>
答案:B
解析:本题考察输入函数scanf的输入格式,非格式符原样输入。
7.下面程序的输出是( )
main()
{
int k=11;
printf("k=%d,k=%o,k=%x
",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
答案:D
解析:本题考察输出函数中整型的格式符%d为十进制,%o为八进制,%x为十六进制输出。
8.以下程序的输出结果是( )
main()
{ int x=10,y=3;
printf(“%d
”,y=x/y);
}
A. 0
B. 1
C. 3
D. 不确定
答案:C
解析:本题考察printf输出函数的格式,格式符对应的是y=x/y赋值表达式的值,10/3=3,整数相除,结果为整型。
2、 填空题
1.编写程序求矩形的面积和周长,矩形的长和宽由键盘输入,请填空。
#include <stdio.h>
void main()
{ float l,w;
[1]
printf(“pl