《高级语言程序设计期末考试客观题及答案.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计期末考试客观题及答案.docx(34页珍藏版)》请在课桌文档上搜索。
1、一、单选题及答案1、以下选项中,能用作C语言用户自定义标识符的是A.AutoB.staticC.registerD.bool正确答案:A2、阅读以下程序Sincludeintmain()(inta=2zb;floatc=a+2.0d=b+3F;printf(%f%n,c,d);return0;)该程序存在的错误,如下说法正确的是:A.声明语句floatd=b+3F存在错误,3F为非法常量B.声明语句inta=2zb出错,变量b未赋初值C.printf(%f%n,c,d)应该改为printf(%d%dn,czd)D.声明语句floatd=b+3F存在错误,变量b未赋初值正确答案:D3、若a为in
2、t类型变量,初始值为O,则表达式(int)(a=13z(double)a3-l,+a)%3的值是A.存在语法错误B.1C.2D.0正确答案:C4、若a为int类型变量,初始值为0,则表达式a=(char)(2552+l)的值是A.0B.-128C.128D.127正确答案:B5、以下程序片段inta=l,b=2zd=25;(inta=0;a=d10I9;)b=a(ab);printf(%d,%dnzazb);程序运行后的输出结果是A.l,lB.1,0C.2,lD.存在语法错误正确答案:A6、有以下程序片段,inta,b,c=2;if(a=l,b=2za+=2)intc=l;b=c2?5:c+;
3、)printf(%d,%d,b,c);程序运行后的输出结果是A.l,2B.2,2C.2,3D.存在语法错误正确答案:A7、有以下程序片段,inta=O,b=l;while(b)a+=b-;程序运行后变量a的值是A.1B.0C.死循环,无法计算结果D.3正确答案:A8、已知O的ASCIl码值为48,有以下程序片段chara=,l,b=,3,zc=,O;if(a=b)c=a+;elsec=b;printf(%dzc);程序的运行结果是A.3B.2C.51D.50正确答案:C9、下面循环语句执行后SUm的值?charc=0;intsum=0;dosum+=c-,0,;c+;while(c5);A.死
4、循环B.20C.15D.10正确答案:D10、设a,s为int型变量,则下面循环语句执行后s的值?a=12345;while(a)(s=s+a%10;a/=10;)printf(,%dn,s);A.15B.20C.死循环D.10正确答案:A11、有以下程序片段,chars=,1230456;inti=0;while(si!=,0)i+;si=0;puts(s);程序运行后的输出结果是A.1230B.死循环C.1230456D.123正确答案:D12、执行下面的程序段后,输出结果为多少chara=NE,zb10=NE;printf(%d,%dnsizeof(a),sizeof(b);A.3,3B
5、.3,10C.4,10D.4,4正确答案:C13、有以下函数intswap(intajntb)(intt;t=a,a=b,b=t;returnt;执行如下代码片段后inta=100zb=200;b=swap(azb);printf(,%dn,b);程序运行后的输出结果是A.存在语法错误B.200C.100D.0正确答案:C14、有以下函数intadd(intp)(intd=l;d+=p;returnd;)执行如下代码片段后inta=l;add(add(+a);printf(%dn,a);程序运行后的输出结果是A.3B.1C.2D.4正确答案:C15、如下程序段enumdirectionleft
6、zrightzup,down;enumdirectiona=Ieft;printf(,%d,a);输出结果为A.存在语法错误B.leftC.0D.l正确答案:C16、有以下函数intfun(chart)(inti=0zs=0;while(ti)s=s+ti-,O;i+;)returns;执行如下代码片段后chars=12345;Printf(”%d”,fugs);程序运行后的输出结果是A.20B.1OC.6D.15正确答案:D17、有如下函数intfun(intn)(inti=2;while(in)if(n%i=O)returnn;i+;)return0;执行如下程序片段inta34=l,2,
7、3A5,6,7z8,9;ints=0,i=0;for(i=0;i3;i+)s=s+fun(ali);printf(%dzs);程序运行后的输出结果是A.5B.12C.7D.6正确答案:D18、有以下函数voidfun(int*p,int*q)(int*t;t=p;p=q;q=t;执行以下程序片段(intA5=1z2z3A5;inti;for(i=0;i=0,si=,9,)*t=si;t+;)i+;*t=0;)执行以下程序片段chartext=abcl23,t64=;fun(text,t);puts(t);程序运行后的输出结果是A.程序运行出错B.abcl23C.abcD.123正确答案:D20
8、、有以下函数intfun(char*s)(char*p=s;while(*s+);returns-p;执行以下程序片段chars=x0123yz;printf(%d%dzfun(s)zsizeof(s);程序运行后的输出结果是A.65B.74C.66D.56正确答案:C21、若函数fun定义如下intfun(chara,charb)(inti=0J=0;while(ai=bi)i+;如下程序代码执行结果为chars10100=,English,math,physica,Chinese);inti=0;for(i=0;isi+lO)fun(s5zsi);fun(sizsi+l);fun(si+l
9、,s5);)printf(%s,s3);程序运行后的输出结果是A.mathB.physicalC.English0.Chinese正确答案:B22、若函数fun定义如下intfun(charazcharb)(inti=OJ=O;while(ai=bi)i+;如下程序代码执行结果为char*text=ThisisaCprogrammingcourse;char*p=fun(textz,C);if(p!=NLL)printf(%dzp-text);elseprintf(,%d,-l);执行结果为A.6B.-lC.7D.C正确答案:C23、对于如下结构体定义structPointintid;poin
10、t;如下说法不正确的是A.structPoint为数据类型B.point为结构体变量C.sizeof(point)的值为4D.Point为数据类型正确答案:D24、对于如下结构体定义structstudentintid;charname32;structunsignedintyear;unsignedintmonth;unsignedintday;birthday;sl=100,zhao,1999,10,l;如下说法正确的是A.存在语法错误B.表达式SiZeof(SLbirthday)的值为4C.表达式SiZeof(SI.birthday)的值为12D.si.birthday.month的值为
11、1正确答案:C25、对于如下结构体定义structgradecharname32;unioncharc;intg;v;sl=,zhao,A,s2=,Li,80;如下语法不正确的表达式A.scanf(%dzSsl.v.g)B.s2.v.c=sl.v.gC.s2.v.c=sl.v.cD.si.name=s2.name正确答案:D26、下面程序structpoint(floatxzyzz;;structpointmid(structpointplzstructpointp2)structpointm;m.x=(pl.x+p2.x)2;m.y=(pl.y+p2.y)2;m.z=(pl.z+p2.z)2
12、;returnm;intmain()(structpointpl=l,2,3p2,p3=0,0,0;p2=pl;p3=mid(pl,p2);printf(,%.2fzp3.x);执行结果为A.0.50B.0.00C.1.00D.无结果正确答案:C27、对于如下结构体定义structpoint(floatxzyzz;pl=l,2z3Lp2=4,5,6,p3;如下语法正确的表达式A.p2=plB.p3=p2+plC.p3=p2+1D.scanf(%vp3);正确答案:A28、关于如下结构体说法正确的是structnodeintid;structnode*next;;A.next指向下一个结构体变量
13、的地址B.node为数据类型C.struct可以省略D.此结构体定义存在错误正确答案:A29、关于如下结构体structnodeintid;structnodenext;如下说法正确的是A.node为数据类型B.struct可以省略C.sizeof(structnode)的值为8D.此结构体定义存在错误正确答案:D30、对于如下程序#defineMAX(x,y)xy?x:yintmain()(printf(%d,MAX(10,20);return0;)输出结果为A.10B.0C.存在语法错误D.20正确答案:D31、如果文本文件“d:data.txt”已经存在,如果执行如下操作(fp已经声明)
14、fp=fopen(dAdata.txt,r);如下描述正确的是A.fp的值为NULLB.此语句函数fopen调用错误C.文件“d:data.txt”的内容被清空D.文件打开成功,后面可以执行读操作正确答案:D32、如下标准设备文件中,代表键盘的是?A.stdinB.stdkeyboradC.stdoutD.stderr正确答案:A33、如下语句中不能实现向屏幕输出文本“NEU的是A.fprintf(stdout,%s,7NEU,);B.printf(%s,(NE);C.puts(NE);D.sprintf(stdout,%s,NEU);正确答案:Dvoidmain()FILE*fp;inta=
15、10,H,12;fp=fopen(dAtest.dat,wb);fwrite(&a,SiZeof(int),2,fp);fclose(fp);关于test.dat文件大小如下说法正确的是A.8个字节8.4 个字节C.2个字节D.12个字节正确答案:A35、打开文件,将读写位置指向文件尾部的操作是A.fseek(fpzOLzSEEK-CR);B.fseek(fp,OL,SEEK_BEGIN);C.fseek(fp,OL,SEEK_SET);D.fseek(fp,OL,SEEK_END);正确答案:D36、下面结构体的定义语句中,错误的是A.structintx;inty;intz;a;8.5 t
16、ructpointintx;inty;intz;structpointa;C.structpointintx,y,z;a;D.structpointintx;inty;intz;structpointa;正确答案:B37、假设fp为FILE*指针变量,如下代码执行后,char*sl=China,*s2=Beijing;FILE*fp=NULL;fp=fopen(abc.dat,wb);fwrite(s2,7,lp);rewind(fp);fwrite(sl,5,lp);fclose(fp);文件abc.dat的内容是A.ChinaB.ChinaBeijingC.ChinangD.Beijing
17、China正确答案:C38、有以下程序intmain()inta10=l,2,3A5,6,7,8,9,10,*p=a3,*q=p+2;printf(%dn,*p+*q);returnO;)程序运行后的输出结果是A.6B.16C.1OD.8正确答案:C39、如下程序实现完数(除自身之外因子之后等于自身的数)的判定intmain()(intn=0;scanf(%d,&n);inti=0zs=0;for(i=l;in;i+)(if(el)s+=i;if(s=n)(printf(%5disthenumber,n);)returnO;则el对应的表达式是?A.i%n=0B.n%i=OC.n%iD.n/i
18、正确答案:B40、如下程序实现素数(大于等于2,且除了1和自身之外没有因子自然数)的判定intmain()(intn=0;scanf(%dzn);inti=0;for(i=2;iiB.i=nD.in正确答案:C41、如下函数实现字符串拷贝(从S指向数组拷贝到t指向数组)intmstrcpy(char*t,char*s)char*p=t;while(el);returnp-t-1;则el对应的表达式是?A.+(*p)=+(*s)B.*p+=*s+C.(*p)+=(*s)+D.p+=s+正确答案:B42、如下函数计划通过函数返回值统计函数被调用次数,则el对应声明语句为intfun(intx)el
19、+n;returnn;A.intn=0;B.intn=l;C.staticintn=O;D.staticintn=l;正确答案:C43、设有定义:struct(charname16;intmath;floatprogramming;1,2;若变量均已正确赋初值,则以下语句中错误的是A.xl.math=x2.math;B.xl=x2;C.xl.programming=x2.programming;D.l.name=2.name;正确答案:D44、有如下结构体数组定义structstudent(charname16;intmath;floatprogramming;s3=LiMing,80,90.
20、5,Joez80z90.5zJohn,80,90.5;则PUtS(S+l)-name+l)的输出A.80BliMingC.oeDJoe正确答案:C45、已定义函数intfun(intx)(staticinti=0;ints=0;while(i)s=s+i;i+;)returns;则如下语句的执行结果为intn=l;ints=0;while(n5)s=s+fun(n+);printf(%d,s);A.6B.20C.15D.10正确答案:A46、如下语句的执行结果为intA=1,11,111,2,22,222,3,33,333;int(*p)3=A;printf(%d(*(p+l)+l);A.22
21、B.33C.不确定的值D.11正确答案:A47、如下程序中,a已经声明,则如下程序的输出结果为staticinta;while(a+10);printf(%d,a);A.llB.1OC.a未初始化,输出结果不确定D.0正确答案:A48、如下程序中SUm函数的定义为sum(intn)ints=0,i=0;for(i=0;in;i+)s=s+i;returns;)则如下代码ints=0;if(s)s=sum(5);执行后,S的值为多少A.10B.sum函数定义错误C.llD.0正确答案:D49、如下函数fun定义如下intfun(intA2,intn)inta=0zb=n*2-l;int*p=AO;while(ab)*p=*p*2;P+;a+;)returna;则如下代码intA2=23A5z6;fun(A,3);执行后,A2的值为多少A.8B.4D.6正确答案:D50、下结构体已经定义如下structT(intid;unionX(intid;charname100;name;;则如下代码structT*p;printf(%d%d,sizeof(structT),sizeof(p);在64位操作系统下编译执行后,输出结果为A.1048B.108108C.104104D.1088正确答案:A