指针经典练习题(含答案版)三.pdf

指针经典练习题(含答案版)三.pdf

ID:53002206

大小:110.54 KB

页数:4页

时间:2020-04-10

指针经典练习题(含答案版)三.pdf_第1页
指针经典练习题(含答案版)三.pdf_第2页
指针经典练习题(含答案版)三.pdf_第3页
指针经典练习题(含答案版)三.pdf_第4页
资源描述:

《指针经典练习题(含答案版)三.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、指针一.填空题(20分)1.指针变量是把内存中另一个数据的地址作为其值的变量。2.能够直接赋值给指针变量的整数是0。3.如果程序中已有定义:intk;1)定义一个指向变量k的指针变量p的语句是int*p=&k;。2)通过指针变量,将数值6赋值给k的语句是*p=6;。3)定义一个可以指向指针变量p的变量pp的语句是int**pp;。4)通过赋值语句将pp指向指针变量p的语句是pp=&p;。5)通过指向指针的变量pp,将k的值增加一倍的语句是*(*pp)*=2;。4.当定义某函数时,有一个形参被说明成int*类型,那么可以与之结合

2、的实参类型可以是int型指针、int型数组等。4.以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数。例如,输入的字符串为:556,则输出十进制整数366。请填空。45*8#includemain(){char*p,s[6];intn;p=s;gets(p);n=*p-'0';while(*++p!='')//先++,后*n=n*8+*p-'0';printf("%d",n);}二.选择题(22分)1.以下count函数的功能是统计substr在母串str中出现的次数。intcount(

3、char*str,char*substr){inti,j,k,num=0;for(i=0;①B;i++){for(②B,k=0;substr[k]==str[j];k++,j++)if(substr[③C]==’’){num++;break;}}returnnum;}①A)str[i]==substr[i]B)str[i]!=‘’C)str[i]==‘’D)str[i]>substr[i]②A)j=i+1B)j=iC)j=i+10D)j=1③A)kB)k++C)k+1D)++k2.以下Delblank函数的功能是删

4、除字符串s中的所有空格(包括Tab、回车符和换行符)。voidDelblank(char*s){inti,t;charc[80];for(i=0,t=0;A①;i++)if(!isspace(D②))c[t++]=s[i];c[t]=‘’;strcpy(s,c);}①A)s[i]B)!s[i]C)s[i]=‘’D)s[i]==‘’②A)s+iB)*c[i]C)*(s+i)=‘’D)*(s+i)3.以下conj函数的功能是将两个字符串s和t连接起来。char*conj(char*s,char*t){char*p=

5、s;while(*s)①B;while(*t){*s=A②;s++;t++;}*s=‘’;C③;}①A)s--B)s++C)sD)*s②A)*tB)tC)t--D)*t++③A)returnsB)returntC)returnpD)returnp-t4.下列程序的输出结果是B。#includemain(){int**k,*a,b=100;a=&b;k=&a;printf(“%d”,**k);}A)运行出错B)100C)a的地址D)b的地址5.下列程序的输出结果是D。#includef

6、un(int*a,int*b){int*w;*a=*a+*a;*w=*a;*a=*b;*b=*w;}main(){intx=9,y=5,*px=&x,*py=&y;fun(px,py);printf(“%d,%d”,x,y);}A)出错B)18,5C)5,9D)5,186.若定义了以下函数:voidf(……){……p=(double*)malloc(10*sizeof(double));……}p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是A。A)double*pB)float**

7、pC)double**pD)float*p三.编程题1.编写函数实现,计算字符串的串长。(10分)intmyLength(char*ps){intLength=0;while(*ps){Length++;ps++;}returnLength;}2.编写函数实现,计算一个字符在一个字符串中出现的次数。(20分)#include#includeintOccur(char*s,charc);intOccur(char*s,charc){intcount=0;while(*s){if(*s==c)

8、count++;s++;}returncount;}3.有n个人围成一圈,顺序排号。由用户从键盘输入报数的起始位置,从该人开始报数(计数从0开始),凡报数为3的倍数出圈。问最后剩下的是几号?(28分)intmain(){int*arr;intn,start;cout<<"请输

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。