C 程序的输出 |第 50 组(控制结构)
下面是一些与控制结构相关的C程序,有详细的解释,猜猜以下程序的输出:-
1.下面程序的输出是什么?
#include
int main()
{
int x = 2;
switch (x) {
x--;
switch (x) {
case 1:
printf("Hello");
break;
case 2:
printf("GFG");
break;
case 3:
printf("Welcome");
break;
default:
printf("BYE");
}
}
return (0);
}
选项:
1. 你好
2.GFG
3. 无输出
4. 再见
The answer is option(3).
说明: switch case 控制结构执行 case 中的语句。但是在上面的程序中,外层开关没有case。因此,控制不会进入开关盒内部。因此,程序不会给出任何输出,编译器也不会产生任何错误。
2.猜猜上述程序的正确答案?
#include
int main()
{
int x = 2;
switch (x) {
case 1:
printf("Hello");
break;
case 2:
printf("Hello");
break;
case 3:
printf("GFG");
break;
default:
printf("BYE");
}
return (0);
}
选项:
1.异常终止
2.编译时错误
3.无输出
4. 你好
The output is option(4).
说明:在上面的程序中,x 的值为 2,所以 case 2 会执行并打印 Hello。
资源:https://www.geeksforgeeks.org/switch-statement-cc/
3.循环运行多少次?
#include
int main()
{
int i;
for (i = 1; i <= 100; i++) {
printf("GFG\n");
if (i == 5)
break;
}
return (0);
}
选项:
1. 5 次
2. 15次
3. 10次
4. 20次
The answer is option(1).
解释:这里循环打印 GFG 5 次。因为当 for 循环计数器值即 i 为 5 时,break 语句会将控制转移到外部循环。
资源:www.geeksforgeeks.org/break-statement-cc/
4.输出是什么?
#include
int main()
{
int i;
for (i = 1; i <= 10; i++) {
printf("welcome\n");
continue;
printf("hii");
}
return (0);
}
选项:
1.打印欢迎5次
2.打印hii 5次
3.打印hii 10次
4.打印欢迎10次
The answer is option(4).
说明:当for循环的控制权到达continue语句时,控制权自动转移到循环的开头,离开printf(“hii”);陈述。
资源:https://www.geeksforgeeks.org/continue-statement-cpp/
5.程序会打印多少次?
#include >
int main()
{
int i;
for (i = 2; i = 100; i += 2) {
printf("Hi\\n");
}
return (0);
}
选项:
1.打印2次
2. 无限
3.打印10次
4.打印5次
The answer is option(2).
说明:因为值 100 每次都分配给 i 并且它不检查任何条件,因为这里 for 循环中没有 = 符号。因此循环进入无限循环。