C 函数 测试 4

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

16) 以下程序的输出是什么?

  1. 输出 1
  2. 输出 10
  3. 输出 20
  4. 编译错误

正确选项是 (d)。

说明

第 16 行a>=45 ? return(*y): return(*z);程序中存在错误,不允许在三元运算符中使用 return 关键字

因此,程序输出会发生编译错误

17) 以下程序的输出是什么?

  1. 你好
  2. 你好,你好
  3. 无输出
  4. 无限循环

正确选项是 (a)。

说明

步骤 1: int j; 变量 j 被声明为整数类型。

步骤 2: int function(); 此语句告知编译器,该函数不接受任何参数,并返回一个整数值。

步骤 3: while(j) j 的值未初始化,因此 while 条件失败。因此,它不会执行 while 块。

步骤 4: printf("Hi\n"); 此语句打印“Hi”。

因此,程序的输出是“你好”。

18) C 库函数 rewind() 用于将文件指针重新定位到文件开头。

  1. true
  2. False

正确选项是 (a)。

说明

在 C 中,rewind 函数将给定流的文件位置重新定位到文件开头。

使用 rewind() 函数的语法是

void rewind(FILE *stream)

此函数还会清除流的错误和文件结束指示器。

19) 支持 malloc() 和 calloc() 函数需要使用哪个头文件?

  1. stdio.h
  2. math.h
  3. stdlib.h
  4. memory.h

正确选项是 (c)。

说明

void *calloc(size_h nitems, size_h size): calloc() 函数需要双参数。

void *malloc(size_h size) : malloc() 函数需要单个参数。

为了支持 malloc() 和 calloc() 函数,需要 **stdlib.h** 头文件。

20) 函数的执行速度可能比宏快。

  1. true
  2. False

正确选项是 (b)。

说明

宏可以更快地执行,没有上下文切换的开销,因为宏的代码会在调用时展开。

因此,上述陈述是错误的。