C 程序的输出 |第 61 组(循环)
先决条件: C 中的循环
Q.1这个程序的输出是什么?
#include
using namespace std;
int main()
{
int i, j, var = 'A';
for (i = 5; i >= 1; i--) {
for (j = 0; j < i; j++)
printf("%c ", (var + j));
printf("\n");
}
return 0;
}
选项
a) ABCDE
ABCDE
ABCDE
ABCDE
ABCDE
b) ABCD
A B C D
A B C D
A B C D
c) ABCD
美国广播公司
AB
一种
d) ABCDE
A B C D
美国广播公司
AB
一种
ans:- d
说明:-内循环迭代小于等于 i 的值,从而打印
ABCDE
A B C D
美国广播公司
AB
一种
Q.2这个程序的输出是什么?
#include
using namespace std;
int main()
{
int counter = 1;
do {
printf("%d, ", counter);
counter += 1;
} while (counter >= 10);
printf("\nAfter loop counter=%d", counter);
printf("\n");
return 0;
}
选项
a) 循环后计数器=1
b) 1,
循环后计数器=2
c) 1,
循环后计数器=1
d) 循环后计数器=2
ans:- b
说明:- do while 是一个退出控制循环,这里先执行循环体,然后检查条件。
Q.3这个程序的输出是什么?
#include
using namespace std;
int main()
{
int counter = 1;
while (counter >= 10) {
printf("%d, ", counter);
counter += 1;
}
printf("\nAfter loop counter=%d", counter);
printf("\n");
return 0;
}
选项
a)循环后计数器=1
b)1,
循环后计数器=2
c)1、
循环后计数器=1
d) 循环后计数器=2
ans:- a
解释:-由于 while 是一个入口控制循环,所以这里的条件将首先被检查。
Q.4这个程序的输出是什么?
#include
using namespace std;
int main()
{
int loopvar = 10;
while (printf("Hello ") && loopvar--)
;
return 0;
}
选项
一)你好
b) 你好 你好 你好 .......
c)你好你好你好你好你好你好你好你好
d)你好你好你好你好你好你好你好你好你好
ans:- d
解释:-因为使用了后递减运算符,所以在表达式 loopvar – – 被评估后值会递减。因此,Hello 被打印了 11 次。
Q.5这个程序的输出是什么?
#include
#include
using namespace std;
int main()
{
int counter = 1;
while (counter <= 10 && 1 ++)
printf("Hello");
return 0;
}
选项
a) 编译错误
b)你好你好……10次
c)你好你好……11次
d) 你好
ans:- a
说明:-错误:需要左值作为增量操作数。这是一个编译时错误。