C 字符串测试(测验)

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

1) 以下哪个函数更适合读取多词字符串?

  1. puts()
  2. gets()
  3. printf()
  4. scanf()

正确选项是 (b)。

说明

gets() 函数用于从标准输入流 stdin 收集以换行符终止的字符串。

因此,gets() 更适合读取多词字符串。

2) 哪个库函数可以将无符号长整型转换为字符串?

  1. system()
  2. ltoa()
  3. ultoa()
  4. 无符号长整型无法转换为字符串

正确选项是 (c)。

说明

ultoa() 函数用于将无符号长整型转换为字符串。

3) 当两个字符串相同时,strcmp() 函数返回什么值?

  1. 2
  2. 1
  3. 0
  4. Error

正确选项是 (c)。

说明

C 库函数 strcmp() 比较两个字符串,并根据比较结果返回相应的值。

比较发生在第一个字符串 (str1) 和第二个字符串 (str2) 之间。

比较两个字符串时,strcmp() 函数返回的值为

  • 如果 str1 等于 str2,则返回值为 0
  • 如果 str1 大于 str2,则返回值为 > 0
  • 如果 str1 小于 str2,则返回值为 < 0

4) 用于比较两个字符串的内置库函数是什么?

  1. strcmp()
  2. equals()
  3. str_compare()
  4. string_cmp()

正确选项是 (a)。

说明

strcmp() 是 "string.h" 头文件中可用的内置函数。它用于比较两个字符串。如果两者相同,则返回 0。如果第一个字符串大于第二个字符串,则返回大于 0 的正值,否则返回负值。

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

  1. b
  2. a
  3. A
  4. 65

正确选项是 (c)。

说明

步骤 1: char a[] = "%d\n"; 变量 'a' 被声明为字符数组并用字符串 "%d" 初始化。

步骤 2: a[1] = 'b'; 在这里,我们将数组 'a' 的第二个元素覆盖为 'b'。因此,数组 'a' 变为 "%c"。

步骤 3: printf(a, 65); 变为 printf("%c", 65);

因此,它将打印 65 的 ASCII 值。因此输出为 'A'。