内容正文:
编写说明:2027版重庆市高等职业教育分类考试计算机类《考纲百套卷》,依据《2027年重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷76份、专题训练卷16份、课程综合卷7份。
本试卷是第72卷,为知识训练卷,按《程序设计》中“字符数组与常见应用”范围和要求编写。具体内容为:4.掌握用字符数组实现字符串的处理;说明:求字符串长度,统计字符数,实现数字串到数值数据的转换。5.掌握一维数组的常见应用;说明:能找出最大值、最小值,计数,求和、平均数,查找等。
重庆市高职分类考试
计算机类《考纲百套卷》
第72卷 程序设计——字符数组与常见应用
(考试时间:45分钟 满分:100分)
一、填空题(共10题,每题3分,共30分)
1.字符数组中的每个元素通常用于存放一个__________。
【答案】字符
【解析】字符数组的元素类型通常为char,每个元素存放一个字符。
2.C语言字符串末尾用于标志结束的特殊字符是__________。
【答案】\0
【解析】字符串以空字符\0作为结束标志,字符数组处理时需要保留该位置。
3.定义能存放20个字符的数组,常写作char s[__________]。
【答案】20
【解析】方括号中的20表示数组元素总数,实际字符串还要考虑结束符。
4.字符串长度函数strlen返回的是结束符之前的__________数。
【答案】字符
【解析】strlen不把末尾的\0计入字符串长度。
5.字符常量通常使用一对__________括起来。
【答案】单引号
【解析】例如'A'是字符常量,字符串则使用双引号。
6.字符串常量通常使用一对__________括起来。
【答案】双引号
【解析】例如"hello"是字符串常量,内部自动包含结束符。
7.输入一行可能包含空格的字符串,常用的函数是__________。
【答案】fgets
【解析】fgets可以读取包含空格的一行字符,并限制读取长度。
8.连接两个字符串可以使用string.h中的__________函数。
【答案】strcat
【解析】strcat把源字符串追加到目标字符串末尾。
9.比较两个字符串内容是否相同可以使用__________函数。
【答案】strcmp
【解析】strcmp按字典序比较两个以\0结尾的字符串。
10.复制字符串内容可以使用__________函数。
【答案】strcpy
【解析】strcpy把源字符串及结束符复制到目标字符数组。
二、单项选择题(共15题,每题2分,共30分)
1.字符串"abc"在内存中末尾自动包含( )。
A.\0
B.空格
C.换行符
D.字符3
【答案】A
【解析】字符串常量会在有效字符后保存结束标志\0。
2.字符常量'A'应使用( )表示。
A.双引号
B.单引号
C.方括号
D.花括号
【答案】B
【解析】单个字符常量使用单引号,双引号表示字符串。
3.strlen("abc")的返回值是( )。
A.2
B.4
C.3
D.0
【答案】C
【解析】strlen统计结束符之前的3个有效字符。
4.下列定义可以保存字符串"cat"的是( )。
A.char s[3] = "cat";
B.char s = "cat";
C.string s[4] = "cat";
D.char s[4] = "cat";
【答案】D
【解析】3个字符加末尾\0共需4个char元素。
5.读取包含空格的一行字符,较合适的函数是( )。
A.fgets
B.scanf("%s")
C.getchar只读一个字符
D.strlen
【答案】A
【解析】fgets可以读取空格并限制最大读取长度。
6.连接字符串需要保证目标数组有足够的( )。
A.循环次数
B.剩余空间
C.整型变量
D.文件指针
【答案】B
【解析】strcat会把源串追加到目标串,目标数组必须容纳连接后的内容和\0。
7.strcmp(s1, s2)返回0表示两个字符串( )。
A.长度一定不同
B.s1一定更长
C.内容相同
D.s2一定为空
【答案】C
【解析】strcmp返回0表示两个字符串逐字符相同。
8.复制字符串时,目标数组必须能够容纳源字符串及其( )。
A.数组下标
B.循环条件
C.函数名
D.结束符
【答案】D
【解析】strcpy会复制有效字符以及末尾\0。
9.统计字符数组中数字字符个数时,常用的判断范围是( )。
A.'0'到'9'
B.'a'到'z'
C.0到9的整数但不比较字符
D.任意大写字母
【答案】A
【解析】数字字符在字符编码中对应'0'至'9'的连续范围。
10.判断字符是否为小写字母,可使用的范围条件是( )。
A.ch >= 0 && ch <= 9
B.ch >= 'a' && ch <= 'z'
C.ch == "a"
D.ch > 'z' && ch < 'a'
【答案】B
【解析】小写英文字母字符编码连续,可用两个边界判断。
11.把字符数组当作字符串输出时,数组中必须有( )。
A.至少一个空格
B.一个整型元素
C.\0结束标志
D.两个数组名
【答案】C
【解析】%s需要依据\0确定输出终点。
12.下列函数中属于字符串比较函数的是( )。
A.strcpy
B.strcat
C.strlen
D.strcmp
【答案】D
【解析】strcmp比较两个字符串内容,其他函数分别用于复制、连接和求长度。
13.使用scanf("%s", s)读取字符串时,遇到空格通常会( )。
A.在空格处停止读取
B.把整行空格都保存
C.自动读取下一行
D.把空格改成\0以外的字符
【答案】A
【解析】%s格式通常读取连续非空白字符。
14.字符数组遍历到字符串末尾时,常见循环条件是( )。
A.继续处理结束标志
B.s[i] != '\0'
C.i < 0
D.不更新字符下标
【答案】B
【解析】遇到\0表示字符串结束,应停止处理有效字符。
15.修改字符数组中的某个字符,正确方式是( )。
A.s(i) = "X";
B.s = "X";
C.s[i] = 'X';
D.strcpy(s[i], "X");
【答案】C
【解析】字符数组元素用下标访问,单个字符使用单引号。
三、判断题(共12题,每题1分,共12分)
1.字符串末尾通常用\0表示结束。( )
【答案】√
【解析】\0是C字符串的结束标志。
2.字符常量'A'和字符串"A"占用的存储形式完全相同。( )
【答案】×
【解析】字符常量是单个字符,字符串还包含结束符\0。
3.strlen返回的长度不包括末尾\0。( )
【答案】√
【解析】strlen只统计有效字符数量。
4.char s[3] = "cat";可以安全保存完整字符串"cat"。( )
【答案】×
【解析】完整字符串还需要末尾\0,至少需要4个char元素。
5.strcmp返回0表示两个字符串内容相同。( )
【答案】√
【解析】strcmp按内容比较,返回0表示相等。
6.strcpy会自动检查目标数组是否足够大。( )
【答案】×
【解析】strcpy本身不保证目标空间足够,调用者需提前检查。
7.strcat会把源字符串追加到目标字符串末尾。( )
【答案】√
【解析】目标串原内容保留,源串接在其后。
8.scanf("%s")通常可以直接读取包含空格的一整行。( )
【答案】×
【解析】%s遇到空白字符通常停止,整行输入可使用fgets。
9.字符数组可以使用下标逐个修改其中的字符。( )
【答案】√
【解析】s[i]可以作为左值修改数组元素。
10.输出%s字符串时不需要结束标志。( )
【答案】×
【解析】%s需要通过\0判断输出何时结束。
11.数字字符'7'与整数7在C语言中表示完全相同。( )
【答案】×
【解析】'7'是字符编码值,整数7是数值7,二者概念不同。
12.字符数组的有效长度可以通过逐个查找\0得到。( )
【答案】√
【解析】从下标0开始计数,遇到\0即可得到字符串长度。
四、程序填空题(共2题,每题8分,共16分)
1.阅读下列程序,补充空格处的代码。程序统计字符串中的大写字母。
char s[20] = "ChongQing2027";
int i, count = 0, letters = 0;
for (i = 0; s[i] __________ '\0'; i++) {
if (s[i] >= 'A' && s[i] <= 'Z') {
count++;
}
if (s[i] >= '0' && s[i] <= '9') {
continue;
}
if ((s[i] >= 'A' && s[i] <= 'Z') || (s[i] >= 'a' && s[i] <= 'z')) {
letters++;
}
}
printf("%d %d %d", i, count, letters);
(1)第一个空应填什么?(2)循环体中的continue起什么作用?
【答案】(1)!=;(2)遇到数字字符时跳过本轮后续判断;
【解析】字符串遍历应持续到\0,因此第一个空填!=。字符串ChongQing2027共有13个有效字符,数字2、0、2、7遇到continue;大写C和Q共2个,字母总数为9,最终输出13 2 9。
2.阅读下列程序,补充空格处的代码。程序删除字符串中的空格并统计非空格字符数。
char src[30] = "C Language 2027";
char dst[30];
int i, j = 0, count = 0;
for (i = 0; src[i] __________ '\0'; i++) {
if (src[i] == ' ') {
continue;
}
dst[j] = src[i];
j++;
count++;
}
dst[j] = '\0';
printf("%s %d %d", dst, count, j);
(1)第一个空应填什么?(2)程序输出什么?
【答案】(1)!=;(2)输出CLanguage2027 13 13;
【解析】循环扫描到\0结束,条件填!=。源串C Language 2027中有2个空格,共15个有效字符,删除空格后剩13个字符,dst为CLanguage2027,最终输出CLanguage2027 13 13。
五、程序阅读题(共2题,每题6分,共12分)
1.阅读下列程序并回答问题。
char s[30] = "abcABC123abc";
int i, lower = 0, upper = 0, digit = 0;
for (i = 0; s[i] != '\0'; i++) {
if (s[i] >= 'a' && s[i] <= 'z') {
lower++;
continue;
}
if (s[i] >= 'A' && s[i] <= 'Z') {
upper++;
continue;
}
if (s[i] >= '0' && s[i] <= '9') {
digit++;
}
}
printf("%d %d %d %d", i, lower, upper, digit);
(1)continue分别跳过什么?(2)字符串长度是多少?(3)最终输出什么?
【答案】(1)跳过当前字母后的后续判断;(2)12;(3)输出12 6 3 3。
【解析】字符串abcABC123abc长度为12。前3个小写、接着3个大写、再3个数字、最后3个小写,因此lower=6、upper=3、digit=3。小写和大写分支中的continue跳过后面的分类判断,最终输出12 6 3 3。
2.阅读下列程序并回答问题。
char a[20] = "level2027";
int i, len = 0, digits = 0, vowels = 0;
while (a[len] != '\0') {
len++;
}
for (i = 0; i < len; i++) {
if (a[i] >= '0' && a[i] <= '9') {
digits++;
continue;
}
if (a[i] == 'a' || a[i] == 'e' || a[i] == 'i' || a[i] == 'o' || a[i] == 'u') {
vowels++;
}
}
printf("%d %d %d", len, digits, vowels);
(1)while循环完成什么任务?(2)数字字符如何处理?(3)最终输出什么?
【答案】(1)求字符串长度;(2)digits加1后continue;(3)输出9 4 2。
【解析】while逐个查找\0,得到字符串level2027长度9。for中数字2、0、2、7共4个,遇到数字先digits++再continue;非数字中元音e、e共2个,最终输出9 4 2。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版重庆市高等职业教育分类考试计算机类《考纲百套卷》,依据《2027年重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷76份、专题训练卷16份、课程综合卷7份。
本试卷是第72卷,为知识训练卷,按《程序设计》中“字符数组与常见应用”范围和要求编写。具体内容为:4.掌握用字符数组实现字符串的处理;说明:求字符串长度,统计字符数,实现数字串到数值数据的转换。5.掌握一维数组的常见应用;说明:能找出最大值、最小值,计数,求和、平均数,查找等。
重庆市高职分类考试
计算机类《考纲百套卷》
第72卷 程序设计——字符数组与常见应用
(考试时间:45分钟 满分:100分)
一、填空题(共10题,每题3分,共30分)
1.字符数组中的每个元素通常用于存放一个__________。
2.C语言字符串末尾用于标志结束的特殊字符是__________。
3.定义能存放20个字符的数组,常写作char s[__________]。
4.字符串长度函数strlen返回的是结束符之前的__________数。
5.字符常量通常使用一对__________括起来。
6.字符串常量通常使用一对__________括起来。
7.输入一行可能包含空格的字符串,常用的函数是__________。
8.连接两个字符串可以使用string.h中的__________函数。
9.比较两个字符串内容是否相同可以使用__________函数。
10.复制字符串内容可以使用__________函数。
二、单项选择题(共15题,每题2分,共30分)
1.字符串"abc"在内存中末尾自动包含( )。
A.\0
B.空格
C.换行符
D.字符3
2.字符常量'A'应使用( )表示。
A.双引号
B.单引号
C.方括号
D.花括号
3.strlen("abc")的返回值是( )。
A.2
B.4
C.3
D.0
4.下列定义可以保存字符串"cat"的是( )。
A.char s[3] = "cat";
B.char s = "cat";
C.string s[4] = "cat";
D.char s[4] = "cat";
5.读取包含空格的一行字符,较合适的函数是( )。
A.fgets
B.scanf("%s")
C.getchar只读一个字符
D.strlen
6.连接字符串需要保证目标数组有足够的( )。
A.循环次数
B.剩余空间
C.整型变量
D.文件指针
7.strcmp(s1, s2)返回0表示两个字符串( )。
A.长度一定不同
B.s1一定更长
C.内容相同
D.s2一定为空
8.复制字符串时,目标数组必须能够容纳源字符串及其( )。
A.数组下标
B.循环条件
C.函数名
D.结束符
9.统计字符数组中数字字符个数时,常用的判断范围是( )。
A.'0'到'9'
B.'a'到'z'
C.0到9的整数但不比较字符
D.任意大写字母
10.判断字符是否为小写字母,可使用的范围条件是( )。
A.ch >= 0 && ch <= 9
B.ch >= 'a' && ch <= 'z'
C.ch == "a"
D.ch > 'z' && ch < 'a'
11.把字符数组当作字符串输出时,数组中必须有( )。
A.至少一个空格
B.一个整型元素
C.\0结束标志
D.两个数组名
12.下列函数中属于字符串比较函数的是( )。
A.strcpy
B.strcat
C.strlen
D.strcmp
13.使用scanf("%s", s)读取字符串时,遇到空格通常会( )。
A.在空格处停止读取
B.把整行空格都保存
C.自动读取下一行
D.把空格改成\0以外的字符
14.字符数组遍历到字符串末尾时,常见循环条件是( )。
A.继续处理结束标志
B.s[i] != '\0'
C.i < 0
D.不更新字符下标
15.修改字符数组中的某个字符,正确方式是( )。
A.s(i) = "X";
B.s = "X";
C.s[i] = 'X';
D.strcpy(s[i], "X");
三、判断题(共12题,每题1分,共12分)
1.字符串末尾通常用\0表示结束。( )
2.字符常量'A'和字符串"A"占用的存储形式完全相同。( )
3.strlen返回的长度不包括末尾\0。( )
4.char s[3] = "cat";可以安全保存完整字符串"cat"。( )
5.strcmp返回0表示两个字符串内容相同。( )
6.strcpy会自动检查目标数组是否足够大。( )
7.strcat会把源字符串追加到目标字符串末尾。( )
8.scanf("%s")通常可以直接读取包含空格的一整行。( )
9.字符数组可以使用下标逐个修改其中的字符。( )
10.输出%s字符串时不需要结束标志。( )
11.数字字符'7'与整数7在C语言中表示完全相同。( )
12.字符数组的有效长度可以通过逐个查找\0得到。( )
四、程序填空题(共2题,每题8分,共16分)
1.阅读下列程序,补充空格处的代码。程序统计字符串中的大写字母。
char s[20] = "ChongQing2027";
int i, count = 0, letters = 0;
for (i = 0; s[i] __________ '\0'; i++) {
if (s[i] >= 'A' && s[i] <= 'Z') {
count++;
}
if (s[i] >= '0' && s[i] <= '9') {
continue;
}
if ((s[i] >= 'A' && s[i] <= 'Z') || (s[i] >= 'a' && s[i] <= 'z')) {
letters++;
}
}
printf("%d %d %d", i, count, letters);
(1)第一个空应填什么?(2)循环体中的continue起什么作用?
2.阅读下列程序,补充空格处的代码。程序删除字符串中的空格并统计非空格字符数。
char src[30] = "C Language 2027";
char dst[30];
int i, j = 0, count = 0;
for (i = 0; src[i] __________ '\0'; i++) {
if (src[i] == ' ') {
continue;
}
dst[j] = src[i];
j++;
count++;
}
dst[j] = '\0';
printf("%s %d %d", dst, count, j);
(1)第一个空应填什么?(2)程序输出什么?
五、程序阅读题(共2题,每题6分,共12分)
1.阅读下列程序并回答问题。
char s[30] = "abcABC123abc";
int i, lower = 0, upper = 0, digit = 0;
for (i = 0; s[i] != '\0'; i++) {
if (s[i] >= 'a' && s[i] <= 'z') {
lower++;
continue;
}
if (s[i] >= 'A' && s[i] <= 'Z') {
upper++;
continue;
}
if (s[i] >= '0' && s[i] <= '9') {
digit++;
}
}
printf("%d %d %d %d", i, lower, upper, digit);
(1)continue分别跳过什么?(2)字符串长度是多少?(3)最终输出什么?
2.阅读下列程序并回答问题。
char a[20] = "level2027";
int i, len = 0, digits = 0, vowels = 0;
while (a[len] != '\0') {
len++;
}
for (i = 0; i < len; i++) {
if (a[i] >= '0' && a[i] <= '9') {
digits++;
continue;
}
if (a[i] == 'a' || a[i] == 'e' || a[i] == 'i' || a[i] == 'o' || a[i] == 'u') {
vowels++;
}
}
printf("%d %d %d", len, digits, vowels);
(1)while循环完成什么任务?(2)数字字符如何处理?(3)最终输出什么?
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$