1…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………学院专业班级学号姓名武汉理工大学考试试卷(A卷)2010~2011学年2学期程序设计基础(C语言)课程题号一二三四五六合计满分40251520100得分一、单项选择题(本大题共20小题,每小题2分,共40分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将所选代码填写在下面表格中的对应位置。错选、多选或未选均无分。12345678910111213141516171819201.在C中,′a′和″a″存储所占用的字节数分别是A.1,1B.1,2C.2,1D.2,22.在C中,错误的int类型的常数是A.0B.037C.0xafD.1E53.下列转义字符中,错误的是A.′\108′B.′\\′C.′\n′D.′\xbb′4.在C中,下列运算符优先级最高的是A.!B.%C.D.==5.设floatc,f;,对于数学表达式c=95(f-32),正确的C表达式是A.c=5/9*(f-32)B.c=5*(f-32)/9C.c=5/9/(f-32)D.c=5/(9*(f-32))6.设inta=9,b=6,c;,执行语句c=a/b+0.8;后c的值是A.1B.1.8C.2D.2.37.已知intx=7,y=8,z=5;则表达式(x*y/z++)的值是A.9B.9.33C.11D.11.208.设charcl;,则cl为小写英文字母字符的正确表达式为A.’a’=c1=’z’B.(cl=’a’)&&(cl=’z’)C.(cl=a)&&(c1=z)D.(’a’=c1)||(’z’=c1)得分29.设inta=0,b=0,m=0,n=0;,则执行(m=a==b)‖(n=b==a)后m和n的值分别是A.0,0B.0,1C.1,0D.1,110.设inta=1,b=2,c=3,d=4,f;,执行语句f=(a!=b)?c++:d++;后f的值是A.2B.3C.4D.511.设inta=1,b=2;,则执行a=b+2,a++,a+b;后a的值是A.1B.3C.4D.512.若x、i、j和k都是int型变量,则计算表达式x=(i=4,j=i+12,k=i+j)后,x的值为A.4B.16C.20D.2413.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定,else子句总是与A.其之前最近的if配对B.其之后最近的if配对C.同一行上的if配对D.缩排位置相同的if配对14.设有说明intx=0,y=2;则执行if(x=0)y=1+x;elsey=x-1;后,变量y的值是A.-1B.0C.1D.215.设intm=5;,语句while(m==0)m-=2;的循环体执行的次数是A.0B.1C.2D.无限16.设for(i=0,j=10;(j0)&&(i4);i++,j--);,该语句的循环次数是A.0B.3C.4D.1017.执行下面程序段后,输出字符B的个数是intx=0;while(x=5){printf(B);x+=2;}A.0个B.3个C.5个D.6个18.若有定义inta[4]={1,2,3,4};则a[a[0]+2*a[2]-a[3]]等于A.1B.2C.3D.419.设有数组定义:chararray[]=China;则数组array所占的空间为A.4个字节B.5个字节C.6个字节D.7个字节20.数组定义为inta[2][3]={1,2,3,4,5,6},值为1的数组元素是A.a[0][0]B.a[1][1]C.a[1][2]D.a[2][3]3二、程序阅读题(本大题共5请将下面各程序的输出填写下划线处。1.main(){inta=123,x,y,z;x=a/100;y=a/10-10*x;z=a%10;printf(“%d\n”,100*z+10*y+x);}输出:2.main(){inta=1,b=3,c=5,d=5,x;if(ab)if(cd)x=1;elseif(ac)if(bd)x=2;elsex=3;elsex=4;elsex=5;printf(“%d\n”,x);}输出:3.main(){inti,j,s=0;for(i=1;i=5;i++)for(j=1;j=i;j++)s=s+2;printf(“s=%d\n”,s);}输出:小题,每小题5分,共25分)4.main(){intnumber=729,digit;do{digit=number%10;number=number/10;printf(“%d”,digit);}while(number0);}输出:5.main(){inta[3][3]={1,4,7,2,5,8,3,6,9};intn,sum=0;for(n=0;n3;n++)sum=sum+a[n][2-n];printf(“%d\n”,sum);}输出:得分4三、程序填空题(本大题共2小题,每空3分,共15分)请在程序中的下划线处填空,将程序补充完整。1.输入10个整数,找出最大数。main(){intk,x,max;cinx;max=______;//(1)for(k=2;k=10;k++){cinx;if(_______)max=x;//(2)}printf(“Max=%d\n“,max);}2.一个三位整数(100~999),若各位数的立方和等于该数自身,则称其为“水仙花数”(如:153=13+53+33),找出所有的这种数。main(){intn,a,b,c;//n、a、b和c分别为三位数自身及其百位、十位和个位for(______;a=9;a++)//(1)for(b=0;b=9;b++)for(c=0;c=9;c++){n=____________;//(2)if(________________==n)//(3)printf(“%d“,n);}printf(“\n”);}得分5四、程序编写题(本大题共2小题,每小题10分,共20分)1.输出1900~2000年中所有的闰年。每输出5个年号换一行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除;或者能被400整除。)2.任意输入三条边(a,b,c实型),若能构成三角形,则计算并输出其面积,否则输出标志“NoTriangle!”。三角形面积计算公式:)ct)(bt)(at(ts2cbat得分