C语言指针经典练习题及答案 本文将对C语言指针经典练习题进行详细解释,涵盖选择题、程序运行结果分析、指针运算等多方面的知识点。 一、选择题 1. 变量的指针,其含义是指该变量的____。 答案:b)地址 解释:变量的指针是指向该变量的内存地址的指针变量。 2. 若有语句 int *point,a=4;和 point=&a;下面均代表地址的一组选项是__ _。 答案:c)*&point,*point,&a 解释:point是指针变量,*point是指针变量point所指向的值,即a的值。&point是指针变量point的地址,*&point是指针变量point的地址所指向的值,即a的地址。 3. 若有说明;int *p,m=5,n;以下正确的程序段的是________。 答案:d)p=&n; *p=n; *p=m; 解释:p是指针变量,p=&n使p指向n的地址,*p=n使p指向的地址所指向的值为n,*p=m使p指向的地址所指向的值为m。 4. 以下程序中调用 scanf 函数给变量 a 输入数值的方法是错误的,其错误原因是____。 答案:a)*p 表示的是指针变量 p 的地址 解释:scanf函数用于输入变量的值,而*p表示的是指针变量p的值,而不是变量a的地址。 5. 已有变量定义和函数调用语句:int a=25; print_value(&a); 下面函数的正确输出结果是______。 答案:c)26 解释:print_value函数将a的地址作为参数,函数内部将a的值加1然后输出。 6. 若有说明:long *p,a;则不能通过 scanf 语句正确给输入项读入数据的程序段是 ______。 答案:A) *p=&a; scanf("%ld",p); 解释:scanf函数用于输入long型变量的值,而*p=&a是将p指向a的地址,然后scanf函数将输入的值存储到*p所指向的地址中。 7. 有以下程序 int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r; printf("%d,%d,%d,%d\n",m,n,*p,*q); 程序运行后的输出结果是 ______。 答案:A)1,2,1,2 解释:程序中三次赋值操作,使得r=p=p=q=r=&m=&n,因此printf函数输出m、n、*p、*q的值分别为1、2、1、2。 8. 有以下程序 main(){ int a=1, b=3, c=5; int *p1=&a, *p2=&b, *p=&c; *p =*p1*(*p2); printf("%d\n",c); } 执行后的输出结果是 ______。 答案:D)15 解释:*p =*p1*(*p2)将*p的值设置为*a的值乘以*b的值,即*p=1*3=3,然后printf函数输出c的值为3*5=15。 9. 有以下程序 main(){ int a,k=4,m=4,*p1=&k,*p2=&m; a=p1==&m; printf("%d\n",a); } 程序运行后的输出结果是 ______。 答案:C)0 解释:p1==&m将比较p1和&m的地址是否相等,因为p1=&k,而&m是m的地址,所以比较结果为false,a=0。 10. 在 16 位编译系统上,若有定义 int a[]={10,20,30}, *p=&a;,当执行 p++;后,下列说法错误的是( ) 答案:A)p 向高地址移了一个字节 解释:在 16 位编译系统上,int型变量占用两个字节,所以p++;操作将使p向高地址移两个字节。 11. 有以下程序段 int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=&a[3], b; b=p[5]; b 中的值是 ______。 答案:A)6 解释:p=&a[3]使p指向a[3]的地址,然后b=p[5]使b的值为a[3+5]=a[8]=6。 12. 若有以下定义,则对 a 数组元素的正确引用是_________。 答案:d)*(a+2) 解释:*(a+2)是对a数组元素的正确引用,即a[2]的值。 13. 若有以下定义,则 p+5 表示_______。 答案:a)元素 a[5]的地址 解释:p+5使指针p向高地址移5个元素,即指向a[5]的地址。 14. 设已有定义: int a[10]={15,12,7,31,47,20,16,28,13,19},*p; 下列语句中正确的是( ) 答案:B) for(p=a;...;p++) 解释:for(p=a;...;p++)是正确的循环语句,使p指针从a数组的开始元素向后遍历。
剩余22页未读,继续阅读
- 粉丝: 2733
- 资源: 8万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 技术资料分享TF卡资料很好的技术资料.zip
- 技术资料分享TF介绍很好的技术资料.zip
- 10、安徽省大学生学科和技能竞赛A、B类项目列表(2019年版).xlsx
- 9、教育主管部门公布学科竞赛(2015版)-方喻飞
- C语言-leetcode题解之83-remove-duplicates-from-sorted-list.c
- C语言-leetcode题解之79-word-search.c
- C语言-leetcode题解之78-subsets.c
- C语言-leetcode题解之75-sort-colors.c
- C语言-leetcode题解之74-search-a-2d-matrix.c
- C语言-leetcode题解之73-set-matrix-zeroes.c