3.11 当运行以下程序时,在键盘上从第一列开始输入9876543210<CR>(此处<CR>代表Enter),则程序的输出结果是
A) a=98,b=765,c=4321
B) a=10,b=432,c=8765
C) a=98,b=765.000000,c=4321.000000
D) a=98,b=765,c=4321.0
main()
{
int a; float b,c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("\\na=%d,b=%f,c=%f\\n",a,b,c);
}
答案:C
3.12 以下程序的输出结果是
A) a=%2,b=%5
B) a=2,b=5
C) a=%%d,b=%%d
D) a=%d,b=%d
main()
{ int a=2,b=5;
printf("a=%%d,b=%%d\\n",a,b);
}
答案:D
3.13 若int类型占两个字节,则以下程序段的输出是
A) -1,-1
B) -1,32767
C) -1,32768
D) -1,65535
int a=-1;
printf("%d,%u\\n",a,a);
答案:D
3.14 以下程序段的输出是
A) *496 *
B) * 496*
C) *000496*
D)输出格式符不合法
int x=496;
printf("*%-06d*\\n",x);
答案:A
3.15 以下程序段的输出是
A) |3.1415|
B) | 3.0|
C) | 3|
D) | 3.|
float a=3.1415;
printf("|%6.0f|\\n",a);
答案:C
3.16 以下程序段的输出是
A) |2345.67800|
B) |12345.6780|
C) |12345.67800|
D)
|12345.678|
printf("|%10.5f|\\n",12345.678);
答案:C
3.17 以下程序段的输出是
A) *0000057.66*
B) * 57.66*
C) *0000057.67*
D) * 57.67*
float a=57.666;
printf("*%010.2f*\\n",a);
答案:C
3.18 若从终端输入以下数据,要给变量C赋以283.19,则正确的输入语句是
A) scanf("%f",c);
B) scanf("%8.4f",&c);
C) scanf("%6.2f",&c);
D) scanf("%8",&c);
283.1900<CR> <CR>表示Enter键
答案:由于印刷错误,本题没有正确答案。改正意见:
把选项A改为:scanf("%f",&c);或者把选项D改为:scanf("%8f",&c);则可分别选择A或者D为正确答案。
3.19 若变量已正确说明,要求用以下语句给a赋予3.12、给b赋予9.0,则正确的输入形式是(□代表空格)
A) 3.12□□9.0<CR>
B) a=□□3.12b=□□□9<CR>
C) a=3.12,b=9<CR>
D) a=3.12□□,b=9□□□□<CR>
scanf("a=%f,b=%f",&a,&b); <CR>表示Enter键
答案:C
3.20 以下程序的输出结果是
A) 9 8
B) 8 9
C) 6 6
D) 以上三个都不对
#include "math.h"
main()
{ double a=-3.0, b=2;
printf("%3.0f %3.0f\\n",pow(b,fabs(a)),pow(fabs(a),b));
}
答案:B