C期末考试复习题2_第1页
C期末考试复习题2_第2页
C期末考试复习题2_第3页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c期末考试复习题2(1)inta4=5,3,8,9;其中a的值为(d)。ab.3d.9()以下个数组定义中,(d)是错误的。aita7;b.int n=5;longn;c.char5;d.itn,7;(3)对字符数组进行初始化,( b)形式是错误。a.carc1=1,2,3;charc=123;c.harc311,2,3,0;d.hrc4=123;()在数组中,数组名表示(a)。.数组第1个元素的首地址.数组第个元素的首地址c数组所有元素的首地址d.数组最后1个元素的首地址()若有以下数组说明,则数值最小的和最大的元素下标分别是(b)。int1=1,4,5,6,7,8,9,10,1,1;a.1

2、,12b0,.1,1.0,2(7)若有以下说明,则数值为4的表达式是(d)。t1=,2,3,4,5,8,9,10,11,12;chac=a,d=,=3a.ag-cb.a4c.ad-cd.ad-c()设有定义:chrs12=sing;则rintf(%dn,stre(s);的输出是()。.6b.711d.12(9)设有定义:cas12srng;则rintf(n,szo(s);的输出是()。a.6b7c.1d1(10)合法的数组定义是(a)。.cr=tring;.inta50,1,3,,5;c.char=sting;d.ca=0,1,2,3,4,5(1)下面的程序中哪一行有错误()。#include

3、ain() flarray5=.0;/第行inti; o(i=0;i5;i+)scanf(f,&arrai);for(i=1;i5;i+) arra0=array0arryi;/第行printf(%fn,array0);/第c行a.第行.第b行c.第c行d.没有(12)下面哪一项是不正确的字符串赋值或赋初值的方式(c)。a.char*st;str=string;bchar7=,r,i,,g;ccastr110;str1=string;d.chas1=sri,st2=123457;(3)若有以下说明和语句,则输出结果是哪一项(c)。(strlen(s)为求字符串s的长度的函数)char12=ab

4、ook!;prinf(%d,stle(s);a.12b.8c.7.11(14)若有以下说明和语句,则输出结果是(c)。arstrc:ac.dat;pinf(%s,sr);a.字符串中有非法字符b.:abc.datc:abdatd.c:abcdat(15)若有以下语句,则下面是正确的描述。chrx=12356;hay=1,2,,4,5,6;(b )a.x数组与y数组长度相同。b.x数组长度大于y数组长度。c.x数组长度小于数组长度。dx数组和数组的赋值是非法的。(1)在c 语言中,引用数组元素时,其数组下标的数据类型允许是。ca)整型常量b)整型表达式c)整型常量或整型表达式)任何类型的表达式(

5、17)以下对一维整型数组 的正确说明是。 a)nta(0);b)it n=10,an;c)int ;)defne sze 10scaf(“%”,&n);int aze;ntn;(18)若有说明:na10;则对a数组元素的正确引用是。 c )a10 b)a3.c)(5)d)a10-10(19)在c语言中,一维数组的定义方式为:类型说明符数组名; (c) a)整型常量表达式 b)整型表达式c)整型常量或整型表达式d)常量(0)以下能对一维数组a 进行正确初始化的语句是。 ( )a)inta10=(,0,0,0,0); )it a0=;c)nt ; )it a0”101”;(1)下面程序如果只有一个

6、错误,那么是(每行程序前面的数字表示行号) 。(a)1ma() float a33*0;4in i; for(i=0;3;+) scaf(“%d”,ai);or(i=;+) 0a0ai;7print(“%dn”,a0);8 a)第3 行有错误b)第7 行有错误c)第5 行有错误d)没有错误(22)下面程序中有错误9*/的行是(每行程序前面的数字表示行号)。(d)1min() 3loa a3=1;4 int ;5 scaf(“%d”,a); for(i=;3;+) a=a0+;7prif(“=dn”,0); a) b)6 c)7d)5(23)下面程序(每行程序前面的数字表示行号)。 (d)1 i

7、n()2 3fot ; in ;5for(i=0;i3;i+) scanf(“%f”,a);6 for(i=1;i;+) a0=a0+a; print(“%n”,a0);a)没有错误b)第3 行有错误c)第5行有错误)第6 行有错误(24)对以下说明语句的正确理解是。 (b)t a106,7,8,9,0;a)将5个初值依次赋给1至a5b)将5个初值依次赋给a0至4c)将5 个初值依次赋给a6至a10)因为数组长度与初值的个数不相同,所以此语句不正确1.变量的指针,其含义是指该变量的_b_ a)值 b)地址 c)名 )一个标志2.若有语句in*oint,=4;和poit=&a;下面均代表地址的一

8、组选项是d_. )a,pit,*& b),&,*pt )*&pint,*pit,&a ),&point,poit3若有说明;i *p,5,n;以下正确的程序段的是_d_)p&n; )p&n;cnf(%d,p); scaf(%d,*p);c)canf(%,); d)p=&; *p=n; p=m;. 以下程序中调用san函数给变量a输入数值的方法是错误的,其错误原因是_b_. ain()int *p,*,;p=a;printf(“inpt a:”);scaf(“%”,);a)*p表示的是指针变量p的地址b)*p表示的是变量的值,而不是变量a的地址c)*p表示的是指针变量p的值d)*只能用来说明p是

9、一个指针变量5. 已有变量定义和函数调用语句:nt a=; prinvalue(); 下面函数的正确输出结果是_d_. voipint_alue(it *x) prntf(“%”,+*x);a)23b)24 ) )266.若有说明:long *p,;则不能通过scnf语句正确给输入项读入数据的程序段是 a) *p&a;caf(%l,p); b)p(log *)mallo(8);cnf(%d,p);c)scn(%ld,pa); d)af(ld,&);.有以下程序b#ncud main() int m1,=2,p=&,*q=&n,r;r=p;p=q;=r;pintf(%d,%d,%d,%dn,m,

10、n,*p,*q);程序运行后的输出结果是a)1,2,2 b)1,2,2,c)2,1,2,1 d),,1,28有以下程序 cmain() int =1, b=3, ;int *p1=&a, *p=&b, p=&c; =*p1*(*2);printf(%,c);执行后的输出结果是a)1b)2c)3d)49.有以下程序 man() inta,=,m=4,*1=k,p2=&m;=p1=m;n(dn,);程序运行后的输出结果是(c))4b)1c)0 d)运行时出错,无定值1.在1位编译系统上,若有定义n a,20,30, p&;,当执行+;后,下列说法错误的是()a)p向高地址移了一个字节b)p向高地址

11、移了一个存储单元c)p向高地址移了两个字节d)p与+等价11.有以下程序段it a=,2,3,4,6,8,,1,p=a3,b;b=p5;b中的值是(c) a) b) c)8 d)9.若有以下定义,则对数组元素的正确引用是_ nt a5,*p; a)&5 )a+ c)*(p+5) d)*(a+2)13.若有以下定义,则p+5表示_a_.nt 10,*p=a; a)元素a5的地址 )元素a5的值c)元素6的地址 d)元素6的值14.设已有定义: int 10=15,12,,31,4,,1,28,1,19,*p; 下列语句中正确的是(b) a)for(p=a;(p10);a+); b) for(p=

12、;p(a+10);p+); ) for(p=a,a=a10;pa;p);d) fr(p=a;int min() int x = 0, 0, 30;int *x ;prtf(%d, +*px); print(%,, px);px = x;pritf(%d,, (x)+); i(d,,*px);p = x;print(, px); prinf(%d, *px);p=x;pritf(%d,*+x); rintf(%dn,*px); reurn 0;程序运行后的输出结果是(a )a)1,11,11,12,1,20,2,2 )2,10,11,0,1,0,11,10c)1,11,1,12,12,13,20

13、,2 )2,0,1,20,1,20,2016设有如下定义:inta6,7,9,10;in ptr;r=a; *(pt+2)+=2;print (%d,%dn,*ptr,*(tr+));则程序段的输出结果为da),10 )6,8 c)7,9 d),1017.若有定义:int a=2,,6,,10,12,*p=a;则*(p+1)的值是_ (a+)的值是_a_.)42 b) 0 )2 8 d)5 172有以下定义 c a10,=a;不能给数组a输入字符串的语句是()a)get(a) b)ge(a) c)gets(&a0); d)get(b);2.下面程序段的运行结果是_c_. car s=abcde

14、;s+;pint(%d,s); a)de b)字符c c)字符的地址 d)无确定的输出结果23以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是(c)a) ch s10=bcdfg; b) cha t=abdef,*s=;c) char s1;s=abcdefg;) char10;strcp(s,abcdef);4.设已有定义: h *t=hoar o;下列程序段中正确的是() a) har a1, *p; strcpy(p=a+1,&t4); b)char a1; strcpy(+a, st); c) char a11; strcy(a, st);d) chr ,*p; stcpy(

15、=&a1,s+2);2有以下程序 mai()cha a=pramming,b=nguae;ca 1,p2;int i;p1a;2=b;fr(i=0;i7;+)i((p)=*(p2i))pintf(c,*(1i);输出结果是(d)a)gm b)g c)or d)ga26设p1和p2是指向同一个字符串的指针变量,为字符变量,则以下不能正确执行的赋值语句是_b_ a)c=*p*p2; b)p2c c)p1=p2 d)c=*p1*(*p2);27以下正确的程序段是_c_. a)har str0; b)har *;anf(%s,&str); sanf(%s,p); c)charsr20; )char t

16、r0,*p=sr;scaf(%s,&str2); scanf(%s,p);2.若有说明语句 charit is mi; char p=it is mie;则以下不正确的叙述是_d_. a)+1表示的是字符t的地址 )指向另外的字符串时,字符串的长度不受限制 )p变量中存放的地址值可以改变 )a中只能存放1个字符29下面程序的运行结果是_b_. #cud stdi #include srngh mi() hr*1adeg; ca*s2=abdeg; s1+=2;s2;rf(%dn,stmp(s1,s2); a)正数 b)负数 c)零 )不确定的值30.有以下程序 id (n *x,int *y)

17、 int t; *x;x=*y;*y=; in() it a8=1,2,4,5,6,7,i,p,*q;pa;q=a7; wil(*!=q)f(p,q);p+;q-; or(i=0;i;i+) print(%d,i);程序运行后的输出结果是c_。a)8,2,3,4,5,6,7,, b)5,7,8,1,3,4, )1,2,4,6,,, d),7,6,5,3,2,1,3.已定义以下函数cfu (int*p) etup; 该函数的返回值是a)不确定的值 b)形参中存放的值c)形参p所指存储单元中的值 d)形参p的地址值.若有以下函数首部 int fn(oble 10, n n)则下面针对此函数的函数声

18、明语句中正确的是a)int fun(dobl x, i *n);)nt f(double , in);c)in un(ouble *x, nt n);d)in fn(dule *,i *);34.有以下程序avoi sm(int) 0=a1;mai() intaa10=1,2,3,4,5,6,,8,0,i;f(i2;i=;i-) sm(aai);prnt(n,aa); 执行后的输出结果是()4 b)3 c)2 d)135.下段代码的运行结果是:di mai()char a;ca*&a;trcpy(str,hllo);print(sr);reun ;a)hel )ull ) d)发生异常6.下段

19、程序的运行结果是:vod main()cha *p,*q;ca sr=elo,worldn;q =p st;p+;rn();print(p);voidpin(cha s)prif(“s”,s);)h e)hello,world ll,wrd)hello,world hello,world d)elo,world l,word37.有以下程序vod fun(charc,int d)*c=*c+1;d+1;printf(%c,%c,,c,d);oid main()hr a=a,b=a;fun(&b,a);int(c,%cn,a,b);程序运行后的输出结果是_d_。) b,a,b,a b) ,b,a

20、,b c)a,b,a,b d)b,b,a,38、下面选项属于函数指针的是:d、(i)p(int,int) b、nt *p(int, n) c、两者都是 d、两者都不是39、若有函数mx(a,),并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方法是_c_.a)(*p)ax(a,b); b)*ma(a,b);c)(*p)(,b); d) p(a,);1、下列选项中声明了一个指针数组的是:e)in 2; b)int (*p)2; c)typdefint* iptr;intptr p2;d)a和e)a和cf)和c42、下面代码能通过编译的是:a)itmain()in a31,2,;i

21、nt b3&,&2,&a3;t *p = b;rturn 0;b)inmain()it a3=1,,;in b3=a,a2,a3;nt*b;eu ;c)intmin()ia=1,,3;it *b3=&a1,a2,&a3;i*p =b; eurn 0;d)in min()it=,2,3;int3=&a1,a2,&a3;int *p = b;return ;2.当定义一个结构体变量时,系统为它分配的内存空间是【】 )结构中一个成员所需的内存容量)结构中第一个成员所需的内存容量c)结构体中占内存容量最大者所需的容量d)结构中各成员所需内存容量之和4定义以下结构体数组cstrutc nt ;it ;

22、s21,3,2,;语句pnt(%d,sx*s1.x)的输出结果为【 】a)1 b) 6c) 2) 5运行下列程序段,输出结果是 【a 】struct counry innu; chame0; x5=,china,2,,ace,4, englnd,5, pns;struc ounry *p; p=x+2;prin(%d,%,p-um,(*p).name);) ,a b)4, c) 2,u d) 5,s6.下面程序的运行结果是【c 】。sruckeyordchr ky20;it;kvd,ch,it,3,float,obl,5;an()prif(c,%d,kw3ky, 3.d);a) ,3) ,3c

23、) f,d) l,4.如果有下面的定义和赋值,则使用【 】不可以输出n中daa的值。astrusnodesied id;int ata;n,*p;p=&n;a)p.atab) n.datc) p-dta) (*p)dta9.根据下面的定义,能输出mary的语句是b【】。truct prshar name;in age;;stcperonclss5=jon,17,pa,1,mry,1,ada,;a) pint(%sn,); b) prtf(sn,cla2.nam);c) printf(s,); d) pritf(%sn,class0.nam);10.定义以下

24、结构体数组 astruct date int yer;int mnth;int da;strutssructdate birthdy; chaname;x4=200, 10, 1, guangu, 009,12,tiajn;语句prnt(%s,%d,,%,x0.nam,x1.brthay.year); 的输出结果为 【】。a) guanzhu,2009 b)guangzhu,2008) tiin,008 d) tianjin,091.运行下列程序段,输出结果是【】。ut contry intnum; ca nam2;x5=,cin,,usa,3,france,4,england,5, spais;trut contry

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论