ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:20.42KB ,
资源ID:5754240      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5754240.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机等级二级C语言章节习题及答案9.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机等级二级C语言章节习题及答案9.docx

1、计算机等级二级C语言章节习题及答案92011年计算机等级二级C语言章节习题及答案(9)第10章指针 同步练习一 一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。) 10.1若有下面的程序段: chars=china;char*p;p=s; 则下列叙述正确的是 A)s和p完全相同落千丈B)数组s中的内容和指针变量p中的内容相等 C)s数组长度和p所指向的字符串长度相等D)*p与s0相等 考生答案:正确答案:D 10.2若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是 A)a,point,*&aB

2、)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point 考生答案:正确答案:D 10.3下列程序执行后的输出结果是 voidfunc(int*a,intb) b0=*a+6; main() inta,b5; a=0;b0=3; func(&a,b);printf(%dn,b0); A)6B)7C)8D)9 考生答案:正确答案:A 10.4已定义以下函数 fun(char*p2,char*p1) while(*p2=*p1)!=0)p1+;p2+; 函数的功能是 A)将p1所指字符串复制到p2所指内存空间 B)将p1所指字符串的地址赋给指针p2 C

3、)对p1和p2两个指针所指字符串进行比较 D)检查p1和p2两个指针所指字符串中是否有0 考生答案:正确答案:A 10.5有以下程序 voidss(char*s,chart) while(*s) if(*s=t)*s=t-a+A; s+; main() charstr1100=abcddfefdbd,c=d; ss(str1,c); printf(%sn,str1); 程序运行后的输出结果是 A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd 考生答案:正确答案:B 10.6下面说明不正确的是 A)chara10=china;B)chara

4、10,*p=a;p=china C)char*a;a=china;D)chara10,*p;p=a=china 考生答案:正确答案:D 10.7设有定义:intn=0,*p=&n,*q=&p,则下列选项中正确的赋值语句是 A)p=1;B)*q=2;C)q=p;D)*p=5; 考生答案:正确答案:D 10.8执行以下程序后,a,b的值分别为 main() inta,b,k=4,m=6,*p1=&k,*p2=&m; a=p1=&m; b=(*p1)/(*p2)+7; printf(a=%dn,a); printf(b=%dn,b); A)-1,5B)1,6C)0,7D)4,10 考生答案:正确答案

5、:C 10.9假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROGABCDEFGHIJKL,则输出结果为 main(intargc,char*argv) while(-argc0) printf(%s,argvargc); printf(n); A)ABCDEFGB)IJHLC)ABCDEFGHIJKLD)IJKLABCDEFGH 考生答案:正确答案:D 10.10以下程序有错,错误原因是 main() int*p,i;char*q,ch; p=&i; q=&ch; *p=40; *p=*q; . A)p和q的类型不一致,不能执行

6、*p=*q;语句 B)*p中存放的是地址值,因此不能执行*p=40;语句 C)q没有指向具体的存储单元,所以*q没有实际意义 D)q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果 考生答案:正确答案:D 10.11下面程序段的运行结果是 chara=lanuage,*p; p=a; while(*p!=u)printf(%c,*p-32);p+; A)LANGUAGEB)languageC)LAND)langUAGE 考生答案:正确答案:C 10.12有以下语句,则对a数组元素的引用不正确的是(0i9) inta10=0,1,2,3

7、,4,5,6,7,8,9,*p=a; A)ap-aB)*(&ai)C)piD)*(*(a+i) 考生答案:正确答案:D 10.13函数fun的返回值是 fun(char*a,char*b) intnum=0,n=0; while(*(a+num)!=0)num+; while(bn)*(a+num)=bn;num+;n+; returnnum; A)字符串a的长度B)字符串b的长度 C)字符串a和b的长度之差D)字符串a和b的长度之和 考生答案:正确答案:D 10.14下列程序的输出结果是 main() inta5=2,4,6,8,10,*p,*k; p=a; k=&p; printf(%d,

8、*(p+); printf(%dn,*k); A)4B)22C)24D)46 考生答案:正确答案:C 10.15下面判断正确的是 A)char*a=china;等价于char*a;*a=china; B)charstr5=china;等价于charstr=china; C)char*s=china;等价于char*s;s=china; D)charc4=abc,d4=abc;等价于charc4=d4=abc; 考生答案:正确答案:C 10.16以下定义中,标识符prtint(*prt)3 A)定义不含法 B)是一个指针数组名,每个元素都是一个指向整数变量的指针 C)是一个指针,它指向一个具有三

9、个元素的一维数组 D)是一个指向整型变量的指针 考生答案:正确答案:D 10.17有如下说明 inta10=1,2,3,4,5,6,7,8,9,10,*p=a; 则数值为9的表达式是 A)*p+9B)*(p+8)C)*p+=9D)p+8 考生答案:正确答案:B 10.18若有定义:char*st=howareyou;下列程序段中正确的是 A)chara11,*p;strcpy(p=a+1,&st4); B)chara11;strcpy(+a,st); C)chara11;strcpy(a,st); D)chara,*p;strcpy(p=&a1,st+2); 考生答案:正确答案:A 10.19

10、下列程序的运行结果是 voidfun(int*a,int*b) int*k; k=a;a=b;b=k; main() inta=3,b=6,*x=&a,*y=&b; fun(x,y); printf(%d%d,a,b); A)63B)36C)编译出错D)00 考生答案:正确答案:B 10.20若有说明语句 chara=Itismine; char*p=Itismine; 则以下不正确的叙述是 A)a+1表示的是字符t的地址 B)p指向另外的字符串时,字符串的长度不受限制 C)p变量中存放的地址值可以改变 D)a中只能存放10个字符 考生答案:正确答案:D 10.21以下程序的运行结果是 sub

11、(intx,inty,int*z) *z=y-x; main() inta,b,c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf(M,M,Mn,a,b,c); A)5,2,3B)-5,-12,-7C)-5,-12,-17D)5,-2,-7 考生答案:正确答案:B 10.22若有下面的程序片段: int12=0,*p3,*pp,i; for(i=0;i3;i) pi=&ai*4; pp=p; 则对数组元素的错误引用是 A)pp01B)a10C)p31D)*(*(p+2)+2) 考生答案:正确答案:C 10.23下面程序的输出结果是 #includ

12、e #include main() char*p1=abc,*p2=ABC,str50=xyz; strcpy(str+2,strcat(p1,p2); printf(%sn,str); A)xyzabcABCB)zabcABCC)xyabcABCD)yzabcABC 考生答案:正确答案:C 10.24有如下程序 main() charch25=6937,8254,*p2; inti,j,s=0; for(i=0;i2;i+) pi=chi; for(i=0;i0;j+=2) s=10*s+pij-0; printf(%dn,s); 该程序的输出结果是 A)69825B)63825C)6385

13、D)693825 考生答案:正确答案:C 10.25阅读下面程序,则执行后的结果为 #includestdio.h #includestring.h #defineN10 #defineM10 char*find(char(*a)M,intn) char*q;inti; q=a0; for(i=0;iif(strcmp(ai,q)0) q=ai; returnq; main() charsNM=tomeetme,you,and,he,china; char*p; intn=5,i; p=find(s,n); puts(p); A)heB)andC)youD)tomeetme 考生答案:正确答案

14、:B 二、填空题(请将每一个空的正确答案写在答题卡相应序号后。) 10.26函数voidfun(float*sn,intn)的功能是:根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。 voidfun(float*sn,intn) floats=0.0,w,f=-1.0; inti=0; for(i=0;i=n;i+) f=【1】*f; w=f/(2*i+1); s+=w; 【2】=s; 考生答案:正确答案:-1正确答案:*sn 10.27该程序运行的结果是【3】。 #include #include #defineM100 voidfun(intm,

15、int*a,int*n) inti,j=0; for(i=1;i=m;i+) if(i%7=0|i_=0) aj+=i; *n=j; main() intaaM,n,k; clrscr(); fun(10,aa,&n); for(k=0;kif(k+1) =0) printf(n); elseprintf(M,aak); printf(n); 考生答案:正确答案:7 10.28下列程序的功能是:求出ss所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串123412132,输入字符1,则输出3,请填空。 #include #include #defineM81 intfun(char*

16、ss,charc) inti=0; for(;【4】;ss+) if(*ss=c)i+; returni; main() charaM,ch; clrscr(); printf(nPleaseenterastring:);gets(a); printf(nPleaseenterachar:);ch=getchar(); printf(nThenumberofthecharis:%dn,fun(a,ch); 考生答案:正确答案:*ss!=0 10.29若给fun函数的形参s传送字符串:“6354abcc”(其中表示空格字符),则函数的返回值是【5】。 #include longfun(chars

17、) longn;intsign; for(;isspace(*s);s+); sign=(*s=-)?-1:1; if(*s=+|*s=-)s+; for(n=0;isdigit(*s);s+)n=10*n+(*s-0); returnsign*n; 考生答案:正确答案:6354 10.30下面程序是指从终端读入的20个字符放入字符数组中,然后利用指针变量输出上述字符串,请填空。 #include main() inti;chars21,*p; for(i=0;i20;i+) si=getchar(); si=【6】; p=【7】 while(*p)putchar(【8】); 正确答案:0正确

18、答案:s正确答案:*p+ 10.31以下函数的功能是求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 例如,若x中的值为30,则有4个数符合要求,它们是1,3,5,15。 请按题意,完成填空。 试题程序: #include #include voidfun(intx,intpp,int*n) inti,j=0; 【9】 if(x%i=0)ppj+=i; 【10】; main() intx,aa1000,n,i; clrscr(); printf(nPleaseenteranintegernumber:n); scanf(%d,&x); fu

19、n(x,aa,&n); for(i=0;iN  I+) printf(%d,aai); printf(n); 正确答案:for(i=1;i 10.32mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。 intmystrlen(char*str) inti; for(i=0;【11】!=0;i+); return(i); 考生答案:正确答案:*(str+i)或stri 10.33下面函数的功能是:找出一维数组元素中最大的值和它所在的下标,最大值的和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,

20、max存放最大值,index存放最大值所在元素的下标。请填空。 #include #include voidfun(inta,intn,int*max,int*d) inti; *max=a0; *d=0; for(i=0;【12】;i+) if(*max【13】) *max=ai;*d=i; main() inti,x20,max,index,n=10; randomize(); for(i=0;ixi=rand()P;printf(M,xi); printf(n); fun(x,n,&max,&index); printf(Max=,Index=Mn,max,index); 考生答案:正确答案:iN 正确答案: AI 10.34阅读以下程序,使程序输出结果为30,4.000000,请填空。 #includestdio.h main() inta=30,b=40,c; double【14】,s; s=fun(&a,&b,&c); printf(%d,%lfn,c,s); doublefun(int*a,int*b,【15】) *c=*a%*b; return(4.0); 正确答案:fun(int*,int*,int*)正确答案:int*c

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1