C 控制语句 测试 3

2024 年 9 月 5 日 | 阅读 3 分钟

C 控制语句测试试卷 3 包含有关决策语句:if-else 和 switch,循环语句:for 循环、while 循环和 do-while 循环,以及跳转语句:break 和 continue 的问题。


11) 关于 C 程序中的 if-else 语句,以下哪些陈述是正确的?

  1. 允许嵌套 if-else 语句
  2. 每个 if-else 语句都可以用 ?: 运算符的等效语句替换
  3. 允许在 else 块中使用多个语句
  4. 允许在 if 块中使用多个语句
  1. 1, 3 和 4
  2. 1, 2, 3 和 4
  3. 2, 3 和 4
  4. 1 and 4

正确选项是 (a)。

说明

C 程序中允许嵌套 if-else 语句,我们可以在 if 或 else 语句内使用 if-else 语句。

在 if 或 else 块中使用多个语句是允许的,因为我们可以通过将语句放在 { ?.. } 中来对 if 或 else 条件的真值执行多个语句。

大多数 if-else 语句都可以被三元运算符替换,但也有一些例外情况,在这些情况下 if-else 语句不能被三元运算符替换。

因此,关于 if-else 语句,陈述 1、3 和 4 是正确的。

12) 找出以下程序中的错误(如果有):

  1. 错误:在 case P 行需要常量表达式
  2. 错误:每个 case 中都没有 break 语句
  3. 错误:未指定默认值
  4. 没有错误

正确选项是 (a)。

说明

在编译程序时,编译器将在行 case P: 处报告错误“需要常量表达式”,因为不允许将变量名与 case 语句一起使用。

case 语句只接受常量表达式。因此,会出现错误:在 case P: 行需要常量表达式。

13) 找出以下程序中的错误(如果有):

  1. 错误:在 switch 语句中
  2. 错误:在 case 1*2+4 语句中
  3. 错误:未指定默认值
  4. 无错误

正确选项是 (d)。

说明

在 switch 语句中,允许使用常量表达式,因此在 case 1*2+4 语句中不会报错。

因此,在程序的输出中会打印“Case1”。

14) 长整型至少为 32 位宽,而短整型至少为 16 位宽。

  1. true
  2. False

正确选项是 (a)。

说明

使用的基本 C 编译器是 16 位编译器,以下是其数据类型的大小:

long int 的大小为 4 字节,即 32 位。

short int 的大小为 2 字节,即 16 位。

15) char 变量可以存储 Unicode 字符或 ASCII 字符。

  1. true
  2. False

正确选项是 (a)。

说明

是的,char 变量允许存储 Unicode 字符或 ASCII 字符,因为字符数据类型的编码是以 Unicode 或 ASCII 格式完成的。