《C语言程序设计》数组-知识点训练 2026版山东省软件与应用技术类专业 考纲百套卷 第8卷

2025-07-08
| 2份
| 13页
| 138人阅读
| 0人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 题集-专项训练
知识点 数组
使用场景 中职复习
学年 2025-2026
地区(省份) 山东省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 147 KB
发布时间 2025-07-08
更新时间 2025-07-08
作者 xkw_069767526
品牌系列 学易金卷·考纲百套卷
审核时间 2025-07-08
下载链接 https://m.zxxk.com/soft/52951624.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

编写说明:2026版《软件与应用技术考纲百套卷》依据2026版山东省《软件与应用技术类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,每个知识点2份试卷共76份,第二部分是常考题训练卷,每个知识模块2份训练卷共12份,第三个部分是专业综合训练卷,参考历年软件与应用技术类专业真题试卷,编写了12份。 本试卷是2026版《软件与应用技术考纲百套卷》的第8卷,按知识模块1 C语言程序设计知识,4.数组的五点范围要求编写。其五点要求是: (1)理解一维数组的定义及初始化。 (2)掌握一维数组元素的引用。 (3)理解二维数组的定义及初始化。 (4)掌握二维数组元素的引用。 (5)了解字符数组的定义及引用。 2026版山东省《软件与应用技术考纲百套卷》 第8卷 知识模块1 C语言程序设计知识 4.数组 知识点训练卷 一、单项选择题(本大题共20小题,每题3分,共60分) 1. 以下对一维数组a进行不正确初始化的是( ) A.int a[10]=(0,0,0,0,0); B.int a[10]={}; C.int a[]={0}; D.int a[10]={10*2}; 2. 执行下面的程序段后,变量k中的值是( ) int k=3,s[2]; s[0]=k,k=s[1]*10; A.不确定 B. 33 C. 30 D. 0 3.下列关于数组的描述正确的是( ) A.数组的大小是固定的,但可以有不同类型的数组元素 B.数组的大小是可变的,但所有数组元素的类型必须相同 C.数组的大小是固定的,所有数据元素的类型必须相同 D.数组的大小是可变的,可以有不同类型的数组元素 4.关于二维数组的定义,以下哪个选项描述正确?( ) A. 二维数组的行数和列数必须是相同的 B. 二维数组的行数和列数可以不同 C. 二维数组的行数和列数必须是整数 D. 二维数组的行数和列数必须是常量 5.在C语言中,以下对二维数组的引用说法正确的是:( ) A. 引用二维数组元素时只需提供一个下标 B. 引用二维数组元素时需要提供两个下标 C. 引用二维数组元素时需要提供三个下标 D. 引用二维数组元素时需要使用指针 6. 已知short int类型变量占用两个字节,若有定义:short int x[10]={0,2,4};,则数组x在内存中所占字节数是( ) A. 3 B. 6 C. 10 D. 20 7.有如下说明:int a[10]={0,1,2,3,4,5,6,7,8,9};则数值不为9的表达式是( ) A. a[10-1] B.a[8] C. a[9]-0 D. a[9]-a[0] 8. 假定一个 `int` 型变量占用两个字节,若有定义:`int x[2][5];` 则 数 组 `x` 在内存中所占字节数是( ) A. 3 B. 6 C. 10 D. 20 9. 下列描述中不正确的是( ) A. 字符型数组中可以存放字符串 B. 可以对字符串进行整体输入、输出 C. 可以对整型数组进行整体输入、输出 D. 不能在赋值语句中通过赋值运算符”=”对字符型数组进行整体赋值 10. 定义如下变量和数组: Int i; Int x[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,}; 则下面语句的输出结果是 for(i=0;i<4;i++) prinft(“%3d”,x[i][3-i]); A.1 5 9 13 B.1 6 11 16 C.4 7 10 13 D.4 8 12 16 11. 以下程序的输出结果正确的是( ) main() { char a[3][4]; strcpy(a[0],"you"); strcpy(a[1],"me"); a[0][3]='&'; printf("%s",a); } A. you&me B. you C. me D. & 12. 写出一些程序的执行结果( ) #include<stdio.h> main(){ int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf(“%d”,x[i][i]); printf(“ ”); } A.1,5,9, B.1,4,7, C.3,5,7, D.3,6,9, 13. 设有定义:`char a[10]="ABCD";` 则 `a[4]` 的值是( ) A. "ABCD" B. 'D' C. '\0' D. 不确定 14. 有以下程序, main() { char a[20],b[20],c[20]; scanf("%s%s",a,b); gets(c); printf("%s%s%s",a,b,c); } 程序运行时,从第一列开始输入,`this is a dog!` 回车则输出的结果是( ) A. thisisadog! B. thisis a C. thisisa dog! D. thisis a dog! 15. 语句 `strcat(strcpy(strl,str2),str3);` 的功能是( ) A. 将字符串 `strl` 复制到字符串 `str2` 中后 再连接到字符串 `str3` 之后。 B. 将字符串 `strl` 连接到字符串 `str2` 中后 再复制到字符串 `str3` 之后。 C. 将字符串 `str2` 复制到字符串 `strl` 后再 将字符串 `str3` 连接到字符串 `strl` 之后。 D. 将字符串 `str2` 连接到字符串 `strl` 后再 将字符串 `strl` 复制到字符串 `str3` 中。 16. 若int b[2][3]={0};则下面正确的描述是( ) A. 数组b中每个元素均可得到初值0 B.此说明语句不正确 C.只有元素b[0][0]可得到初值0 D.数组b中各元素都可得到初值,但其值不确定 17. 若定义一个名为 `s` 且初值为 `"123"` 的字符数组,则下列定义错误的是 ( ) A. `char s[]={1,2,3,\0};` B. `char s[]={"123"};` C. `char s[]={"123 "};` D. `char s[4]={1,2,3};` 18. 若有定义:`char a[10];` 则能给数组 `a` 输入字符串 `"This is a book"` 的语句是 ( ) A. `gets(a)` B. `scanf("%s",a);` C. `gets(a[0]);` D. `scanf("%s",&a);` 19. 语句 `printf("%d",strlen("abs o12\1\""))` 的输出结果是 ( ) A. 11 B. 10 C. 9 D. 8 20. 下列哪个选项是正确的数组初始化方法?( ) A. `int a[5] = {1, 2, 3, 4, 5};` B. `int a[5] = {1, 2, 3, 4, 5, 6};` C. `int a[5] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};` D. `int a[5] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};` 二、简答题(本大题共5小题,每题6分,共30分) 1. 请给出引用二维数组元素的语法。 2. 字符数组的定义是什么? 3. 如何初始化一个字符数组? 4. 字符串处理函数中,串比较函数怎么表示?如何比较? 5. 如何确保字符数组能够存储整个字符串? 三、编程题(本大题共1小题,共10分) 1.编写一个程序,将两个字符串连接起来,不要使用stract()函数。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:2026版《软件与应用技术考纲百套卷》依据2026版山东省《软件与应用技术类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,每个知识点2份试卷共76份,第二部分是常考题训练卷,每个知识模块2份训练卷共12份,第三个部分是专业综合训练卷,参考历年软件与应用技术类专业真题试卷,编写了12份。 本试卷是2026版《软件与应用技术考纲百套卷》的第8卷,按知识模块1 C语言程序设计知识,4.数组的五点范围要求编写。其五点要求是: (1)理解一维数组的定义及初始化。 (2)掌握一维数组元素的引用。 (3)理解二维数组的定义及初始化。 (4)掌握二维数组元素的引用。 (5)了解字符数组的定义及引用。 2026版山东省《软件与应用技术考纲百套卷》 第8卷 知识模块1 C语言程序设计知识 4.数组 知识点训练卷 一、单项选择题(本大题共20小题,每题3分,共60分) 1. 以下对一维数组a进行不正确初始化的是( ) A.int a[10]=(0,0,0,0,0); B.int a[10]={}; C.int a[]={0}; D.int a[10]={10*2}; 【答案】A 2. 执行下面的程序段后,变量k中的值是( ) int k=3,s[2]; s[0]=k,k=s[1]*10; A.不确定 B. 33 C. 30 D. 0 【答案】A 3.下列关于数组的描述正确的是( ) A.数组的大小是固定的,但可以有不同类型的数组元素 B.数组的大小是可变的,但所有数组元素的类型必须相同 C.数组的大小是固定的,所有数据元素的类型必须相同 D.数组的大小是可变的,可以有不同类型的数组元素 【答案】C 4.关于二维数组的定义,以下哪个选项描述正确?( ) A. 二维数组的行数和列数必须是相同的 B. 二维数组的行数和列数可以不同 C. 二维数组的行数和列数必须是整数 D. 二维数组的行数和列数必须是常量 【答案】B 5.在C语言中,以下对二维数组的引用说法正确的是:( ) A. 引用二维数组元素时只需提供一个下标 B. 引用二维数组元素时需要提供两个下标 C. 引用二维数组元素时需要提供三个下标 D. 引用二维数组元素时需要使用指针 【答案】B 6. 已知short int类型变量占用两个字节,若有定义:short int x[10]={0,2,4};,则数组x在内存中所占字节数是( ) A. 3 B. 6 C. 10 D. 20 【答案】D 7.有如下说明:int a[10]={0,1,2,3,4,5,6,7,8,9};则数值不为9的表达式是( ) A. a[10-1] B.a[8] C. a[9]-0 D. a[9]-a[0] 【答案】B 8. 假定一个 `int` 型变量占用两个字节,若有定义:`int x[2][5];` 则 数 组 `x` 在内存中所占字节数是( ) A. 3 B. 6 C. 10 D. 20 【答案】D 9. 下列描述中不正确的是( ) A. 字符型数组中可以存放字符串 B. 可以对字符串进行整体输入、输出 C. 可以对整型数组进行整体输入、输出 D. 不能在赋值语句中通过赋值运算符”=”对字符型数组进行整体赋值 【答案】C 10. 定义如下变量和数组: Int i; Int x[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,}; 则下面语句的输出结果是 for(i=0;i<4;i++) prinft(“%3d”,x[i][3-i]); A.1 5 9 13 B.1 6 11 16 C.4 7 10 13 D.4 8 12 16 【答案】C 11. 以下程序的输出结果正确的是( ) main() { char a[3][4]; strcpy(a[0],"you"); strcpy(a[1],"me"); a[0][3]='&'; printf("%s",a); } A. you&me B. you C. me D. & 【答案】A 12. 写出一些程序的执行结果( ) #include<stdio.h> main(){ int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf(“%d”,x[i][i]); printf(“ ”); } A.1,5,9, B.1,4,7, C.3,5,7, D.3,6,9, 【答案】A 13. 设有定义:`char a[10]="ABCD";` 则 `a[4]` 的值是( ) A. "ABCD" B. 'D' C. '\0' D. 不确定 【答案】C 14. 有以下程序, main() { char a[20],b[20],c[20]; scanf("%s%s",a,b); gets(c); printf("%s%s%s",a,b,c); } 程序运行时,从第一列开始输入,`this is a dog!` 回车则输出的结果是( ) A. thisisadog! B. thisis a C. thisisa dog! D. thisis a dog! 【答案】D 15. 语句 `strcat(strcpy(strl,str2),str3);` 的功能是( ) A. 将字符串 `strl` 复制到字符串 `str2` 中后 再连接到字符串 `str3` 之后。 B. 将字符串 `strl` 连接到字符串 `str2` 中后 再复制到字符串 `str3` 之后。 C. 将字符串 `str2` 复制到字符串 `strl` 后再 将字符串 `str3` 连接到字符串 `strl` 之后。 D. 将字符串 `str2` 连接到字符串 `strl` 后再 将字符串 `strl` 复制到字符串 `str3` 中。 【答案】C 16. 若int b[2][3]={0};则下面正确的描述是( ) A. 数组b中每个元素均可得到初值0 B.此说明语句不正确 C.只有元素b[0][0]可得到初值0 D.数组b中各元素都可得到初值,但其值不确定 【答案】A 17. 若定义一个名为 `s` 且初值为 `"123"` 的字符数组,则下列定义错误的是 ( ) A. `char s[]={1,2,3,\0};` B. `char s[]={"123"};` C. `char s[]={"123 "};` D. `char s[4]={1,2,3};` 【答案】C 18. 若有定义:`char a[10];` 则能给数组 `a` 输入字符串 `"This is a book"` 的语句是 ( ) A. `gets(a)` B. `scanf("%s",a);` C. `gets(a[0]);` D. `scanf("%s",&a);` 【答案】A 19. 语句 `printf("%d",strlen("abs o12\1\""))` 的输出结果是 ( ) A. 11 B. 10 C. 9 D. 8 【答案】C 20. 下列哪个选项是正确的数组初始化方法?( ) A. `int a[5] = {1, 2, 3, 4, 5};` B. `int a[5] = {1, 2, 3, 4, 5, 6};` C. `int a[5] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};` D. `int a[5] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};` 【答案】A 二、简答题(本大题共5小题,每题6分,共30分) 1. 请给出引用二维数组元素的语法。 【答案】二维数组元素的引用通过数组名和两个索引来实现,语法为 `arrayName[row][column]`,其中 `arrayName` 是数组名,`row` 和 `column` 分别是元素的行索引和列索引。 2. 字符数组的定义是什么? 【答案】字符数组是一种特殊的数组,用于存储多个字符。它的每个元素都是一个字符,可以用一维数组的语法来定义和初始化。 3. 如何初始化一个字符数组? 【答案】字符数组可以通过指定字符列表来初始化,例如 `char str[] = "Hello";`。在C语言中,字符串会自动以`\0`(空字符)结尾。 4. 字符串处理函数中,串比较函数怎么表示?如何比较? 【答案】strcmp(s1,s2); 如果s1>s2,函数值为正数;如果s1<s2,函数值为负数;如果s1=s2,函数值为0。 5. 如何确保字符数组能够存储整个字符串? 【答案】为了确保字符数组能够存储整个字符串,数组的大小应该比字符串中的字符数多1,以容纳字符串结束标志`\0`。例如,如果字符串长度为5,字符数组应该至少有6个元素。 三、编程题(本大题共1小题,共10分) 1.编写一个程序,将两个字符串连接起来,不要使用stract()函数。 【答案】 #include <stdio.h> main() { int i, j; char str1[20]; char str2[20]; gets(str1); gets(str2); for (i = 0; str1[i] != '\0'; i++); // 找到第一个字符串的末尾 for (j = 0; str2[j] != '\0'; i++, j++) { str1[i] = str2[j]; // 将第二个字符串复制到第一个字符串的末尾 } printf("连接后的字符串: %s ", str1); } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

《C语言程序设计》数组-知识点训练 2026版山东省软件与应用技术类专业 考纲百套卷 第8卷
1
《C语言程序设计》数组-知识点训练 2026版山东省软件与应用技术类专业 考纲百套卷 第8卷
2
《C语言程序设计》数组-知识点训练 2026版山东省软件与应用技术类专业 考纲百套卷 第8卷
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。