📜  C 程序的输出 |第 59 集(循环和控制语句)

📅  最后修改于: 2022-05-13 01:56:10.805000             🧑  作者: Mango

C 程序的输出 |第 59 集(循环和控制语句)

先决条件:控制语句
Q.1 这个程序的输出是什么?

CPP
#include 
using namespace std;
int main()
{
    char i = 0;
    for (; i++; printf("%d", i))
        ;
    printf("%d", i);
    return 0;
}


CPP
#include 
using namespace std;
fun()
{
print:
    printf("geeksforgeeks.org");
}
int main()
{
    int i = 1;
    while (i <= 5) {
        printf("%d", i);
        if (i == 5)
            goto print;
        i++;
    }
    return 0;
}


CPP
#include 
using namespace std;
int main()
{
    unsigned char counter = 0;
    for (counter = 0; counter <= 255; counter++) {
        printf("%d ", counter);
    }
    return 0;
}


CPP
#include 
using namespace std;
int main()
{
    int count = 0;
    for (;;) {
        if (count == 10)
            break;
        printf("%d ", ++count);
    }
    return 0;
}


CPP
#include 
#include 
using namespace std;
int main()
{
    int count;
    for (count = 0; count < 10; ++count) {
        printf("#");
        if (count > 6)
            continue;
        printf("%d", count);
    }
    return 0;
}


选项
a) 0 1 2 … 无限次
b) 0 1 2 … 127
c) 0
d) 1

ans:- d 

说明:在进入 for 循环之前,CHECK CONDITION 被“评估”。这里它被评估为 0 (false) 并退出循环,并且 i 递增(注意 for 循环后面的分号)。
Q.2 这个程序的输出是什么?

CPP

#include 
using namespace std;
fun()
{
print:
    printf("geeksforgeeks.org");
}
int main()
{
    int i = 1;
    while (i <= 5) {
        printf("%d", i);
        if (i == 5)
            goto print;
        i++;
    }
    return 0;
}

选项
a) 编译器错误
b) 12345geeksforgeeks.org
c) 1234geeksforgeeks.org
d) 1geeksforgeeks.org 2geeksforgeeks.org 3geeksforgeeks.org
4geeksforgeeks.org 5geeksforgeeks.org

ans:- a

说明:编译器错误:函数main 中未定义标签“打印”。标签具有函数作用域;换句话说,标签的范围仅限于功能。标签“print”在函数fun() 中可用。因此它在函数main 中不可见。
Q.3 这个程序的输出是什么?



CPP

#include 
using namespace std;
int main()
{
    unsigned char counter = 0;
    for (counter = 0; counter <= 255; counter++) {
        printf("%d ", counter);
    }
    return 0;
}

选项
a) 0 1 2 … 无限次
b) 0 1 2 … 255
c) 编译错误
d) 运行时错误

ans:- a

说明: unsigned char 的范围是 0 到 255,当 var 的值超过 255 时,value 将为 0,同样的过程会再次发生。
Q.4 这个程序的输出是什么?

CPP

#include 
using namespace std;
int main()
{
    int count = 0;
    for (;;) {
        if (count == 10)
            break;
        printf("%d ", ++count);
    }
    return 0;
}

选项
a) 0 1 2 3 4 5 6 7 8 9 10
b) 0 1 2 3 … 无限次
c) 1 2 3 4 5 6 7 8 9 10
d) 1 2 3 4 5 6 7 8 9

ans:- c

说明: for(;;) 在 C 中是可以的,不需要在 for() 中放置条件 with,您可以将条件 with 放置在循环体中。
Q.5 这个程序的输出是什么?

CPP

#include 
#include 
using namespace std;
int main()
{
    int count;
    for (count = 0; count < 10; ++count) {
        printf("#");
        if (count > 6)
            continue;
        printf("%d", count);
    }
    return 0;
}

选项
a)#0#1#2#3#4#5#6###
b)#0#1#2#3#4#5#6#7#8#9#10
c)#0#1#2#3#4#5##7#8#9#10
d)#0#1#2#3#4#5#

ans:- a