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

2025-07-08
| 2份
| 12页
| 95人阅读
| 0人下载

资源信息

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

内容正文:

编写说明:2026版《软件与应用技术考纲百套卷》依据2026版山东省《软件与应用技术类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,每个知识点2份试卷共76份,第二部分是常考题训练卷,每个知识模块2份训练卷共12份,第三个部分是专业综合训练卷,参考历年软件与应用技术类专业真题试卷,编写了12份。 本试卷是2026版《软件与应用技术考纲百套卷》的第12卷,按知识模块1 C语言程序设计知识6.指针的两点范围要求编写。其两点要求是: (1)了解指针变量的定义及引用。 (2)理解指向数组的指针变量。 2026版山东省《软件与应用技术考纲百套卷》 第12卷 知识模块1 C语言程序设计知识 6.指针 知识点训练卷 一、单项选择题(本大题共20小题,每题3分,共60分) 1. C语言中,下列哪个关键字用于声明变量指向函数?( ) A. function B. func C. pointer D. void 2.设 `pl` 和 `p2` 均为指向一个 `int` 型数组的指针变量,`x` 为 `int` 型变量,则以下不能正确执行的赋值语句是( )。 A. `x=*pl+*p2;` B. `p2=x;` C. `pl=p2;` D. `x=*pl*(*p2);` 3.以下程序段的输出结果是( ) int a[]={1,2,3,4,5,6,7,8,9,0},*p;p=a; printf("%d ",*p+9); A.0 B.1 C.10 D.9 4.以下程序段的输出结果是( ) int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d ",*(p+2)); A.3 B.4 C.1 D.2 5.程序int a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);的输出结果是( ) A.非法 B.a[4]的地址 C.5 D.3 6.若有定义 `int*p,m=6,n;` 以下正确的程序段是( )。 A. `p=&n;scanf("%d",&p);` B. `p=&n;scanf("%d",p);` C. `scanf("%d",&n);*p=n;` D. `p=&n;*p=m;` 7.若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( ) A.p+1 B.a+1 C.a++ D.++p 8. 设有以下语句int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则_____不是对a数组元素的正确引用,其中(0<=i<10) A.a[p-a] B.*(&a[i]) C.p[i] D.*(*(a+i)) 9. 假设有以下声明:`int a, *p = &a;`,下列哪个表达式是正确的?( ) A. *p = &a; B. p = *a; C. *p = a; D. &p = a; 10. 若有如下定义:int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0<=i<=9,则为数组元素a[i]不正确的引用是( ) A.*(p+i) B.*(a+i) C.p[i] D.*a[i] 11. 以下程序段的输出结果是( ) int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1]; for(i=0;i<4;i+=2) printf("%d",p[i]); A.5 2 B.5 1 C.5 3 D.9 7 12. 下列哪个操作符用于访问结构体成员?( ) A. . B. -> C. * D. & 13. 假设有以下声明:`int arr[10], *p = arr;`,下列哪个表达式是正确的?( ) A. *(p + 2) = 5; B. *(2 + p) = 5; C. *p(2) = 5; D. p(2) = 5; 14. 下列哪个函数用于释放动态分配的内存?( ) A. free() B. delete C. dealloc() D. release() 15. 在C语言中,下列哪个关键字用于声明一个指向字符的指针?( ) A. char B. int C. float D. void 16. 设int a[3][2]={2,4,6,8,10};则*(a[2]+1)的值是( ) A. 0 B.1 C. 2 D. 3 17. 下列哪个操作符用于对指针进行加法操作?( ) A. ++ B. -- C. += D. -= 18. 在C语言中,下列哪个关键字用于声明一个指向数组的指针?( ) A. array B. arr C. pointer D. void 19. 假设有以下声明:`int arr[10], *p = &arr[0];`,下列哪个表达式是正确的?( ) A. p = arr + 1; B. p = &arr + 1; C. p = arr[1]; D. p = &arr[1]; 20. 下列哪个操作符用于对指针进行减法操作?( ) A. ++ B. -- C. += D. -= 二、简答题(本大题共5小题,每题6分,共30分) 1. 函数指针的概念。 2. 简述动态内存分配的概念及其在C语言中的应用。 3. 指针在结构体中的应用。 4. 指针与字符串的关系。 5. 指针在文件操作中的作用。 三、编程题(本大题共1小题,共10分) 1. 编写一个C语言程序,输入十个数,使用选择法按从小到大的顺序排序并输出。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:2026版《软件与应用技术考纲百套卷》依据2026版山东省《软件与应用技术类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,每个知识点2份试卷共76份,第二部分是常考题训练卷,每个知识模块2份训练卷共12份,第三个部分是专业综合训练卷,参考历年软件与应用技术类专业真题试卷,编写了12份。 本试卷是2026版《软件与应用技术考纲百套卷》的第12卷,按知识模块1 C语言程序设计知识6.指针的两点范围要求编写。其两点要求是: (1)了解指针变量的定义及引用。 (2)理解指向数组的指针变量。 2026版山东省《软件与应用技术考纲百套卷》 第12卷 知识模块1 C语言程序设计知识 6.指针 知识点训练卷 一、单项选择题(本大题共20小题,每题3分,共60分) 1. C语言中,下列哪个关键字用于声明变量指向函数?( ) A. function B. func C. pointer D. void 【答案】D 2.设 `pl` 和 `p2` 均为指向一个 `int` 型数组的指针变量,`x` 为 `int` 型变量,则以下不能正确执行的赋值语句是( )。 A. `x=*pl+*p2;` B. `p2=x;` C. `pl=p2;` D. `x=*pl*(*p2);` 【答案】B 3.以下程序段的输出结果是( ) int a[]={1,2,3,4,5,6,7,8,9,0},*p;p=a; printf("%d ",*p+9); A.0 B.1 C.10 D.9 【答案】C 4.以下程序段的输出结果是( ) int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d ",*(p+2)); A.3 B.4 C.1 D.2 【答案】A 5.程序int a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);的输出结果是( ) A.非法 B.a[4]的地址 C.5 D.3 【答案】C 6.若有定义 `int*p,m=6,n;` 以下正确的程序段是( )。 A. `p=&n;scanf("%d",&p);` B. `p=&n;scanf("%d",p);` C. `scanf("%d",&n);*p=n;` D. `p=&n;*p=m;` 【答案】D 7.若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( ) A.p+1 B.a+1 C.a++ D.++p 【答案】C 8. 设有以下语句int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则_____不是对a数组元素的正确引用,其中(0<=i<10) A.a[p-a] B.*(&a[i]) C.p[i] D.*(*(a+i)) 【答案】D 9. 假设有以下声明:`int a, *p = &a;`,下列哪个表达式是正确的?( ) A. *p = &a; B. p = *a; C. *p = a; D. &p = a; 【答案】C 10. 若有如下定义:int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0<=i<=9,则为数组元素a[i]不正确的引用是( ) A.*(p+i) B.*(a+i) C.p[i] D.*a[i] 【答案】D 11. 以下程序段的输出结果是( ) int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1]; for(i=0;i<4;i+=2) printf("%d",p[i]); A.5 2 B.5 1 C.5 3 D.9 7 【答案】C 12. 下列哪个操作符用于访问结构体成员?( ) A. . B. -> C. * D. & 【答案】B 13. 假设有以下声明:`int arr[10], *p = arr;`,下列哪个表达式是正确的?( ) A. *(p + 2) = 5; B. *(2 + p) = 5; C. *p(2) = 5; D. p(2) = 5; 【答案】A 14. 下列哪个函数用于释放动态分配的内存?( ) A. free() B. delete C. dealloc() D. release() 【答案】A 15. 在C语言中,下列哪个关键字用于声明一个指向字符的指针?( ) A. char B. int C. float D. void 【答案】A 16. 设int a[3][2]={2,4,6,8,10};则*(a[2]+1)的值是( ) A. 0 B.1 C. 2 D. 3 【答案】A 17. 下列哪个操作符用于对指针进行加法操作?( ) A. ++ B. -- C. += D. -= 【答案】C 18. 在C语言中,下列哪个关键字用于声明一个指向数组的指针?( ) A. array B. arr C. pointer D. void 【答案】C 19. 假设有以下声明:`int arr[10], *p = &arr[0];`,下列哪个表达式是正确的?( ) A. p = arr + 1; B. p = &arr + 1; C. p = arr[1]; D. p = &arr[1]; 【答案】D 20. 下列哪个操作符用于对指针进行减法操作?( ) A. ++ B. -- C. += D. -= 【答案】D 二、简答题(本大题共5小题,每题6分,共30分) 1. 函数指针的概念。 【答案】指针也就是内存地址。指针变量是用来存放这些内存地址的变量。不同类型指针变量所占用的存储单元长度是相同的。C语言是通过变量来使用存储空间的。内存中的每个存储单元都有编号,称为地址。每当定义一个变量时,编译器就根据该变量的数据类型分配相应长度的存储空间,这个存储空间的首地址就是变量的地址,也就是指针。 2. 简述动态内存分配的概念及其在C语言中的应用。 【答案】动态内存分配是在程序运行过程中,根据需要动态地分配和释放内存空间。在C语言中,动态内存分配常用的函数有malloc()、calloc()、realloc()和free()。动态内存分配可以用于数组的动态创建和释放,以及数据结构如链表、树等的实现。 3. 指针在结构体中的应用。 【答案】在C语言中,指针可以用于访问和操作结构体成员。通过结构体指针,可以实现对结构体变量的间接访问和修改。结构体指针常用于实现链表、树等数据结构,以及函数间传递大型数据。 4. 指针与字符串的关系。 【答案】在C语言中,字符串以字符数组的形式存储,字符串名表示字符数组首元素的地址。指针可以用来访问和操作字符串,通过指针的算术运算,可以遍历字符串中的字符。此外,指针还可以用于字符串的动态分配和操作。 5. 指针在文件操作中的作用。 【答案】在C语言中,文件操作如读取和写入文件,需要使用文件指针。文件指针用于指向文件缓冲区,实现对文件的读写操作。通过文件指针,可以读取文件内容、写入数据到文件,以及获取文件的状态信息。常见的文件操作函数有fopen()、fclose()、fread()、fwrite()等。 三、编程题(本大题共1小题,共10分) 1. 编写一个C语言程序,输入十个数,使用选择法按从小到大的顺序排序并输出。 【答案】 #include <stdio.h> main() { int a[10], *p = a, i, j, t; for (i = 0; i <= 9; i++) scanf("%d", p + i); for (i = 0; i < 9; i++) for (j = i + 1; j < 10; j++) { if (*(p + i) > *(p + j)) { t = *(p + i); *(p + i) = *(p + j); *(p + j) = t; } for (i = 0; i <= 9; i++) printf("%d", *(p + i)); } } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

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