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

2025-07-08
| 2份
| 14页
| 83人阅读
| 0人下载

资源信息

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

内容正文:

编写说明:2026版《软件与应用技术考纲百套卷》依据2026版山东省《软件与应用技术类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,每个知识点2份试卷共76份,第二部分是常考题训练卷,每个知识模块2份训练卷共12份,第三个部分是专业综合训练卷,参考历年软件与应用技术类专业真题试卷,编写了12份。 本试卷是2026版《软件与应用技术考纲百套卷》的第7卷,按知识模块1 C语言程序设计知识,4.数组的五点范围要求编写。其五点要求是: (1)理解一维数组的定义及初始化。 (2)掌握一维数组元素的引用。 (3)理解二维数组的定义及初始化。 (4)掌握二维数组元素的引用。 (5)了解字符数组的定义及引用。 2026版山东省《软件与应用技术考纲百套卷》 第7卷 知识模块1 C语言程序设计知识 4.数组 知识点训练卷 一、单项选择题(本大题共20小题,每题3分,共60分) 1. 以下错误的数组定义形式是( ) A.int a[10]; B.int a[3+2]; C.int a[3*3]; D.int a[3.2]; 【答案】D 2. 在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( ) A. 整型常量 B. 整型表达式 C. 整型常量或整型常量表达式 D. 任何类型的表达式 【答案】C 3. 以下正确的数组定义形式是( ) A.int n;scanf(“%d”,&n);int a[n]; B.int a[1…10]; C.int a[3.2]; D.#define N 10 int a[N]; 【答案】D 4. 以上对一堆整型数据a进行正确初始化的语句是( ) A.int a[10]=(0,0,0,0,0); B.int a[10]={}; C.int a[]={}; D.int a[10]={10*1}; 【答案】D 5. 以下程序段的输出结果是( )。 main(){ int i,a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf(“%d%d%d”,a[2],a[5],a[8]);} A.258 B.741 C.852 D.369 【答案】C 6. 若有说明int a[5][4],则对数组元素正确引用的是( ) A.a[3+1][2*2]; B.a(2+1)(0); C.a[2+2,3]; D.a[2*2][3]; 【答案】D 7. 以下程序段给数组所有的元素输入数据,请选择正确答案填入( ) #include<stdio.h> main() { int a[10],i=0; while(i<10) scanf("%d", ); } A. `a+(i++)` B. `&a[i]` C. `a+i` D. `&a[10]` 【答案】A 8. 下列二维数组初始化语句中,正确的是( ) A.int a[][3]={8,0,7,0,3,1,2,5}; B.int a[][]={{9,3,1},{8,4,2},{3,5,7}}; C.flota a[2][3]={{1,2},{3,4},{5,6}}; D.float a[3][]={{1,2,3},{4,5,6},{7,8,9}}; 【答案】A 9. 以下程序的输出结果是( ) main() { int i, a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf("%d%d%d",a[2],a[5],a[8]); } A. 258 B. 741 C. 852 D. 369 【答案】C 10.以下程序段的输出结果是( ) int a[3][3]={1,2,3,4,5,6,7,8,9}; int i,j,s=0; for(i=0;i<3;i++) for(j=i+1;j<3;j++) s+=a[i][j]; printf("%d ",s); A.11 B.12 C.13 D.14 【答案】A 11.C语言中的一维数组初始化必须满足的条件是:( ) A. 初始化值的个数不能超过数组的大小 B. 初始化值的个数必须与数组的大小相同 C. 初始化值的个数可以少于或等于数组的大小 D. 不需要满足任何条件,初始化个数没有限制 【答案】C 12.数组int a[2][2]={0,1,2,3}中数组如果a[0][0]是第一个元素则第二个元素是( ) A.a[0][0] B.a[0][1] C.a[1][0] D.a[1][1] 【答案】B 13.对于以下定义正确的叙述为( ) char x[]="abcdefg"; char y[]={'a','b','c','d','e','f','g'}; A.数组x和数组y等价 B.数组x和数组y的长度相同 C.数组x的长度大于数组y的长度 D.数组x的长度小于数组y的长度 【答案】C 14.对于字符数组的初始化,以下哪个选项是错误的?( ) A.char str[] = "Hello"; B.char str[6] = "Hello"; C.char str[10] = {'H', 'e', 'l', 'l', 'o', '\0'}; D.char str[]; str = "Hello"; 【答案】D 15.对于一个二维数组 matrix[3][4],以下选项中哪一个表示访问第3行第2列的元素?( ) A. matrix[2][1] B. matrix[3][4] C. matrix[4][2] D. matrix[3][2] 【答案】A 16. 设有以下变量定义:char str[20],i;当输入“zhang空格hong回车”时,能输入“zhang hong”的程序段是( ) A.scanf(“%s”,str); B.for(i=0,str[i]=getchar();str[i]!=' ';) str[i++]=getchar(); C.gets(str); D.for(i=0,str[i]=getchar();str[i]!='\0';i++) str[i]=scanf("%c",str[i]); 【答案】C 17. 以下程序运行后,输出结果是( ) main() { int a[4][4]={{1,3,5},{2,4,6}, {3,5,7}}; printf("%d%d%d%d ",a[0][3],a[1][2],a[2][1],a[3][0]); } A. 0650 B. 1470 C. 5430 D. 输出值不定 【答案】A 18. 以下程序运行后,输出结果是( ) main() { int aa[4][4]={{1,2,3,4},{5,6,7,8}, {3,9,10,2},{4,2,9,6}}; int i,s=0; for(i=0;i<4;i++) s+=aa[i][1]; printf("%d ",s); } A. 11 B. 19 C. 13 D. 20 【答案】B 19. 有以下程序 main() { int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf("%d ",s); } 该程序的输出结果是( ) A. 18 B. 19 C. 20 D. 21 【答案】A 20. 下列定义二维数组的语句中,正确的是( ) A. `int N=5,f[N][N]` B. `float 2ab[3][4]` C. `int m[][2]={1,2,3,4};` D. `int a[2][]={{1,2},{3,4}}` 【答案】C 二、简答题(本大题共5小题,每题6分,共30分) 1. 请简述一维数组的定义。 【答案】一维数组是指数组中元素的排列像一条直线一样,它是数组的一种基本形式,其中的元素可以通过一个索引来访问。 2. 如何初始化一个一维数组? 【答案】一维数组可以在声明时初始化,例如 `int arr[5] = {1, 2, 3, 4, 5};`。如果初始化时未指定全部元素的值,未指定的元素将被自动初始化为0。 3. 请给出引用一维数组元素的语法。 【答案】一维数组元素的引用通过数组名和索引来实现,语法为 `arrayName[index]`,其中 `arrayName` 是数组名,`index` 是元素的索引值。 4. 什么是二维数组? 【答案】二维数组可以看作是一维数组的数组,它由多个一维数组组成,每个一维数组长度相同,排列成一个表格状的结构。 5. 字符串处理函数有几种? 【答案】(1)求串长函数strlen(s) (2)串复制函数strcpy(s1,s2) (3)串联接函数strcat(s1,s2) (4)串比较函数strcmp(s1,s2) 三、编程题(本大题共1小题,共10分) 1.编写一个程序,输入一个字符串,将字符串出现的所有大写英文字母循环右移5位,即: A->F B->G C->H ... Y->D Z->E 提示:将字母字符循环右移5位,可使用如下方法: ch=ch+5; If(ch>’Z’) ch=ch-26; 【答案】 #include <stdio.h> main() { char s[20]; int i; gets(s); for (i = 0; s[i] != '\0'; i++) if (s[i] >= 'A' && s[i] <= 'Z') { s[i] += 5; if (s[i] > 'Z') s[i] -= 26; } puts(s); } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:2026版《软件与应用技术考纲百套卷》依据2026版山东省《软件与应用技术类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,每个知识点2份试卷共76份,第二部分是常考题训练卷,每个知识模块2份训练卷共12份,第三个部分是专业综合训练卷,参考历年软件与应用技术类专业真题试卷,编写了12份。 本试卷是2026版《软件与应用技术考纲百套卷》的第7卷,按知识模块1 C语言程序设计知识,4.数组的五点范围要求编写。其五点要求是: (1)理解一维数组的定义及初始化。 (2)掌握一维数组元素的引用。 (3)理解二维数组的定义及初始化。 (4)掌握二维数组元素的引用。 (5)了解字符数组的定义及引用。 2026版山东省《软件与应用技术考纲百套卷》 第7卷 知识模块1 C语言程序设计知识 4.数组 知识点训练卷 一、单项选择题(本大题共20小题,每题3分,共60分) 1. 以下错误的数组定义形式是( ) A.int a[10]; B.int a[3+2]; C.int a[3*3]; D.int a[3.2]; 2. 在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( ) A. 整型常量 B. 整型表达式 C. 整型常量或整型常量表达式 D. 任何类型的表达式 3. 以下正确的数组定义形式是( ) A.int n;scanf(“%d”,&n);int a[n]; B.int a[1…10]; C.int a[3.2]; D.#define N 10 int a[N]; 4. 以上对一堆整型数据a进行正确初始化的语句是( ) A.int a[10]=(0,0,0,0,0); B.int a[10]={}; C.int a[]={}; D.int a[10]={10*1}; 5. 以下程序段的输出结果是( )。 main(){ int i,a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf(“%d%d%d”,a[2],a[5],a[8]);} A.258 B.741 C.852 D.369 6. 若有说明int a[5][4],则对数组元素正确引用的是( ) A.a[3+1][2*2]; B.a(2+1)(0); C.a[2+2,3]; D.a[2*2][3]; 7. 以下程序段给数组所有的元素输入数据,请选择正确答案填入( ) #include<stdio.h> main() { int a[10],i=0; while(i<10) scanf("%d", ); } A. `a+(i++)` B. `&a[i]` C. `a+i` D. `&a[10]` 8. 下列二维数组初始化语句中,正确的是( ) A.int a[][3]={8,0,7,0,3,1,2,5}; B.int a[][]={{9,3,1},{8,4,2},{3,5,7}}; C.flota a[2][3]={{1,2},{3,4},{5,6}}; D.float a[3][]={{1,2,3},{4,5,6},{7,8,9}}; 9. 以下程序的输出结果是( ) main() { int i, a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf("%d%d%d",a[2],a[5],a[8]); } A. 258 B. 741 C. 852 D. 369 10.以下程序段的输出结果是( ) int a[3][3]={1,2,3,4,5,6,7,8,9}; int i,j,s=0; for(i=0;i<3;i++) for(j=i+1;j<3;j++) s+=a[i][j]; printf("%d ",s); A.11 B.12 C.13 D.14 11.C语言中的一维数组初始化必须满足的条件是:( ) A. 初始化值的个数不能超过数组的大小 B. 初始化值的个数必须与数组的大小相同 C. 初始化值的个数可以少于或等于数组的大小 D. 不需要满足任何条件,初始化个数没有限制 12.数组int a[2][2]={0,1,2,3}中数组如果a[0][0]是第一个元素则第二个元素是( ) A.a[0][0] B.a[0][1] C.a[1][0] D.a[1][1] 13.对于以下定义正确的叙述为( ) char x[]="abcdefg"; char y[]={'a','b','c','d','e','f','g'}; A.数组x和数组y等价 B.数组x和数组y的长度相同 C.数组x的长度大于数组y的长度 D.数组x的长度小于数组y的长度 14.对于字符数组的初始化,以下哪个选项是错误的?( ) A.char str[] = "Hello"; B.char str[6] = "Hello"; C.char str[10] = {'H', 'e', 'l', 'l', 'o', '\0'}; D.char str[]; str = "Hello"; 15.对于一个二维数组 matrix[3][4],以下选项中哪一个表示访问第3行第2列的元素?( ) A. matrix[2][1] B. matrix[3][4] C. matrix[4][2] D. matrix[3][2] 16. 设有以下变量定义:char str[20],i;当输入“zhang空格hong回车”时,能输入“zhang hong”的程序段是( ) A.scanf(“%s”,str); B.for(i=0,str[i]=getchar();str[i]!=' ';) str[i++]=getchar(); C.gets(str); D.for(i=0,str[i]=getchar();str[i]!='\0';i++) str[i]=scanf("%c",str[i]); 17. 以下程序运行后,输出结果是( ) main() { int a[4][4]={{1,3,5},{2,4,6}, {3,5,7}}; printf("%d%d%d%d ",a[0][3],a[1][2],a[2][1],a[3][0]); } A. 0650 B. 1470 C. 5430 D. 输出值不定 18. 以下程序运行后,输出结果是( ) main() { int aa[4][4]={{1,2,3,4},{5,6,7,8}, {3,9,10,2},{4,2,9,6}}; int i,s=0; for(i=0;i<4;i++) s+=aa[i][1]; printf("%d ",s); } A. 11 B. 19 C. 13 D. 20 19. 有以下程序 main() { int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf("%d ",s); } 该程序的输出结果是( ) A. 18 B. 19 C. 20 D. 21 20. 下列定义二维数组的语句中,正确的是( ) A. `int N=5,f[N][N]` B. `float 2ab[3][4]` C. `int m[][2]={1,2,3,4};` D. `int a[2][]={{1,2},{3,4}}` 二、简答题(本大题共5小题,每题6分,共30分) 1. 请简述一维数组的定义。 2. 如何初始化一个一维数组? 3. 请给出引用一维数组元素的语法。 4. 什么是二维数组? 5. 字符串处理函数有几种? 三、编程题(本大题共1小题,共10分) 1.编写一个程序,输入一个字符串,将字符串出现的所有大写英文字母循环右移5位,即: A->F B->G C->H ... Y->D Z->E 提示:将字母字符循环右移5位,可使用如下方法: ch=ch+5; If(ch>’Z’) ch=ch-26; 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

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