第10卷 数组 《C语言程序设计》吉林省对口招生《电子与信息类考纲百套卷》

2026-07-16
| 2份
| 25页
| 10人阅读
| 0人下载

资源信息

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

内容正文:

编写说明:2027版吉林省高职分类(对口招生)考试电子与信息类《考纲百套卷》,依据《吉林省高职分类(对口招生)考试电子与信息类专业综合卷考试科目及纲要(2025版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共115份试卷,其中知识训练卷82份、专题训练卷19份、课程综合卷14份。 本试卷是第10卷,为知识训练卷,按《C语言程序设计》中“数组”范围和要求编写。具体内容为:1.理解数组和数组元素的定义。2.掌握一维数组的定义、初始化、数组元素的引用。3.掌握二维数组的定义、初始化、数组元素的引用。4.理解字符数组的定义、初始化、数组元素的引用、输入/输出。5.掌握常用字符串处理函数的使用方法。 吉林省高职分类(对口招生)考试 电子与信息类《考纲百套卷》 第10卷 C语言程序设计——数组 (考试时间:45分钟 满分:100分) 一、单项选择题(共20题,每题2分,共40分。) 1.正确定义一个有10个int型元素的数组a的语句是( ) A.int a[10]; B.int a(10); C.int a{10}; D.int a[ ]; 2.C语言中数组元素的下标从什么值开始?( ) A.任意值 B.0 C.1 D.-1 3.以下关于数组名的说法,正确的是( ) A.数组名是一个变量,可以重新赋值 B.数组名存储了数组第一个元素的值 C.数组名代表数组首地址,是一个常量 D.数组名可以用作左值 4.执行int a[5]={1,2}; 后,a[3]的值是( ) A.1 B.2 C.随机值 D.0 5.遍历数组a[10]所有元素最常用的循环是( ) A.for(i=0;i<10;i++) B.while(a[i]!=0) C.do{}while(i--) D.goto循环 6.C语言中数组元素在内存中的存储方式是( ) A.分散存储 B.连续存储 C.随机存储 D.链表存储 7.执行int a[]={2,4,6,8}; 后,数组a的长度是( ) A.3 B.5 C.4 D.未确定 8.若有int a[10], i=3; 则a[i+1]引用的是( ) A.a[4] B.a[3] C.a[2] D.a[5] 9.以下代码段的功能是( ) int s=0; for(i=0;i<10;i++) s+=a[i]; A.求数组a的平均值 B.求数组a的最大值 C.求数组a的元素个数 D.求数组a所有元素的和 10.若有int a[5]; 则a[0]的地址与什么相同?( ) A.&a[1] B.a C.a+1 D.*a 11.若有定义 int a[3]={1,2,3,4}; 则( ) A.a[3]的值为4 B.程序运行错误 C.编译时警告或错误 D.a的长度自动变为4 12.若int a[5]; 执行a[10]=100; 则( ) A.编译错误 B.程序必然崩溃 C.自动扩展数组 D.C不检查越界,可能破坏其他数据 13.int a[10]; 在内存中共占用多少字节?( ) A.10 B.20 C.80 D.40 14.有int a[12]; 则sizeof(a)/sizeof(a[0])的值是( ) A.4 B.12 C.48 D.3 15.有int a[8]; 合法的下标范围是( ) A.1~8 B.0~8 C.0~7 D.1~7 16.定义数组时,[]中的长度必须是( ) A.整型常量或常量表达式 B.可以是变量 C.可以是任意表达式 D.必须是宏定义 17.char str[10]; 定义的是一个( ) A.整型数组 B.浮点型数组 C.指针数组 D.字符数组 18.要逆序输出数组a[5]={1,2,3,4,5},正确写法是( ) A.for(i=0;i<5;i++) printf("%d",a[i]); B.for(i=4;i>=0;i--) printf("%d",a[i]); C.for(i=5;i>0;i--) printf("%d",a[i]); D.while(i<5) printf("%d",a[i++]); 19.要将数组a所有元素初始化为0,最简单的是( ) A.int a[5]; 即可 B.int a[5]=0; C.int a[5]={0}; D.用循环逐一赋值 20.找数组a[N]中最大值的正确思路是( ) A.设max=a[0],遍历比较更新max B.设max=0,与a[i]依次比较 C.直接取a[N-1] D.对所有元素排序取第一个 二、判断题(共10题,每题1分,共10分。) 1.二维数组在内存中按行优先方式连续存储。( ) 2.C99标准禁止使用变量作为数组的长度。( ) 3.用字符串形式初始化字符数组时,编译器会自动在末尾添加结束符。( ) 4.char s[4]; s="ABC"; 是合法的数组整体赋值方式。( ) 5.数组作为函数参数传递时,形参数组的大小声明可以省略。( ) 6.int a[2][3]中,元素a[1][2]表示第1行第2列。( ) 7.字符数组可以使用printf("%s", s)直接整体输出字符串内容。( ) 8.数组定义后可以在程序运行中动态增加其长度。( ) 9.用字符串初始化字符数组时,数组长度至少要比字符串中可见字符数多1。( ) 10.一维数组和同元素个数的二维数组在内存中的总占用字节数不同。( ) 三、填空题(共5题,每题2分,共10分。) 1.定义int a[2][3];则该二维数组共有____个元素。 2.char s[10]="Hello"; 中,s[5]中存储的是____。 3.在C语言中,二维数组的元素在内存中按____优先方式存储。 4.设有int a[5]; 则sizeof(a)的值为____字节(假设int占4字节)。 5.字符数组作为字符串处理时,其结束标志是一个值为____的字符。 四、读程序写结果题(共4题,每题5分,共20分。) 1.请阅读下列程序,写出运行结果。 #include <stdio.h> int main() { int a[] = {2, 4, 6, 8}; int i = 0, s = 0; while (i < 4) s += a[i++]; printf("%d", s); return 0; } 2.请阅读下列程序,写出运行结果。 #include <stdio.h> int main() { int a[2][3] = {{1,2,3},{4,5,6}}; printf("%d", a[0][2] + a[1][0]); return 0; } 3.请阅读下列程序,写出运行结果。 #include <stdio.h> int main() { int a[] = {5, 8, 3, 9, 2}; int i, s = 0; for (i = 0; i < 5; i++) if (a[i] % 2 == 0) s += a[i]; printf("%d", s); return 0; } 4.请阅读下列程序,写出运行结果。 #include <stdio.h> int main() { char s[] = "CProg"; printf("%c%c", s[0], s[3]); return 0; } 五、编程题(共2题,每题10分,共20分。) 1.编写一个C程序,从键盘输入6个整数存入数组,找出其中的最大值并输出。 2.编写一个C程序,统计数组int a[7]={2,7,4,9,1,6,3}中奇数和偶数的个数并输出。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 编写说明:2027版吉林省高职分类(对口招生)考试电子与信息类《考纲百套卷》,依据《吉林省高职分类(对口招生)考试电子与信息类专业综合卷考试科目及纲要(2025版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共115份试卷,其中知识训练卷82份、专题训练卷19份、课程综合卷14份。 本试卷是第10卷,为知识训练卷,按《C语言程序设计》中“数组”范围和要求编写。具体内容为:1.理解数组和数组元素的定义。2.掌握一维数组的定义、初始化、数组元素的引用。3.掌握二维数组的定义、初始化、数组元素的引用。4.理解字符数组的定义、初始化、数组元素的引用、输入/输出。5.掌握常用字符串处理函数的使用方法。 吉林省高职分类(对口招生)考试 电子与信息类《考纲百套卷》 第10卷 C语言程序设计——数组 (考试时间:45分钟 满分:100分) 一、单项选择题(共20题,每题2分,共40分。) 1.正确定义一个有10个int型元素的数组a的语句是( ) A.int a[10]; B.int a(10); C.int a{10}; D.int a[ ]; 【答案】A 【解析】数组定义格式:类型名 数组名[常量表达式]; 。int a[10]定义含10个int元素的数组,下标0~9。 2.C语言中数组元素的下标从什么值开始?( ) A.任意值 B.0 C.1 D.-1 【答案】B 【解析】C语言数组下标从0开始,因此int a[5]的有效下标为0~4。这是数组最基本的规定。 3.以下关于数组名的说法,正确的是( ) A.数组名是一个变量,可以重新赋值 B.数组名存储了数组第一个元素的值 C.数组名代表数组首地址,是一个常量 D.数组名可以用作左值 【答案】C 【解析】数组名代表数组在内存中的起始地址,是地址常量,不能对其赋值(如 a=xxx 非法)。 4.执行int a[5]={1,2}; 后,a[3]的值是( ) A.1 B.2 C.随机值 D.0 【答案】D 【解析】部分初始化时未指定值的元素自动初始化为0。a[0]=1,a[1]=2,a[2]=a[3]=a[4]=0。 5.遍历数组a[10]所有元素最常用的循环是( ) A.for(i=0;i<10;i++) B.while(a[i]!=0) C.do{}while(i--) D.goto循环 【答案】A 【解析】for(i=0;i<10;i++)是遍历定长数组最标准的方式。i从0到9,每次用a[i]访问当前元素。 6.C语言中数组元素在内存中的存储方式是( ) A.分散存储 B.连续存储 C.随机存储 D.链表存储 【答案】B 【解析】数组元素在内存中占用连续空间,a[0]地址最低,元素依次排列。这使得通过下标快速访问成为可能。 7.执行int a[]={2,4,6,8}; 后,数组a的长度是( ) A.3 B.5 C.4 D.未确定 【答案】C 【解析】不指定长度时编译器根据初始化列表自动确定:{2,4,6,8}有4个元素,因此a的长度为4。 8.若有int a[10], i=3; 则a[i+1]引用的是( ) A.a[4] B.a[3] C.a[2] D.a[5] 【答案】A 【解析】下标可以是整型表达式,i+1=4,a[i+1]即a[4]。这体现了数组下标的灵活性。 9.以下代码段的功能是( ) int s=0; for(i=0;i<10;i++) s+=a[i]; A.求数组a的平均值 B.求数组a的最大值 C.求数组a的元素个数 D.求数组a所有元素的和 【答案】D 【解析】循环将a[0]到a[9]依次累加到s中,因此s为数组元素之和。这是数组与循环结合的最基本应用。 10.若有int a[5]; 则a[0]的地址与什么相同?( ) A.&a[1] B.a C.a+1 D.*a 【答案】B 【解析】数组名a的值就是a[0]的地址。&a[0]==a。注意a+1指向a[1]的地址。 11.若有定义 int a[3]={1,2,3,4}; 则( ) A.a[3]的值为4 B.程序运行错误 C.编译时警告或错误 D.a的长度自动变为4 【答案】C 【解析】初始化列表元素个数不能超过数组长度。int a[3]={1,2,3,4}初始值4个>长度3,编译时会报错或警告。 12.若int a[5]; 执行a[10]=100; 则( ) A.编译错误 B.程序必然崩溃 C.自动扩展数组 D.C不检查越界,可能破坏其他数据 【答案】D 【解析】C语言不自动检查数组下标越界,a[10]超出a[5]范围,可能意外修改其他内存数据,导致不可预知错误。 13.int a[10]; 在内存中共占用多少字节?( ) A.10 B.20 C.80 D.40 【答案】D 【解析】int类型占4字节(通常),a[10]共10个元素,总占用=10×4=40字节。 14.有int a[12]; 则sizeof(a)/sizeof(a[0])的值是( ) A.4 B.12 C.48 D.3 【答案】B 【解析】sizeof(a)=12×4=48,sizeof(a[0])=4,48/4=12即为数组元素个数。 15.有int a[8]; 合法的下标范围是( ) A.1~8 B.0~8 C.0~7 D.1~7 【答案】C 【解析】int a[8]定义N=8个元素,有效下标范围是0~(N-1)=0~7。a[8]越界。 16.定义数组时,[]中的长度必须是( ) A.整型常量或常量表达式 B.可以是变量 C.可以是任意表达式 D.必须是宏定义 【答案】A 【解析】C89/C90标准要求数组长度必须是编译时确定的常量表达式。C99引入变长数组但传统教材以常量为准。 17.char str[10]; 定义的是一个( ) A.整型数组 B.浮点型数组 C.指针数组 D.字符数组 【答案】D 【解析】char str[10]定义含10个char型元素的字符数组。字符数组是数组在字符类型上的应用。 18.要逆序输出数组a[5]={1,2,3,4,5},正确写法是( ) A.for(i=0;i<5;i++) printf("%d",a[i]); B.for(i=4;i>=0;i--) printf("%d",a[i]); C.for(i=5;i>0;i--) printf("%d",a[i]); D.while(i<5) printf("%d",a[i++]); 【答案】B 【解析】逆序即从最后一个元素a[4]开始,i从4递减到0输出。a[5]越界,不能为起点。 19.要将数组a所有元素初始化为0,最简单的是( ) A.int a[5]; 即可 B.int a[5]=0; C.int a[5]={0}; D.用循环逐一赋值 【答案】C 【解析】int a[5]={0}将第一个元素显式初始化为0,其余自动初始化为0,实现全0。int a[5]不初始化则值随机。 20.找数组a[N]中最大值的正确思路是( ) A.设max=a[0],遍历比较更新max B.设max=0,与a[i]依次比较 C.直接取a[N-1] D.对所有元素排序取第一个 【答案】A 【解析】将max初始化为a[0],遍历i=1到N-1,若a[i]>max则更新max。初始化为0可能遗漏全负数情况。 二、判断题(共10题,每题1分,共10分。) 1.二维数组在内存中按行优先方式连续存储。( ) 【答案】√ 【解析】二维数组元素在内存中按行优先排列,如a[2][3]的存储顺序为a[0][0]→a[0][1]→a[0][2]→a[1][0]→... 2.C99标准禁止使用变量作为数组的长度。( ) 【答案】× 【解析】C99引入了变长数组(VLA),允许使用变量作为数组长度,如 int n=5; int a[n]; 在C99中是合法的。 3.用字符串形式初始化字符数组时,编译器会自动在末尾添加结束符。( ) 【答案】√ 【解析】char s[]="ABC" 实际存储为'A','B','C','\0'共4字节,编译器自动追加结束符。 4.char s[4]; s="ABC"; 是合法的数组整体赋值方式。( ) 【答案】× 【解析】数组名是地址常量,不能用作左值。赋值应逐个元素或使用strcpy函数,或初始化时 char s[4]="ABC";。 5.数组作为函数参数传递时,形参数组的大小声明可以省略。( ) 【答案】√ 【解析】函数参数中数组的写法如 int f(int a[], int n),第一维长度可省略,实际传递的是地址。 6.int a[2][3]中,元素a[1][2]表示第1行第2列。( ) 【答案】× 【解析】下标从0开始,a[1][2]表示第2行(下标1)第3列(下标2)。第1行第2列应为a[0][1]。 7.字符数组可以使用printf("%s", s)直接整体输出字符串内容。( ) 【答案】√ 【解析】%s格式符可整体输出字符数组中的字符串,从首地址开始输出直到遇到结束符为止。 8.数组定义后可以在程序运行中动态增加其长度。( ) 【答案】× 【解析】静态数组定义后长度固定不可变。需要动态扩容应使用动态内存分配malloc/realloc,但那是另一概念。 9.用字符串初始化字符数组时,数组长度至少要比字符串中可见字符数多1。( ) 【答案】√ 【解析】字符串以结束符结尾,额外占用1字节。如"ABC"有3个可见字符,至少需要char s[4]才能存储。 10.一维数组和同元素个数的二维数组在内存中的总占用字节数不同。( ) 【答案】× 【解析】int a[6]与int b[2][3]同样存储6个int,总占用均为6×sizeof(int),占用字节相同。 三、填空题(共5题,每题2分,共10分。) 1.定义int a[2][3];则该二维数组共有____个元素。 【答案】6 【解析】2行×3列=6个元素。二维数组总元素数=行数×列数。 2.char s[10]="Hello"; 中,s[5]中存储的是____。 【答案】\0 【解析】"Hello"存储为H/e/l/l/o/\0,s[5]是第6个字符即字符串结束符\0。 3.在C语言中,二维数组的元素在内存中按____优先方式存储。 【答案】行 【解析】二维数组按行优先存储,即先存放第0行所有元素再存放第1行,以此类推。 4.设有int a[5]; 则sizeof(a)的值为____字节(假设int占4字节)。 【答案】20 【解析】5个int×4字节=20字节。sizeof获取整个数组的总占用空间。 5.字符数组作为字符串处理时,其结束标志是一个值为____的字符。 【答案】0 【解析】字符串以ASCII码值为0的字符'\0'结尾。注意'\0'的值就是0,与字符'0'(ASCII=48)不同。 四、读程序写结果题(共4题,每题5分,共20分。) 1.请阅读下列程序,写出运行结果。 #include <stdio.h> int main() { int a[] = {2, 4, 6, 8}; int i = 0, s = 0; while (i < 4) s += a[i++]; printf("%d", s); return 0; } 【答案】20 【解析】用while循环:i=0时a[0]=2,s=2;i=1时a[1]=4,s=6;i=2时a[2]=6,s=12;i=3时a[3]=8,s=20。考查while遍历数组。 2.请阅读下列程序,写出运行结果。 #include <stdio.h> int main() { int a[2][3] = {{1,2,3},{4,5,6}}; printf("%d", a[0][2] + a[1][0]); return 0; } 【答案】7 【解析】a[0][2]=3, a[1][0]=4, 3+4=7。考查二维数组元素的引用。 3.请阅读下列程序,写出运行结果。 #include <stdio.h> int main() { int a[] = {5, 8, 3, 9, 2}; int i, s = 0; for (i = 0; i < 5; i++) if (a[i] % 2 == 0) s += a[i]; printf("%d", s); return 0; } 【答案】10 【解析】只累加偶数元素:a[1]=8, a[4]=2, s=8+2=10。考查遍历+条件筛选。 4.请阅读下列程序,写出运行结果。 #include <stdio.h> int main() { char s[] = "CProg"; printf("%c%c", s[0], s[3]); return 0; } 【答案】Co 【解析】s[0]='C', s[3]='o', 输出"Co"。考查字符数组的访问。 五、编程题(共2题,每题10分,共20分。) 1.编写一个C程序,从键盘输入6个整数存入数组,找出其中的最大值并输出。 【答案】 #include <stdio.h> int main() { int a[6], i, max; printf("请输入6个整数:"); for (i = 0; i < 6; i++) scanf("%d", &a[i]); max = a[0]; for (i = 1; i < 6; i++) if (a[i] > max) max = a[i]; printf("最大值=%d ", max); return 0; } 【解析】先循环输入6个数到a[i],设max=a[0],再循环比较a[1]~a[5]更新最大值。考查数组输入与找最大值算法。 2.编写一个C程序,统计数组int a[7]={2,7,4,9,1,6,3}中奇数和偶数的个数并输出。 【答案】 #include <stdio.h> int main() { int a[7] = {2, 7, 4, 9, 1, 6, 3}; int i, odd = 0, even = 0; for (i = 0; i < 7; i++) { if (a[i] % 2 == 0) even++; else odd++; } printf("奇数%d个,偶数%d个 ", odd, even); return 0; } 【解析】遍历数组,用a[i]%2==0判断偶数++否则奇数++。7个数中奇数4个(7,9,1,3),偶数3个(2,4,6)。考查数组遍历与分类统计。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第10卷 数组 《C语言程序设计》吉林省对口招生《电子与信息类考纲百套卷》
1
第10卷 数组 《C语言程序设计》吉林省对口招生《电子与信息类考纲百套卷》
2
第10卷 数组 《C语言程序设计》吉林省对口招生《电子与信息类考纲百套卷》
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。