C 程序的输出 |第 43 集
1. 以下程序的输出是什么?
#include
int main()
{
int a = 1, b = 2, c = 3;
c = a == b;
printf("%d", c);
return 0;
}
选择正确的答案:
(一) 0
(乙) 1
(三) 2
(四) 3
Answer : (A)
解释 :
“==”是关系运算符,它只返回两个值,0 或 1。
0:如果 a == b 为假
1:如果 a == b 为真
自从
a=1
b=2
所以,a == b 是假的,因此 C = 0。
2. 以下程序的输出是什么?
#include
int main()
{
int a = 20;
;
;
printf("%d", a);
;
return 0;
}
选择正确的答案:
(一) 20
(B) 错误
(C);20;
(四);20
Answer : (A)
解释: ; (语句终止符)并且这里没有可用的表达式/语句,所以这是一个空语句没有副作用,因此不会发生错误。
3. 以下程序的输出是什么?
#include
int main()
{
int a = 15;
float b = 1.234;
printf("%*f", a, b);
return 0;
}
选择正确的答案:
(一) 1.234
(乙) 1.234000
(C) 编译错误
(D) 运行时错误
Answer : (B)
说明:您可以在运行时使用 %* 定义宽度格式,这称为间接宽度精度。 printf(“%*f”, a, b);被视为“%15f”,因此 b 的值打印时左填充为 15。
4. 以下程序的输出是什么?
#include
void main()
{
int a = 1, b = 2, c = 3;
char d = 0;
if (a, b, c, d)
{
printf("EXAM");
}
}
选择正确的答案:
(A) 无输出且无错误
(二) 考试
(C) 运行时错误
(D) 编译时错误
Answer : (A)
说明:打印语句将不会执行,因为“if”条件返回 false。变量 d 的值为 0。
5. 以下程序的输出是什么?
#include
void main()
{
int a = 25;
printf("%o %x", a, a);
getch();
}
选择正确的答案:
(一) 25 25
(乙) 025 0x25
(C) 12 42
(四) 31 19
(E) 这些都不是
Answer : (D)
解释 :
%o 用于以八进制数格式打印数字。
%x 用于以十六进制数字格式打印数字。
注意:c 中八进制数以 0 开头,十六进制数以 0x 开头。