第31练 第6章 字符串处理函数《C语言程序设计》(电子工业出版社)一课一练

| 2份
| 7页
| 38人阅读
| 0人下载

内容正文:

编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《C语言程序设计》(电子工业出版社)一课一练的第6章的第31练,内容涵盖第6章数组的6.3.6 字符串处理函数(puts/gets/strlen/strcpy/strcat/strcmp)。 《C语言程序设计》(电子工业出版社)一课一练 第31练 第6章 数组 6.3.6 字符串处理函数(puts/gets/strlen/strcpy/strcat/strcmp) 1、 单项选择题(本题共4小题) 1、下列关于字符串输出函数puts的描述,正确的是( ) A. 使用puts函数输出字符串后,系统不会自动换行 B. puts函数只能输出字符数组,不能输出字符串常量 C. puts函数可以被printf函数取代,当需要格式输出时常用printf D. puts函数无法识别字符串中的转义字符 2、字符串输入函数gets与scanf("%s", arr)的主要区别是( ) A. gets可以读取包含空格的字符串,scanf遇到空格就停止读取 B. gets以空格作为输入结束标志,scanf以回车作为结束标志 C. gets只能读取单个字符,scanf能读取字符串 D. gets没有返回值,scanf有返回值 3、使用字符串复制函数strcpy(str1, str2)时,下列说法错误的是( ) A. str2可以是字符串常量,如strcpy(str1, "test") B. str1必须有足够的长度,以容纳str2的字符串及结束标志'\0' C. strcpy会将str2中的'\0'一同复制到str1中 D. str1和str2可以是同一个字符数组 4、使用strcmp("apple", "apply")进行字符串比较,返回值的情况是( ) A. 返回值等于 0 B. 返回值大于 0 C. 返回值小于 0 D. 返回值不确定 2、 判断题(本题共3题) 1、使用字符串连接函数strcat(str1, str2)时,字符数组str1的长度不需要提前考虑,系统会自动扩容。( ) 2、gets函数可以读取包含空格、制表符的字符串,直到用户按下回车键才结束输入。( ) 3、strlen函数返回的字符串长度包含字符串结束标志'\0'。( ) 3、 填空题(本题共2题) 1、使用strcat、strcmp、strlen等字符串处理函数时,需要在程序开头包含的头文件是____。 2、字符串比较函数strcmp(str1, str2)中,当str1和str2所指的字符串完全相同时,返回值为____。 4、 读程序写结果题(本题共1题) 1、阅读下面的 C 语言程序,写出程序运行后的输出结果。 【程序代码】 #include <stdio.h> #include <string.h> int main() { char arr1[20] = "I love"; char arr2[] = " C!"; strcat(arr1, arr2); printf("字符串长度:%d ", strlen(arr1)); puts(arr1); return 0; } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《C语言程序设计》(电子工业出版社)一课一练的第6章的第31练,内容涵盖第6章数组的6.3.6 字符串处理函数(puts/gets/strlen/strcpy/strcat/strcmp)。 《C语言程序设计》(电子工业出版社)一课一练 第31练 第6章 数组 6.3.6 字符串处理函数(puts/gets/strlen/strcpy/strcat/strcmp) 1、 单项选择题(本题共4小题) 1、下列关于字符串输出函数puts的描述,正确的是( ) A. 使用puts函数输出字符串后,系统不会自动换行 B. puts函数只能输出字符数组,不能输出字符串常量 C. puts函数可以被printf函数取代,当需要格式输出时常用printf D. puts函数无法识别字符串中的转义字符 【答案】C 【解析】puts函数输出字符串后会自动换行,选项 A 错误;它可以输出字符串常量,选项 B 错误;能识别转义字符,选项 D 错误;puts的功能可被printf替代,格式输出场景更适合用printf,因此选项 C 正确。 2、字符串输入函数gets与scanf("%s", arr)的主要区别是( ) A. gets可以读取包含空格的字符串,scanf遇到空格就停止读取 B. gets以空格作为输入结束标志,scanf以回车作为结束标志 C. gets只能读取单个字符,scanf能读取字符串 D. gets没有返回值,scanf有返回值 【答案】A 【解析】gets 函数以回车作为输入结束标志,可以读取带空格的字符串;scanf("%s") 以空格、回车、制表符作为结束标志,遇到空格就停止读取。B、C 表述明显错误;gets 和 scanf 都有返回值,D 错误。 3、使用字符串复制函数strcpy(str1, str2)时,下列说法错误的是( ) A. str2可以是字符串常量,如strcpy(str1, "test") B. str1必须有足够的长度,以容纳str2的字符串及结束标志'\0' C. strcpy会将str2中的'\0'一同复制到str1中 D. str1和str2可以是同一个字符数组 【答案】D 【解析】strcpy要求源字符串和目标字符串不能重叠,若str1和str2是同一个数组,会导致复制过程中源数据被覆盖,出现错误结果,因此选项 D 的说法错误。 4、使用strcmp("apple", "apply")进行字符串比较,返回值的情况是( ) A. 返回值等于 0 B. 返回值大于 0 C. 返回值小于 0 D. 返回值不确定 【答案】C 【解析】strcmp按 ASCII 码顺序比较,前 4 个字符 "appl" 相同,第 5 个字符 'e' 的 ASCII 码(101)小于 'y' 的 ASCII 码(121),因此字符串 "apple" 小于 "apply",返回值小于 0,选项 C 正确。 2、 判断题(本题共3题) 1、使用字符串连接函数strcat(str1, str2)时,字符数组str1的长度不需要提前考虑,系统会自动扩容。( ) 【答案】× 【解析】strcat要求str1必须有足够的存储空间,否则会出现数组越界的错误,系统不会自动为数组扩容,因此该表述错误。 2、gets函数可以读取包含空格、制表符的字符串,直到用户按下回车键才结束输入。( ) 【答案】√ 【解析】gets函数不以空格作为输入结束标志,仅以回车作为结束信号,因此可以读取包含空格的完整字符串,该表述符合函数特性。 3、strlen函数返回的字符串长度包含字符串结束标志'\0'。( ) 【答案】× 【解析】strlen的功能是测量字符串的实际有效长度,不包含用于标记结束的'\0',因此该表述错误。 3、 填空题(本题共2题) 1、使用strcat、strcmp、strlen等字符串处理函数时,需要在程序开头包含的头文件是____。 【答案】string.h 【解析】C 语言规定,除了输入输出类字符串函数(如puts、gets)用stdio.h外,其他字符串处理函数都需要包含string.h头文件才能正常使用。只有包含该头文件,编译器才能识别这些函数的定义。 2、字符串比较函数strcmp(str1, str2)中,当str1和str2所指的字符串完全相同时,返回值为____。 【答案】0 【解析】strcmp的返回规则为:字符串相等返回 0,str1大于str2返回正数,str1小于str2返回负数。这是 C 语言标准规定的函数返回逻辑,用于判断两个字符串的等价性。 4、 读程序写结果题(本题共1题) 1、阅读下面的 C 语言程序,写出程序运行后的输出结果。 【程序代码】 #include <stdio.h> #include <string.h> int main() { char arr1[20] = "I love"; char arr2[] = " C!"; strcat(arr1, arr2); printf("字符串长度:%d ", strlen(arr1)); puts(arr1); return 0; } 【答案】 程序运行结果: 字符串长度:9 I love C! 【解析】 strcat(arr1, arr2) 将 arr2 字符串连接到 arr1 末尾,生成新字符串 "I love C!"; strlen(arr1) 计算字符串有效字符长度(不含结束符 '\0'),结果为 9; puts(arr1) 输出连接后的完整字符串并自动换行。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第31练 第6章 字符串处理函数《C语言程序设计》(电子工业出版社)一课一练-第1页
1

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。