《高级语言程序设计期末考试客观题及答案.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指向下一个结构体变量的地址B.node为数据类型C.struct可以省略D.此结构体定义存在错误正确答案:A29、关于如下结构体structnodeintid;structnodenext;如下说法正确的是A.node为数据类型B.struct可以省略C.sizeof(