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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言第十章复习题不含答案.docx

1、C语言第十章复习题不含答案1. 若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是( )。(A)i= *p; (B)*p=*&j; (C)i=&j; (D)i=* *p;2. 若有以下说明:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为6的表达式是( )。(A)*p+6 (B)*(p+6) (C)*p+=5 (D)p+53. 若有以下定义和语句:char *s1=12345,*s2=1234;printf(%dn,strlen(strcpy(s1,s2);则输出结果是( )。(A)4 (B)5 (C)9 (D)104. 以下不能正确进行字符串赋

2、初值的语句是( )。(A) char str5=good!; (B) char str=good!;(C) char *str=good!; (D) char str5=g,o,o,d;5. 若定义:int a=511,*b=&a;, 则printf(%dn,*b);的输出结果为( )。(A) 无确定值 (B) a的地址 (C) 512 (D) 5116. 下面程序的输出是( )。(A) 3 (B) 4 (C) 1 (D) 2main() int a10= 1,2,3,4,5,6,7,8,9,10,*p=a;printf(%dn,*(p+2);7. 若有说明:int n=2,*p=&n,*q=

3、p;,则以下非法的赋值语句是( )。(A) p=q; (B) *p=*q; (C) n=*q; (D) p=n;8. 有如下说明int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为9的表达式是( )。(A) *p+9 (B) *(p+8) (C) *p+=9 (D) p+89. 若有以下定义:char s20=programming,*ps=s;则不能代表字符o的表达式是( )。(A)ps+2 (B)s2 (C)ps2 (D)*(ps+2)10. 若有以下定义和语句:char *s1=12345,*s2=1234;printf(%dn,strlen(strcpy(s1,

4、s2);则输出结果是( )。(A)4 (B)5 (C)9 (D)1011. 若有以下定义和语句:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则不能表示a数组元素的表达式是( )。(A)*p (B)a10 (C)*a (D)ap-a12. 下面程序的输出是( )。main() char *s=121;int k=0, a=0, b=0;dok+;if(k%2= =0) a=a+sk-0;continue;b=b+sk-0; a=a+sk-0;while (sk+1);printf(k=%d a=%d b=%dn,k,a,b);(A)k=3 a=2 b=3 (B)k=3 a

5、=3 b=2(C)k=2 a=3 b=2 (D)k=2 a=2 b=313. 若有以下的定义:int a=1,2,3,4,5,6,7,8,9,10, *p=a;则值为3的表达式是( )。(A)p+=2, *(p+) (B)p+=2,*+p (C)p+=3, *p+ (D)p+=2,+*p14. 设有如下定义:int arr=6,7,8,9,10;int * ptr;则下列程序段的输出结果为( )。ptr=arr;* (ptr+2)+=2;printf (%d,%dn,*ptr,*(ptr+2);(A)8,10 (B)6,8 (C)7,9 (D)6,1015. 执行以下程序段后,m的值为( )。

6、int a23= 1,2,3,4,5,6 ;int m,*p;p=&a00;m=(*p)*(*(p+2)*(*(p+4);(A) 15 (B) 14 (C) 13 (D) 1216. 有以下程序段char arr=ABCDE;char *ptr;for(ptr=arr;ptrarr+5;ptr+)printf(%sn,ptr);输出结果是( )。(A) ABCD (B) A (C)E (D) ABCDE B D BCDE C C CDE D B DE E A E17. 有以下程序main()int a=1,2,3,4,5,6,7,8,9,10,11,12,*p=a+5,*q=NULL;*q=*

7、(p+5);printf(%d %dn,*p,*q);程序运行后的输出结果是( )。(A)运行后报错 (B)6 6 C)6 11 (D)5 1018. 以下程序运行后,输出结果是( )。main() char *s=abcde;s+=2;printf(%ldn,s);(A) cde (B) 字符c的ASCII码值 (C)字符c的地址 (D) 出错19. 以下程序运行后,输出结果是( )。#includess(char *s) char *p=s;while(*p) p+;return(p-s);main() char *a=abded;int i;i=ss(a);printf(%dn,i);(

8、A) 8 (B) 7 (C) 6 (D) 520. 有以下程序 main() int a=7,b=8,*p,*q,*r;p=&a;q=&b;r=p; p=q;q=r;printf(%d,%d,%d,%dn,*p,*q,a,b);程序运行后的输出结果是 ( )。(A)8,7,8,7 (B)7,8,7,8 (C)8,7,7,8 (D)7,8,8,7 21. 以下程序运行后,如果从键盘上输入:book book 则输出的结果是( B )。#includemain() char a180,a280,*s1=a1, *s2=a2;gets(s1); gets(s2);if(! strcmp(s1,s2)

9、 printf(*);else printf(#);printf(%d/n,strlen(strcat(s1,s2); (A) *8 (B) #9 (C) #6 (D) *922. 若已定义:int a9,*p=a;并在以后的语句中未改变p的值,不能表示a1 地址的表达式是( )。(A) p+1 (B) a+1 (C) a+ (D) +p23. 下面程序把数组元素中的最大值放入a0中,则在if 语句中的条件表达式应该是( )。(A) pa (B) *pa0 (C) *p*a0 (D) *p0 *a0main( ) int a10=6,7,2,9,1,10,5,8,4,3,*p=a,i;for(

10、i=0;i10;i+,p+)if(_) *a=*p;printf(%d,*a);24. 以下程序的输出结果是( )。(A) 123456780 (B) 123 456 780 (C) 12345678 (D) 147main( ) char ch34=123,456,78, *p3; int i;for(i=0;i3;i+) pi=chi;for(i=0;i3;i+) printf(%s,pi);25. 以下程序的输出结果是( )。(A) AfghdEFG (B) Abfhd (C) Afghd (D) Afgd#include main( ) char *p1,*p2,str50=ABCDE

11、FG;p1=abcd; p2=efgh;strcpy(str+1,p2+1); strcpy(str+3,p1+3);printf(%s,str);26. 若有以下定义和语句:double r=99, *p=&r;*p=r;则以下正确的叙述是( )。(A) 以下两处的*p含义相同,都说明给指针变量p赋值(B) 在double r=99, *p=&r;中,把r的地址赋值给了p所指的存储单元(C) 语句*p=r;把变量r的值赋给指针变量p(D) 语句*p=r;取变量r的值放回p中27. 下列程序执行后的输出结果是(小数点后只写一位) ( )。(A) 6 6 6.0 6.0 (B) 6 6 6.7

12、6.7 (C) 6 6 6.0 6.7 (D) 6 6 6.7 6.0 main() double d; float f; long l; int i; i=f=l=d=20/3; printf(%d %ld %f %f n, i,l,f,d); 28. 若已定义: int a =0,1,2,3,4,5,6,7,8,9, *p=a,i; 其中 0i9, 则对a数组元素不正确的引用是( )。(A) ap-a (B) *(&ai) (C) pi (D) a10 29. 下列程序执行后的输出结果是( ) 。(A) 3 (B) 6 (C) 9 (D) 随机数 main() int a33, *p,i;

13、 p=&a00; for(i=0; i9; i+) pi=i+1; printf(%d n,a12); 30. 下列程序的输出结果是 ( )。(A) 4 (B) 6 (C) 8 (D) 10 int b=2; int func(int *a) b += *a; return(b); main() int a=2, res=2; res += func(&a); printf(%d n,res); 31. 有如下程序段int *p,a=10,b=1;p=&a; a=*p+b;执行该程序段后,a的值为( )。(A) 12 (B) 11 (C) 10 (D) 编译出错32. 对于基类型相同的两个指针

14、变量之间,不能进行的运算是( )。(A) (B) = (C) + (D) -33. 有如下说明int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为9的表达式是( )。(A) *p+9 (B) *(p+8) (C) *p+=9 (D) p+834. 有如下程序main() int n5=0,0,0,i,k=2;for(i=0;i ;printf(“%dn”,nk);)该程序的输出结果是( )。(A) 不确定的值 (B) 2 (C) 1 (D) 035. 有以下程序point(char *p)p+=3; main() char b4=a,b,c,d,*p=b; point(

15、p);printf(%cn,*p); 程序运行后的输出结果是( )。(A)a (B)b (C)c (D)d36. 若有说明:int i, j=2,*p=&i;,则能完成i=j;赋值功能的语句是 ( )。(A) i=*p; (B) p*=*&j; (C) i=&j; (D) i=*p; 37. 以下定义语句中,错误的是( )。(A) int a=1,2; (B) char *a3; (C) char s10=test; (D) int n=5,an; 38. 以下选项中,不能正确赋值的是( )。(A) char s110;s1=Ctest; (B) char s2=C, t, e, s, t;

16、(C) char s320=Ctest; (D) char *s4=Ctestn ;39. 以下程序调用findmax函数返回数组中的最大值findmax(int *a,int n) int *p,*s;for(p=a,s=a; p-as (B) *p*s (C) apas (D) p-ap-s40. 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是( )。(A) scanf(%d%d%d,&a,&b,d); (B) scanf(%d%d%d,&a,&b,&d);(C) scanf(%d%d%d,a,b,d); (D) scanf(%d%

17、d%d,a,b,*d);41. 有以下程序main() char s=159,*p; p=s; printf(%c,*p+);printf(%c,*p+); 程序运行后的输出结果是( )。(A)15 (B)16 (C)12 (D)5942. 若定义:int a=511,*b=&a;, 则printf(%dn,*b);的输出结果为( )。(A) 无确定值 (B) a的地址 (C) 512 (D) 51143. 以下不能正确进行字符串赋初值的语句是( )。(A) char str5=good!; (B) char str=good!;(C) char *str=good!; (D) char st

18、r5=g,o,o,d;44. 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是( )。(A) p=q; (B) *p=*q; (C) n=*q; (D) p=n;45. 有以下程序#include main() char *p=“abcdeOfghjik0”;printf(“%dn”,strlen(p);程序运行后的输出结果是 ( )。(A) 12 (B) 15 (C) 6 (D) 546. 若有以下定义和语句#include int a=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;则以下选项中错误的语句是( )。(A) *q=0; (

19、B) w=p; (C) *p=a; (D) *p=*w;47. 有以下程序main() char *s=one,two,three,*p; p=s1; printf(%c,%sn,*(p+1),s0);执行后输出结果是( )。(A) n,two (B) t,one (C)w,one (D) o,two48. 有以下程序main() int x8=8,7,6,5,0,0,*s; s=x+3; printf(%dn,s2);执行后输出结果是( )。(A) 随机值 (B) 0 (C) 5 (D) 649. 有以下程序void fun(int *a,int i,int j) int t;if(ij)

20、t=a;a=aj;aj=t; fun(a,+i,-j); main() int a=1,2,3,4,5,6,i; fun(a,0,5); for(i=0;i6;i+) printf(%d,a);执行后的输出结果是( )。(A) 6 5 4 3 2 1 (B) 4 3 2 1 5 6 (C) 4 5 6 1 2 3 (D) 1 2 3 4 5 650. 下列选项中正确的语句组是( )。(A)char s8; s=Beijing; (B)char *s; s=Beijing;(C)char s8; s=Beijing; (D)char *s; s=Beijing;51. 已定义以下函数fun(in

21、t *p) return *p; 该函数的返回值是( )。(A)不确定的值 (B)形参p中存放的值(C)形参p所指存储单元中的值 (D)形参p的地址值52. 有以下程序#include main() char str20=Hello,Beijing,*p=str;printf(%dn,strlen(p+20);程序运行后的输出结果是( )。(A)0 (B)5 (C)7 (D)2053. 已定义以下函数fun(char *p2, char *p1) while(*p2=*p1)!=0) p1+;p2+; 函数的功能是 ( )。(A)将p1所指字符串复制到p2所指内存空间(B)将p1所指字符串的地

22、址赋给指针p2(C)对p1和p2两个指针所指字符串进行比较(D)检查p1和p2两个指针所指字符串中是否有054. 设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是( )。(A) scanf(“%d”,pa) (B) scanf(“%d”,a) (C) scanf(“%d”,&pa) (D) scanf(“%d”,*pa) 55. 设有定义:int n=0,*p=&n,*q=&p;则以下选项中,正确的赋值语句是 ( )。(A) p=1; (B) *q=2; (C) q=p; (D) *p=5;56. 有以下程序段int a10=1,2,3,4,5,6,7,8,9

23、,10,*p=&a3,b;b=p5;b中的值是 ( )。(A) 5 (B) 6 (C) 8 (D) 957. 有以下程序void sum(int *a) a0=a1;main( ) int aa10=1,2,3,4,5,6,7,8,9,10,i; for(i=2;i=0;i-) &nb sp; sum(&aa); printf(“%dn”,aa0);执行后的输出结果是( )。(A) 4 (B) 3 (C) 2 (D) 158. 有以下定义#include char a10,*b=a;不能给数组a输入字符串的语句是( )。(A) gets(a) (B) gets(a0) (C) gets(&a0

24、); (D) gets(b) 59. 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( ) 。(A) char s10=”abcdefg”; (B) char t=”abcdefg”,*s=t;(C) char s10;s=”abcdefg”; (D) char s10;strcpy(s,”abcdefg”);60. 有以下程序int a=2;int f(int *a) return (*a) +;main( ) int s=0; int a=5; s+=f(&a) s+=f(&a) printf(“%dn”,s);执行后输出结果是 ( )。(A) 10 (B) 9 (C) 7 (

25、D) 861. 若有以下说明和语句,int c45,(*p)5;p=c;能正确引用c数组元素的是( )。(A)p+1 (B)*(p+3) (C)*(p+1)+3 (D)*(p0+2)62. 有以下程序 main() int a=7,b=8,*p,*q,*r;p=&a;q=&b;r=p; p=q;q=r;printf(%d,%d,%d,%dn,*p,q,a,b);程序运行后的输出结果是 ( )。(A)8,7,8,7 (B)7,8,7,8 (C)8,7,7,8 (D)7,8,8,7 63. 有以下程序#include main()int a=1,2,3,4,5,6,7,8,9,10,11,12,*

26、p=a+5,*q=NULL;*q=*(p+5);printf(%d %dn,*p,*1);程序运行后的输出结果是( )。(A)运行后报错 (B)6 6 (C)6 11 (D)5 10 64. 有以下定义和语句int a32=1,2,3,4,5,6,*p3;p0=a1;则*p0+1)所代表的数组元素是( )。(A)a01 (B)a10 (C)a11 (D)a1265. 有以下程序main()char str10=China,Beijing,*p=str;printf(%sn,p+10);程序运行后的输出结果是( )。(A) China (B)Bejing (C)ng (D)ing 66. 有以下程序main() int a33,*p,i; p=&a00; for(i=0;i9;i+)p=i; for(i=0;i3;i+)printf(%d,a1); 程序运行后的输出结果是( )。(A)012 (B)123 (C)234 (D)34567. 以下语句或语句组中,能正确进行字符串赋值的是( )。(A)char *sp;*sp=right!; (B)char s10;s=right!; (C)char s10;*s=right!; (D)char *sp=right!;68. 有以下程序main() char s=159,*p; p=s; printf(%c,*p+

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

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