C 语言控制语句测试 (测验)

2025 年 3 月 28 日 | 阅读 3 分钟

C 语言控制语句测试试卷包含以下类型的问题:决策语句(if-else 和 switch)、循环语句(for 循环、while 循环和 do-while 循环)以及跳转语句(break 和 continue)。


1) switch-case 语句中不能检查哪种数据类型?

  1. enum
  2. 字符
  3. 整数
  4. float

正确选项是 (d)。

说明

在 C 语言中,switch/case 语句的语言规范定义为使用 int 值,因此我们不能在 switch/case 语句中使用 float 值。

2) "javaTpoint" 打印了多少次?

  1. 10 次
  2. 11 次
  3. 0 次
  4. 无限次

正确选项是 (c)。

说明

在程序中,x 初始化为 -1。由于 x < 5(因为 x 是 -1),它将从 continue 语句开始。

continue 的意思是“停止当前迭代并继续下一次迭代”。因此 x 现在变为 0。这种情况将持续到 x 变为 5。

现在,如果 x 的值为 5,它将进入 else 部分,在那里它遇到 break 语句,结果它将跳出 for 循环。因此它不会执行 printf 语句。

因此,javaTpoint 将打印 0 次。

3) 如果 short int 是 2 字节宽,while 循环执行多少次?

  1. 154 次
  2. 155 次
  3. 156 次
  4. 无限次

正确选项是 (b)。

说明

short int 的大小(2 字节宽)不影响 while() 循环操作。

因此,while (i <= 155) 循环将执行 155 次。

4) 关于以下程序,哪个语句是正确的?

  1. Welcome Programmer
  2. 错误:未声明的标识符 if
  3. 错误:表达式语法
  4. 无输出

正确选项是 (c)。

说明

在程序的第 5 行,即 if(i = 8) && if(j = 24),会发生“表达式语法”错误。

因此,语句应为 if((i == 5) && (j == 10))。

因此,在编译程序时,会发生 错误:表达式语法

5) 找出以下程序中的错误(如果有)?

  1. 程序没有错误并打印 "Case1"
  2. 错误:switch 语句后无效的 printf 语句
  3. 错误:未指定默认值
  4. 以上都不是

正确选项是 (a)。

说明

在程序中,switch 语句用于 switch(j),由于 i 初始化为 1,它变为 switch(1)。

因此,case 1: 块被执行。因此它打印 "Case1"。

Printf ("Hello programmer!"); 被编译器忽略。

因此,程序中没有错误,并打印 "Case1"。