📜  C控制语句测试4

📅  最后修改于: 2020-10-23 01:45:35             🧑  作者: Mango

C控制语句测试4

C控制语句测试纸4包含来自决策语句的问题:if-else和switch,循环语句:for循环,while循环&do-while循环和jump语句:中断并继续。

16)关于下面的C程序,下列哪个陈述是正确的?

 #include
int main()
{
    int x = 100, y = 100%80, j;
    for(j=1; j<10; j++)
    if(x != y);
        printf("x = %d y = %d\n", x, y);
    return 0;
}
  1. 程序产生输出x = 100 y = 20
  2. printf()函数运行10次
  3. if(x!= y)之后的分号(;)不会产生任何错误
  4. 该程序将不产生任何输出

选项如下:

  • 2
  • 1,3
  • 3,4
  • 4

正确的选项是(b)。

说明:

语句1是正确的,因为x = 100并且y = 20是程序的输出。

语句2为false,因为printf()函数不在for循环内。因此,printf语句仅运行1次。

语句3是正确的,因为分号用于终止条件语句。因此if(x!= y);允许在C中使用。

语句4为假,因为该程序正在产生输出x = 100和y = 20。

因此,只有陈述1和3是正确的陈述。

17)以下哪个语句关于C程序中的for循环是正确的?

  1. 使用for循环可以完成的所有操作也可以使用while循环来完成。
  2. 如果我们希望循环中的语句至少执行一次,则可以使用for循环。
  3. for循环比while循环工作更快。
  4. 对于(;;);实现无限循环。

选项如下:

  1. 1
  2. 1,2,3
  3. 2 3 4
  4. 1 2 4

正确的选项是(d)。

说明:

如果我们希望循环中的语句至少执行一次,则使用for循环。因此,for循环比while循环慢,即语句3不正确。

剩下的3条关于for循环的语句是正确的。

因此,陈述1、2、4是正确的陈述。

18)如果short int为2字节宽,给定程序的输出是什么?

#include
int main()
{
    short int i = 0;
    for(i<=5 && i>=-1; ++i; i>0)
        printf("%u,", i);
    return 0;
}
  1. 表达式语法错误
  2. 1 …. 65535
  3. 0、1、2、3、4、5
  4. 无输出

正确的选项是(b)。

说明:

for循环表达式中,即对于(i <= 5 && i> =-1; ++ i; i> 0) ,表达式i <= 5 && i> =-1是循环条件。表达式++ i增加表达式。

在给定的for循环条件下,循环从1开始,直到执行整数限制为止,即65535。

因此,程序的输出为1 … 65535。

19)我们可以使用switch语句在C语言中打开字符串吗?

  1. 没有

正确的选项是(b)。

说明:

在切换状态下,情况必须是常量表达式或整数常量。

因此,不允许在C编程中使用switch语句打开字符串。

20)给定程序的输出是什么?

 #include
int main()
{
int a=5;
do
{
printf("%d\n",a);
a= -1;
}while (a>0);
return 0;
}
  1. -1
  2. 5
  3. 0
  4. 编译错误

正确的选项是(b)。

说明:

使用do-while可以在测试条件之前执行循环主体。因此,首先打印a的值(即5),然后控件到达语句a = -1。

由于-1不大于0,因此条件失败,并且循环以a = 5的值终止。

因此,程序的输出为5。