没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
内容概要:本文档《练习题.docx》主要涵盖指针、数组、函数及编程题四个部分,通过选择题和编程题的形式帮助读者理解和掌握C语言相关知识点。指针部分详细探讨了指针的基本概念及其在不同场景下的应用,包括指针与数组、字符串的操作,以及指针算术运算等。数组部分则深入讲解了一维数组和二维数组的定义、初始化、访问方式,以及与指针结合使用的技巧。函数部分重点介绍了函数参数传递、返回值、递归调用等内容,并通过具体例子展示了字符串处理函数的使用方法。编程题部分提供了几个实际问题的解决方案,如数组元素的插入、删除和遍历操作。 适用人群:适合有一定C语言基础的学习者,特别是正在学习或复习指针、数组和函数概念的学生或开发者。 使用场景及目标:①帮助读者深入理解指针的概念及其在C语言中的灵活运用;②通过实例解析,让读者掌握数组的各种操作技巧;③加深对函数的理解,尤其是参数传递机制和递归调用的实现;④通过编程题实践,提升解决实际问题的能力。 其他说明:文档中的题目难度适中,涵盖了C语言编程的核心知识点,有助于巩固理论知识并提高编程技能。建议读者在学习过程中多做笔记,结合实际编程环境进行练习,以达到更好的学习效果。
资源推荐
资源详情
资源评论



























指针
一.选择题
1.变量的指针,其含义是指该变量的 。b
A)值 B)地址 C)名 D)一个标志
2.已有定义 int k=2;int *ptr1,*ptr2;且 ptr1 和 ptr2 均已指向变量 k,下面不能正确执行的赋值语句是 。b
A)k=*ptr1+*ptr2 B)ptr2=k C)ptr1=ptr2 D)k=*ptr1*(*ptr2)
3.若有说明:int *p,m=5,n;以下程序段正确的是 。d
A)p=&n ; B)p = &n ;
scanf(“%d”,*p); x scanf(“%d”,&p); x
C)scanf(“%d”,&n); D)p = &n ;
*p=n ; 野指针 *p = m ;
4.若有说明:int *p1, *p2,m=5,n;以下均是正确赋值语句的选项有哪些 。ac
A)p1=&m; p2=&p1 ; B)p1=&m; p2=&n; *p1=*p2 ;
C)p1=&m; p2=p1 ; D)p1=&m; *p1=*p2 ;
5.若有语句:int *p,a=4;和 p=&a;下面均代表地址的一组选项是 。d
A)a,p,*&a B)&*a,&a,*p C)*&p,*p,&a D)&a,&*p,p
6.下面判断正确的是 。c
A)char *a=”china”; 等价于 char *a; *a=”china” ;
B)char str[10]={“china”}; 等价于 char str[10]; str[ ]={“china”;} x
C)char *s=”china”; 等价于 char *s; s=”china” ;
D)char c[4]=”abc”,d[4]=”abc”; 等价于 char c[4]=d[4]=”abc” ;
7.下面程序段中,for 循环的执行次数是 。a
char *s=” a8bc”
for ( ; *s!=’ ’ ; s++) printf(“*”) ;
A)2 B)7 C)6 D)5
8.下面能正确进行字符串赋值操作的是 。c
A)char s[5]={“ABCDE”};
B)char s[5]={‘A’,’B’,’C’,’D’,’E’};
C)char *s ; s=”ABCDE” ; D)char *s; scanf(“%s”,s) ;
9.下面程序段的运行结果是 。c
char *s=”abcde” ;
s+=2 ; printf(“%d”,s);
A)cde B)字符’c’ C)字符’c’的地址 D)98
10.设有程序段:char s[ ]=”china”; char *p ; p=s ;则下面叙述正确的是 。d
A)s 和 p 完全相同 x

B)数组 s 中的内容和指针变量 p 中的内容相等
C)s 数组长度和 p 所指向的字符串长度相等 x
D)*p 与 s[0]相等
11.下面程序段的运行结果是 。c
char a[ ]=”language” , *p ;
p=a ;
while (*p!=’u’) { printf(“%c”,*p-32); p++ ; }
A)LANGUAGE B)language C)LANG D)langUAGE
12.以下说明不正确的是 。d
A)char a[10]=”china” ;
B)char a[10],*p=a; p=”china”;
C)char *a; a=”china” ;
D)char a[10]; a=”china”;
13.设有说明语句:char a[]=”It is mine”;char *p=”It is mine”;则以下不正确的叙述是 。d
A)a+1 表示的是字符 t 的地址
B)p 指向另外的字符串时,字符串的长度不受限制
C)p 变量中存放的地址值可以改变
D)a 中只能存放 10 个字符
14.若已定义 char s[10];则在下面表达式中不表示 s[1]的地址是 。b
A)s+1 B)s++ C)&s[0]+1 D)&s[1]
15.若有定义:int a[5],*p=a;则对 a 数组元素的正确引用是 。d
A)*&a[5] B)a+2 C)*(p+5) D)*(a+2)
16.若有定义:int a[5],*p=a;则对 a 数组元素地址的正确引用是 。b
A)p+5 B)*a+1 C)&a+1 D)&a[0]
17.若有定义:int a[2][3];则对 a 数组的第 i 行第 j 列元素值的正确引用是 。a
A)*(*(a+i)+j) B)(a+i)[j] C)*(a+i+j) D)*(a+i)+j
18.若有定义:int a[2][3];则对 a 数组的第 i 行第 j 列元素地址的正确引用是 。d
A)*(a[i]+j) B)(a+i) C)*(a+j) D)a[i]+j
19.若有程序段:int a[2][3],(*p)[3]; p=a;则对 a 数组元素地址的正确引用是 。c
A)*(p+2) B)p[2] C)p[1]+1 D)(p+1)+2
20.若有程序段:int a[2][3],(*p)[3]; p=a;则对 a 数组元素的正确引用是 。c
A)(p+1)[0] B)*(*(p+2)+1) C)*(p[1]+1) D)p[1]+2
21.若有定义:int a[5];则 a 数组中首元素的地址可以表示为 。c
A)&a B)a+1 C)a D)&a[1]
22.若有定义:int (*p)[4];则标识符 p 。b

A)是一个指向整型变量的指针
B)是一个指针数组名
C)是一个指针,它指向一个含有四个整型元素的一维数组
D)定义不合法
23.以下与 int *q[5];等价的定义语句是 。d
A)int q[5] B)int *q C)int *(q[5]) D)int (*q)[5]
24.以下正确的说明语句是 。b
A)int *b[]={1,3,5,7,9} ;
B)int a[5],*num[5]={&a[0],&a[1],&a[2],&a[3],&a[4]};
C)int a[]={1,3,5,7,9}; int *num[5]={a[0],a[1],a[2],a[3],a[4]};
D)int a[3][4],(*num)[4] ; num[1]=&a[1][3];
25.若有定义:int b[4][6],*p,*q[4];且 0≤i<4,则不正确的赋值语句是 。b
A)q[i]=b[i]; B)p=b; C)p=b[i]; D)q[i]=&b[0][0]
26.若要对 a 进行自减运算,则 a 应有下面说明 。d
A)int p[3]; int *a=p; B)int k; int *a=&k; C)char *a[3] D)int b[10]; int *a=b+1;
27.以下选项中,对指针变量 p 的正确操作是 。b
A)int a[3], *p; p=&a; B)int a[5], *p; p=a;
C)int a[5];int *p=a=100;
D)int a[5]; int *p1,*p2=a; *p1=*p2;
28.若有定义:int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;则数值不为 3 的表达式是 。c
A)x[3] B)p1=x+3,*p1++
C)p1=x+2,*(p1++) D)p1=x+2,*++p1
29.下面程序段的输出是 。c
int a[ ]={2,4,6,8,10,12,14,16,18,20,22,24},*q[4],k;
for (k=0; k<4; k++) q[k]=&a[k*3];
printf(“%d\n”,q[3][0]);
A)22 B)16 C)20 D)输出不合法
30.若要对 a 进行自增运算,则 a 应具有下面说明 。d
A)int a[3][2]; B)char *a[ ]={“12”,”ab”};
C)char (*a) [3] D)int b[10], *a=b;
31.若有定义 int a[4][6];则能正确表示 a 数组中任一元素 a[i][j](i,j 均在有效范围内)地址的表达式 。c
A)&a[0][0]+6*i+j B)&a[0][0]+4*j+i
C)&a[0][0]+4*i+j D)&a[0][0]+6*j+I
32.下面程序的运行结果是 。b
main ( )
{ int x[5]={2,4,6,8,10}, *p, **pp ;
p=x , pp = &p ;
剩余11页未读,继续阅读
资源评论


qq_40674039
- 粉丝: 6
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- Python实现自组织映射网络进行聚类分析
- git操作-【Git版本控制】Git版本回滚操作指南:代码提交错误修正与版本恢复流程详解
- VXLAN 分布式式网关实验-动态隧道(H3C)
- 小目标检测-水下场景小目标检测算法实现-附项目源码-优质项目实战.zip
- 视频分享miaoma大前端架构师训练营2025
- 【小红书平台】2025年第二季度新兴品类市场趋势分析:四大行业(美食、个护、数码、母婴)关键数据与品牌营销策略
- qt-snake.tar
- 机器学习入门:随机森林参数选择与气温预测
- STM32学习(1)CubeMX+串口+环形队列DMA接收数据
- 宠物烘焙粮,全球前28强生产商排名及市场份额.pdf
- LTCC,全球前36强生产商排名及市场份额(by QYResearch).pdf
- 半导体温控设备,全球前25强生产商排名及市场份额(by QYResearch).pdf
- 汽车秤,全球前25强生产商排名及市场份额(by QYResearch).pdf
- 定制化浪潮席卷千亿糖果产业!全球巧克力制造机市场迈入智能柔性生产时代__.pdf
- 索具五金件,全球前33强生产商排名及市场份额(by QYResearch).pdf
- 麦克风咪芯,全球前19强生产商排名及市场份额(by QYResearch).pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
