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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

第六章试题归类.docx

1、第六章试题归类(基础题)一、选择题(227)若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是 A)a,point,*&a B)&*a,&a,*point C)*&point,*point,&a D)&a,&*point,pointA(246)下面说明不正确的是A)char a10=china;B)char a10,*p=a;p=chinaC)char *a;a=china;D)char a10,*p;p=a=chinaC(251)有以下函数char fun(char *p)return p;该函数的返回值是A)无确切的值B)形参p中存放的地址值 C)一个临

2、时存储单元的地址D)形参p自身的地址值B(256)若说明int *p,n;则通过语句scanf能够正确读入数据的程序段是A)p=&n;scanf(%d,&p);B)p=&n;scanf(%d,*p);C)scanf(%d,n);D)p=&n;scanf(%d,p);D(268)设有定义:int n=0,*p=&n,*q=&p,则下列选项中正确的赋值语句是A)p=1;B)*q=2;C)q=p;D)*p=5;D(270)下面程序的输出结果是main() int a10=1,2,3,4,5,6,7,8,9,10,*p=a;printf(%dn,*(p+2);A)3B)4C)1D)2A(271)有如下

3、程序int a10=1,2,3,4,5,6,7,8,9,10;int *p=&a3,b;b=p5;则b的值是A)5B)6C)9D)8C(426)现有如下定义:int a,b,*p,*q;,则下列赋值语句错误的是A)p=&a;B)q=&b;C)p=q;D)p=a;D(427)现有如下程序段#include stdio.hint *fun(int *a,int *b)int c;c=*a%*b;return &c;main()int a=5,b=19,*c;c=fun(&a,&b);printf(%dn,+*c);则程序段执行后的结果为A)8B)7C)6D)5C(428)现有int a,*b;,b

4、=&a;,则下列运算错误的是A)*&a B)&*aC)*&bD)&*bB(430)现有如下定义语句int*p,s20,i;p=s;表示数组元素si的表达式不正确的是A)*(s+i)B)*(p+i)C)*(s=s+i)D)*(p=p+i)C(436)有下面程序段 #include stdio.h#include string.hmain()char a320=china,isa,bigcountry!;char k100=0,*p=k;int i;for(i=0;i3;i+) p=strcat(p,ai);i=strlen(p);printf(%dn,i); 则程序段的输出结果是A)18B)19

5、C)20D)21B (465)下列不合法的指针变量的定义是A)int *_k;B)char *_245;C)int *p;D)double *5_isD (466)下列关于指针变量赋空值的说法错误的是A)当赋空值的时候,变量指向地址为0的存储单元B)赋值语句可以表达为变量名=0;C)赋值语句可以表达为变量名=0;D)一个指针变量可以被赋空值A(468)阅读下面程序,则输出结果是#include stdio.hvoid fun(int *a,int *b)int c=20,d=25;*a=c/3;*b=d/5;main() int a=3,b=5;fun(&a,&b);printf(%d,%dn

6、,a,b);A)6,5B)5,6C)20,25D)3,5A(474)现有如下程序段#include stdio.hvoid fun(int *a,int *b,int *c)*c=*a+*b;main()int a2=12,23,c;fun(a,a+1,&c);printf(%dn,c);则程序的输出结果为A)23B)12C)0D)35D(477)阅读下面程序,则执行后的结果为#include stdio.hmain() char *str=abcdefghijklmnopq; while(*str+!=e); printf(%cn,*str);A)fB)aC)eD)qA(503)现有定义in

7、t a=10,*p=&a;则不能使a的内容增1的语句是A)*p+;B)*p=*p+1;C)+*p;D)*p+=1;A(510阅读下面程序,则程序的输出结果为#include stdio.hmain() int c=1,2,3,4,5,6;int *p;p=c;printf(%d,*p);printf(%dn,*+p);A)1,2B)2,1C)1,1D)2,2A145下面程序的输出结果是_。#include char *p = abcdefghijklmnopq ;main( ) int i=0;while( *p+!=e );printf(%cn, *p); A) c B) d C) e D)

8、 fD146下面程序的输出结果是_。#include f(int x, int y) return (y-x);main( ) int a=5, b=6, c;int f(), (*g)()=f;printf(%dn, (*g)(a,b) );A) 1 B) 2 C) 3 D) 前面三个参考答案均是错误的A147下面程序的输出结果是_。#include main( ) int a=1,*p,*pp;pp=&p; p=&a;a+;printf (%d,%d,%dn, a,*p, *pp);A) 2,1,1 B) 2,1,2 C) 2,2,2 D) 程序有错误C148下面程序的输出结果是_。mai

9、n() char *alpha7=ABCD,EFGH,IJKL,MNOP,QRST,UVWX,YZ;char *p;int i;p=alpha;for(i=0;i4;i+)printf(%c,*(pi);printf(n);A) AEIM B) BFJN C) ABCD D) DHLPA149下面程序的输出结果是_。#include char *pp23= abc, defgh, ijkl, mnopqr, stuvw, xyz;main ( ) printf(%cn,*(pp+1); /* */printf(%cn,*pp0); /* */printf(%cn,(*(*(pp+1)+1)4)

10、; /* */printf(%cn,*(pp12+2); /* */printf(%sn,*(pp+1); /* */ A) a B) d C) i D) m A) a B) d C) i D) m A) h B) l C) q D) w A) k B) o C) u D) z A) ijkl B) mnopqr C) stuvw D) xyzD A D D B(530下面函数的功能是char *fun(char *str1,char*str2)while(*str1)&(*str2+=*str1+);return str2;A)求字符串的长度B)比较两个字符串的大小C)将字符串str1复制到

11、字符串str2中D)将字符串str1接续到字符串str2中C (277)执行以下程序后,a,b的值分别为main() int a,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,10C(247)以下程序的输出结果是#include void prt (int *x, int *y, int *z)printf(%d,%d,%dn,+*x,+*y,*(z+);main()int a=10,b=40,c=20;prt (&a,&b,&c);prt

12、 (&a,&b,&c);A)11,42, 3112,22,41B)11,41,2012,42,20C)11,21,4011,21,21D)11,41,2112,42,22D(254)设有如下定义:struck sk int a;float b; data;int *p;若要使P指向data中的a域,正确的赋值语句是A)p=&a;B)p=data.a;C)p=&data.a;D)*p=data.a;C(262)以下程序的输出是struct st int x; int *y; *p;int dt4= 10,20,30,40 ;struct st aa4= 50,&dt0,60,&dt0,60,&d

13、t0,60,&dt0;main() p=aa;printf(%dn,+(p-x);A)10B)11C)51D)60C(275)下列程序的输出结果是int b=2;int func(int *a) b += *a; return(b);main() int a=2, res=2;res += func(&a);printf(%dn,res);A)4B)6C)8D)10B(276)下面能正确进行字符串赋值操作的是A)char s5=ABCDE;B)char s5= A, B, C, D, E;C)char *s;s=ABCDE;D)char *s;char a; scanf(%s,&s)C(292

14、)以下程序有错,错误原因是main() int *p,i;char *q,ch;p=&i;q=&ch;*p=40;*p=*q;.A)p和q的类型不一致,不能执行*p=*q;语句B)*p中存放的是地址值,因此不能执行*p=40;语句C)q没有指向具体的存储单元,所以*q没有实际意义D)q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果D(304)若有说明:int *p,m=5,n;以下正确的程序段是 A)p=&n;scanf(%d,&p); B)p=&n;scanf(%d,*p) C)scanf(%d,&n);*p=n; D)p=&n;

15、*p=m;D(331)下面判断正确的是 A)char *a=china;等价于 char *a;*a=china; B)char str5=china;等价于char str=china; C)char *s=china;等价于 char *s;s=china; D)char c4=abc,d4=abc;等价于char c4=d4=abc;C(356)若有下面的程序片段:int12=0,*p3,*pp,i;for(i=0;inext=&b;D)(*p).next=q;B(281)若有以下程序#include int a=2,4,6,8;main() int i;int *p=a;for(i=0

16、;i4;i+)ai=*p;printf(%dn,a2);上面程序输出结果是A)6B)8C)4D)2D(315)下面程序段的运行结果是 char a=lanuage,*p; p=a; while(*p!=u)printf(%c,*p-32);p+; A)LANGUAGE B)language C)LAN D)langUAGEC(316)下面程序段的运行结果是 char str=ABC,*p=str; printf(%dn,*(p+3); A)67 B)0 C)字符C的地址 D)字符CB(328)下列程序的输出结果是 main() int a5=2,4,6,8,10,*p,*k; p=a; k=&

17、p; printf(%d,*(p+); printf(%dn,*k); A)4 B)22 C)24 D)46C(330)下面程序段的运行结果是 char *p=abcdefgh; p+=3; printf(%dn,strlen(strcpy(p,ABCD); A)8 B)12 C)4 D)7C142下面程序的输出结果是_。#include main ( ) int a=1, 2, 3, 4, 5 ;int x, y, *p;p=&a0;x=*(p+2);y=*(p+4);printf(%d,%d,%dn, *p, x, y);A) 1,3,5 B) 1,2,3 C) 1,2,4 D) 1,4,

18、5A143下面程序的输出结果是_。void ive(x,n)int x,n; int t,*p;p=x+n-1;while(xp) t=*x;*x+=*p;*p-=t;return;main() int i,a=1,2,3,4,5,6,7,8,9,0;ive(a,10);for(i=0;i10;i+)printf(%d ,ai);printf(n); A) 1 2 3 4 5 6 7 8 9 0 B) 0 9 8 7 6 5 4 3 2 1C) 1 3 5 7 9 2 4 6 8 0 D) 0 8 6 4 2 9 7 5 3 1B(337)以下定义中,标识符prt int(*prt)3 A)定

19、义不含法 B)是一个指针数组名,每个元素都是一个指向整数变量的指针 C)是一个指针,它指向一个具有三个元素的一维数组 D)是一个指向整型变量的指针D338 函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。能正确执行此功能的函数是( )。 A) funa(int *x, int *y) B) funb(int x, int y) int t; int t;*t=x;x=y;y=*t; t=x;x=y;y=t; C) func(int *x, int *y) D) func(int *x, int *y)*x=*y;*y=*x; *x=*x+*y;*y=*x-*y;*x=*x-*y

20、; D(392)已知int a;则下面的说明指针变量p的语句正确的是A)int p=&aB)int *p=aC)int *p=&aD)int *p=*aC(400)阅读下列程序,则执行后的结果为#include stdio.hmain() int c4=1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56;printf(%x,%xn,c22,*(*(c+1)+1);A)3e,6B)62,5C)56,5D)3E,6A(535)设有如下定义char *s2= abcd,ABCD;则下列说法错误的是A)s数组元素的值分别是abcd和ABCD两个字符串的首地址B)s是指针数

21、组名,它含有两个元素分别指向字符型一维数组C)s数组的两个元素分别存放的是含有4个字符的一维字符数组中的元素D)s数组的两个元素中分别存放了字符a和A的地址C(544)下列程序的运行结果是void fun(int *a,int *b) int *k;k=a;a=b;b=k;main() int a=2004, b=9,*x=&a,*y=&b;fun(x,y);printf(%d%d,a,b);A)2004 9B)9 2004C)0 0D)编译时出错A619已知:int a, *y=&a;则下列函数调用中错误的是_。A) scanf(%d, &a); B) scanf(%d, y);C) pri

22、ntf(%d, a); D) printf(%d, y);D621设有说明int (*p)4;其中的标识符p是_。A) 4个指向整型变量的指针变量B) 指向4个整型变量的函数指针C) 一个指向具有4个整型元素的一维数组的指针D) 具有4个指向整型变量的指针元素的一维指针数组C624已知:char s6, *ps=s;则正确的赋值语句是_。A) s=12345; B) *s=12345; C) ps=12345; D) *ps=12345;C622已知:char s10, *p=s,则在下列语句中,错误的语句是_。A) p=s+5; B) s=p+s; C) s2=p4; D) *p=s0;B6

23、25已知:char a310=BeiJing,ShangHai,TianJin, *pa=a;不能正确显示字符串 ShangHai 的语句是_。A) printf(%s,a+1); B) printf(%s,*(a+1);C) printf(%s,*a+1); D) printf(%s,&a10);C626已知:int a43=1,2,3,4,5,6,7,8,9,10,11,12;int (*ptr)3=a,*p=a0;则以下能够正确表示数组元素a12的表达式是_。A) *(*(a+1)+2) B) *(*(p+5) C) (*ptr+1)+2 D) *(ptr+1)2)A627已知:int a

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2