2013——2014年第一学期C语言期末考试试卷一选择题(每题2分共30分)1.C语言中的标示符只能由字母、下划线和数字三种字符组成,且第一个字符(C)A必须为大写B必须为下划线C必须为字母或者下划线D可以是字母、下划线和数字中的任一种字符。2以下不能用作用户标示符的是:(D)AIfBSwitchCgetsDcase3下列哪一个字符不是字符常量(D)A‘a’B‘?’C‘:’D“C”4下列形式的常数中,C程序不允许出现的是(B)A.45BE3.6C25.6E-2D.0.2355C语言中,运算对象必须是整型数的是(A)A%B/C%和/D*6下列变量说明中正确的是(D)Achar:abc;Bchara;b;c;Cintx;z;Dintx,z;7假设所有的变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)A7B8C6D28C语言规定,在一个源程序中,main函数的位置(C)A必须在最开始B必须在系统调用的库函数的后面C可以任意D必须在最后9以下不正确的叙述是(D)A在C程序中,逗号运算符的优先级别最低B在C程序中,APH和aph是两个不同的变量C若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入中,而b中的值不变。D当从键盘的输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。10.已知各变量的类型说明如下:intk,a,b,w=5;floatx=1.42;则以下不符合C语言语法的表达式是(A)Ax%(-3)Bw+=2Ck=(a=2,b=3,a+b)Da+=a-=(b=4)*(b=3)11设有语句a=3;则执行语句a+=a-=a*a后,变量a的值是(D)A3B0C9D-1212在C语言中,如果下面的变量都是int类型,则输出的结果是(A)sum=pad=5;pad=sum++;pad++;++pad;printf(“%d”,pad);A7B6C5D413以下程序的输出结果是(A)#includestdio.hmain(){inta=2,c=5;printf(“a=%%d,b=%%d\n”,a,c);}Aa=%2,b=%5Ba=2,b=5Ca=%%d,b=%%dDa=%d,b=%d14下面程序的输出结果是(D)main(){intx=10,y=10;printf(“%d%d\n”,x--,y--);}A1010B99C910D10915下列可以用作用户自定义变量名的是(C)A1Ba1CintD45二、填空题(每题2分,共20分)1、一个C源程序中至少应包含一个main函数。2.C语言源程序的基本单位是()。3、C程序设计的三种基本结构是顺序结构、选择结构、循环结构。4、a是整型变量,则执行表达式a=25/3%3后a的值为___2__。5、C语言标识符由字母、数字和下划线来构造。6、若intx=5;while(x0)printf(“%d”,x--);的循环执行次数为5。7、在C语言中,一个函数一般由两个部分组成,他们是__函数名______和___函数体_____。8、设C语言中,int类型数据占4个字节,则short类型数据占2个字节9、设有intx=11;则表达式(x++*1/3)的值是(3)。10、若有inti=10,j=2;则执行完i*=j+8;后i的值为三判断对错,对的划“√”,错的划“×”(每题2分,共10分)1、C语言程序总是从main()函数开始执行。(T)2、执行程序段inta=-1,b=4,k;k=(++a0)&&!(b--=0);printf(“%d%d%d\n”,k,a,b);后的输出结果是004。(T)3、C语言程序由函数组成,它的主函数必须在其它函数之前定义,函数内可以嵌套定义函数。(F)4、用C语言实现的算法可以没有输出但必须要有输入。(F)5、C语言本身有输入输出语句。(F)6、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是整形。(T)7在TurboC中,整型数据在内存中占2个字节。(错)8字符常量的长度肯定为1.(T)9inti=20;switch(i/10){case2:printf(A);case1:printf(B);}的输出结果为A。(错)10break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。(对)三、写出下列程序的运行结果(共20分,每题4分)11、程序1#includestdio.hvoidmain(){inta=12,b=12;printf(“%d,%d\n”,--a,++b);}程序执行后的输出结果是:12、程序2#includestdio.hvoidmain(){inta=5,b=4,c=3,d=2;if(abc)printf(“%d\n”,d);elseif((c-1=d)==1)printf(“%d\n”,d+1);elseprintf(“%d\n”,d+2);}程序执行后的输出结果是:13、程序3#includestdio.hvoidmain(){intx=0,y=5,z=3;while(z--0&&++x5)y=y-1;printf(“%d,%d,%d\n”,x,y,z);}程序执行后的输出结果是:14以下程序的运行结果是___111_____。voidincrement(){intx=0;x+=1;printf(%d,x);}voidmain(){increment();increment();increment();}15以下程序的运行结果是___2_____。max(intx,inty){intz;z=(xy)?x:y;return(z);}voidmain(){inta=1,b=2,c;c=max(a,b);printf(maxis%d\n,c);}四、编程题(每题10分共20分)16、编写一个程序。实现输入一个小写字母,程序输出它对应的大写字母。(提示:小写字母的ASCII码值比大些字母大32)17、编写一个程序,计算100+101+102+…+300的值。