#ZX1007. 字符串专项

字符串专项

一、单选题(每题 2 分,共 20 分)

1、下列关于C++中字符串的定义,正确的是( )。

{{ select(1) }}

  • 字符串只能由字母和数字组成
  • 字符串必须使用单引号包含
  • 字符串是0个或多个字符组成的一串字符
  • 字符数组不能存储字符串

2、要实现接受空格且能控制输入长度的字符串输入,应使用( )

{{ select(2) }}

  • cin >> s
  • getline(cin, s)
  • cin.getline(char str[], int n)
  • scanf("%s", str)

3、计算字符数组s的长度,应使用的函数是( )。

{{ select(3) }}

  • s.length()
  • strlen(s)
  • s.size()
  • length(s)

4、下列关于strcpy(s1,s2)函数的说法,正确的是( )。

{{ select(4) }}

  • 作用是将s1的内容复制给s2
  • 参数s1和s2必须是字符数组
  • 作用是将s2的内容复制给s1
  • s2的长度可以无限长

5、要将字符串s2拼接在s1尾部,对于字符数组,应使用的函数是( )。

{{ select(5) }}

  • strcat(s1, s2)
  • s1 += s2
  • strcpy(s1, s2)
  • strcmp(s1, s2)

6、string类型变量的初始化方式中,错误的是( )。

{{ select(6) }}

  • string s1 = "hello";
  • string s2("hello");
  • string s3 = 'hello';
  • string s4; s4 = "hello";

7、下列关于getline和cin.getline的区别,正确的是( )。

{{ select(7) }}

  • getline只能用于字符数组输入
  • cin.getline只能用于string字符串输入
  • getline的语法格式是getline(cin, string s)
  • cin.getline的语法格式是cin.getline(string s, int n)

8、对于string s = "welcome!",遍历字符串的正确代码是( )。

{{ select(8) }}

  • for(int i = 0; i < strlen(s); i++) cout << s[i] << endl;
  • for(int i = 0; i < s.length(); i++) cout << s[i] << endl;
  • for(int i = 0; i < s.size(); i++) cout << s(i) << endl;
  • for(int i = 0; i < strlen(s.c_str()); i++) cout << s[i] << endl;

9、下列关于strcmp函数的作用,正确的是( )。

{{ select(9) }}

  • 复制字符串
  • 比较两个字符串的内容
  • 拼接两个字符串
  • 计算字符串长度

10、string s = "Hello",执行int n = s.find("ll"),n的值是( )

{{ select(10) }}

  • 1
  • 2
  • 3
  • -1

二、判断题(每题 2 分,共 10 分)

11、C++中,字符串可以是中文、字母、数字或其他符号的组合。

{{ select(11) }}

12、cin可以接受包含空格的字符串输入。

{{ select(12) }}

13、getline(cin, string s)可以用于字符数组的字符串输入。

{{ select(13) }}

14、strcmp(s1, s2)函数比较的是两个字符串的长度大小。

{{ select(14) }}

15、string类型变量可以直接使用比较运算符(如==、>、<)进行字符串比较

{{ select(15) }}