天津城建大学C语言样卷含答案解析.docx
4、下列for循环的次数为ofor(inti=0,x=0;!x&&i<=5:i+)A、5B、6C、1D、无限5、设有定义doublea10,*s=a;,一下能够代表数组元素a3的是.A、 (*s)3B、 *(s+3)C、 *s3D、 *s+36、下列属于C语言保留字的是。A、IntB、 typedefC、 ENUMUnion7、下列定义数组的语句中,正确的是oA、 intN=IO:B、 #defineN10intxN;intxN;C、intx0.10;DintX;8、条件语句OA、不可以嵌套使用B、可以嵌套使用C、在一条件下可以嵌套使用D、嵌套语句中不能使用CISe子句9、下面不正确的字符串常量是oA、 'abc,B、 "12'12”C、"0"D、”“10、下列标识符中不合法的是。A、s_nameB、eC、foxD、3DSC语言样卷(一)(总分100分,考试时长60分钟)一、单项选择题(每小题2分,共100分)1、以下选项中正确的整型常量是。A、12.B、-20C、1,000D、4562、若inta=3,则执行完表达式a-=a+=a*a后,a的值是A、-15B、-9C、-3D、03、当从键盘上输入字符”12134211下面程序的输出结果是main()(chars;intvl=0,v2=0,v3=0,v4=0,k;for(k=0;k<=7;k+)(scanf("%c",&s);switch(s)(default:v4+;case,:vl+;case'3>:v3+;case,2,:v2+;)printfvl=%d,v2=%d,v3=%d,v4=%dn”,vl,v2,v3,v4);)A、v1=4,v2=2,v3=l,v4=lB、v1=4,v2=9,v3=3,v4=lC、vl=5,v2=8,v3=6,v4=lD、vl=8,v2=8,v3=8,v4=8B、3C、2D、114、以下语句或语句组中,能正确进行字符串赋值的是oA、char*sp;*sp=*right!*;B>chars10;s="right!”;C、chars10;*s=*right!*;Dchar*sp="right!”;15、若有下列定义(设int类型变量占2个字节):inti=8,j=9;则下列语句:Printf("i=%d,j=%dn”,i,j);输出的结果是。A、 i=8,j=9B、i=%d,j=%dC、i=%8,j=%9D、8,916、执行下列程序后,i的值是0inti,x;for(i=l,x=l;i<20;i+)if(x>=10)break;if(x%2=l)x+=5;continue;)-=3;)A、4B、5C、6D、717、以下叙述中错误的是oA、对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B、数组名代表的是数组所占存储区的首地址,其值不可改变c、当程序执行中,数组元素的下标超出所定义的卜.标范围时,系统将给出“下标越界”的出错信息D、可以通过赋初值的方式确定数组元素的个数18、已知在ascii代码中,字母b的序号为66,以下程序的输出的结果是omain()(charc1='b,c2='d,;printf("%d,%cn*,cl,c2);下程序:int*f(int*x,int*y)if(*x<*yreturnx;elsereturny;)main()inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);print(z,%d,%d,%dn*,*p,*q,*r);)执行后的输出结果是OA、7,8,8B、7,8,7C、8,7,7D、8,7,812、若下列选项中的各变量均为整型且已有值,其中不正确的赋值语句是A、 +i;B、 nl=(n2(n3=2);C、 k=i=j;D、 a=b+c=2;13、有以下程序:intf(intn)(if(n=1)return1;elsereturnf(n-l)+l;)main()inti,j=0;for(i=l;i<3:i+)j+=f(i);printf("%dn",j);程序运行后的输出结果是.A、4C、(*p)+=a+D、*(p+)=a+22、若int类型占两个字节,则以下语句输出为oi11tk=-l;printf(*%d,%un”,k,k);A、-1,-1B、-1,65536C、-1,32768D、-1,6553523、在C语言中,函数的数据类型是指()A、函数返回值的数据类型B、函数形参的数据类型C、调用该函数时的实参的数据类型D、任意指定的数据类型24、有以下程序:main()(ints=0.n:for(n=0jn<3;n+)switch(s)(case0;easel:s+=l;case2:s+=2;break;case3:s+=3;default:s+=4;)printf(*%d,*s);程序运行后的输出结果是OA、1,2,4,B、 1,3,6,C、 3,10,14,D、3,6,10,25、以下不能正确定义二维数组的选项是。inta=1,;B、inta2=1,2,3,4);A、B,66B、66,DC、B,DD、66,6819、已知CharX口="hello”,y口='h','e','a','b','e'则关于两个数组长度的正确描述是。A、相同B、X大于yC、X小于yD、以上答案都不对20、有以下程序structstu(charname10;intnum;floattotalscore;);voidf(structstu*p)structstus2=*sundan*,20044,550,*penghua*,20045,537,*q=s;+P;+q;*p=*q;)mainO(structstus3="yangsan”,20041,703,"Iisiguo”,20042,580;f(s);printf(*%s%d%3.0fn*,sl.name,sl.num,sl.totalscore);)程序运行后的输出结果是OA、SunDan20044550Penghua20045537C、LiSiGuo20042580D、 SunDan2004170321、变量P为指针变量,若p=&a,下列说法不正确的有。A、&*p=&aB、*&a=aC、简单C语句必须以分号结束D、C语句必须在一行内写完33、设变量定义为"intX,*p=&x;”,则&(*p)相当于A、pB、*pCsXD*(&x)34、有以下程序structstu(charnum10;floatscore3;main()(structstus3=2002,90,95,85,"20022”,95,80,75,"20023”,100,95,90,*p;inti:floatsun=0:p=s+l;for(i=0;i<3;i+)sum=sum+p->scorei;Printf("%.3fn”,sum);)程序运行后的输出结果是。A、250.000B、250C、270.000D、27035、若intx=2,y=3,z=4则表达式XVz?y:Z的结果是.A、4B、3C、2D、036>现有以下语句:i=l;for(;i<=100;i+)sm+=i;A、for(i-l;i+)sum+-i;C.intaD2=l,2,3DsintaJ=l,2,3,4;26、设有语句:tint a=l, b=2, *pl=&a, *p2=&b;”,则使指针Pl指向变量b的赋值语句是A、 pl=*p2B、 *pl=p2C、 pl=p2Dx*pl=*p227、已有定义:inti,a10,*p;则合法的赋值语句是。A、 p=100:B、 p=a5C、 p=a2+2D、 p=a+2;28、在下面的运算符中,不是算术运算符的是OA、+Bx=C、%D、+29、Sl和s2已正确定义并分别指向两个字符串。若要求:当Sl所指串大于s2所指串时,执行语句s;则以下选项中正确的是JA、if(sl>s2)S;B、if(strcmp(sl,s2)S;C、if(strcmp(s2,si)>0)S;D、if(stremp(sl,s2)>0)S;30、函数fgetc的作用是从指定文件读入一个字符,该文件的打开方式必须是OA、只写B、追加C、读或读写D、答案B和C都正确31、在下列叙述中,错误的一条是oA、SCanf()函数可以用来输入任何类型的多个数据B、数组名作函数参数时,也采用“值传递”方式C、如果形参发生改变,不会改变主调函数的实参值D、函数的实参与形参的类型应一致32、以下叙述中正确的是oA、C程序的基本组成单位是语句B、C程序中的每一行只能写一条语句C、M3.Ql=kol=3,a11ll<=2.811n=lD、a(00-4>a0l-2xa!(O-3.all-l40.«以下程序Binclud»<stdio.h>type<icfstructiniUp;)n;voidf<ac)/注:Cit结构变Irt名/i11tj:(c.b-l;C.p÷=2:)udn()(inti:aa=1.2;f(a):prinif(*MMn*,b.a.p);)也序运行昭的输出站SIltJA、B.C、D、3个R字的内码K度为2字VJl极个字节的G高二进M位的位分刖为.M0.0BxI.JC10D、0.I43.芳=2,y=3MMy的结果是A、0B、1Cx2以3if瑞句的用本附式足:iM表达犬)瑞句.以卜关于表达区"(fl的ft(述中止确的必a、eaitt5iftk6涌见整敷值,if<i-10I)break;R.for<i=l;i<=100;>sun*-i:1什;C.i=l;BUfi*=-5;MiT;for<:>JUm:if<i-100>break:i:37、定义JnF-Iwahim*5.*p;划下列蜘述福谭的妞A.旧式PwI是分法的B. i½a-aH足令法的C表达式PF是合法侑Ik点地式川2条合法的刻田以下在洋Xincludo<Atdio.h>TOidf(intp.int*q);114in()(InlFl.n=2.<r=*n:f(r.M:printf<%d,