3.4 习题
一、选择题
1. 若x 和y 均定义为int 型,z 定义为double 型,以下不合法的scanf()函数调用语句是
( D)
A)scanf(“%d%1x,%1e”,&x,&y,&z); B)scanf(“%2d*%d%1f”,&x,&y,&z);
C)scanf(“%x%*d%o”,&x,&y); D)scanf(“%x%o%6.2f”,&x,&y,&z);
2. 有如下程序段:
int a1,a2;
char c1,c2;
scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);
若要求a1,a2,c1,c2 的值分别为10,20,A,B,正确的数据输入是( D)
A)10A 20B〈CR〉B)10 A 20 B〈CR〉
C)10 A20B〈CR〉D)10A20 B〈CR〉
3. 有如下程序,输入数据12345ff1678<CR>后,x 的值是( B),y 的值是( A)
#include〈sdtio.h〉
void main()
{
int x
float y;
scanf(“%3d%f”,&x,&y);
}
<1> A)12345 B)123
C)45 D)345
<2> A)45.000000 B)45678.000000
C)678.000000 D)123.000
4. 有如下程序,对应正确的数据输入是( B)
#include〈sdtio.h〉
void main()
{
float a,b;
scanf(“%f%f”,&a,&b);
printf(“a=%f,b=%f\n”,a,b);
}
A)2.04<CR> B)2.04,5.67<CR>
5.67<CR>
C)A=2.04,B=5.67<CR> D)2.045.676<CR>
5. 有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a 的值为1,b 的值
为3,c 的值为2,从键盘输入数据的正确形式应是( C)
A)32<CR> B)1, 3, 2<CR>
C)a=1, b=3, c=2<CR> D)a=1,b=3,c=2<CR>
6. 程序的执行结果是(A )
#include<stdio.h>
void main()
{
int sum,pad;
sum=pad=5;
pad=sum++;
pad++;
++pad;
printf(“%d\n”,pad);
}
A)7 B)6 C)5 D)4
7. 以下程序的执行结果是( B)
#include<stdio.h>
void main()
{
int m=010, n=10;
printf(“%d,%d\n”,++m,n--);
}
A)11,10 B)9,10 C)010,9 D)10,9
8. 已知字母A 的ASCII 码是65,以下程序的执行结果是( D)
#include<stdio.h>
void main()
{
char c1=‘a’,c2=‘Y’;
printf(“%d,%d\n”,c1,c2);
}
A)A,Y B)65,65 C)65,90 D)65,89
9. 以下程序的执行结果是(C )
#include<stdio.h>
#include<math.h>
void main()
{
int a=1,b=4,c=2;
float x=10.5,y=4.0,z;
z=(a+b)/c+sqrt((double)y)*1.2/c+x;
printf(“%f\n”,z);
}
A)14.000000 B)15.000000 C)13.700000 D)14.900000
10. 以下程序的执行结果是( D)
#include<stdio.h>
void main()
{
int a=2,c=5;
printf(“a=%%d,b=%%d\n”,a,c);
}
A)a=%2,b=%5 B)a=2,b=5 C)a=%%d,b=%%d D)a=%d,b=%d