湖北大学知行学院2009—2010学年度第学期课程考试试题纸(第1页共3页)说明:本试卷将作为样卷直接制版胶印,请命题教师在试题之间留足答题空间。知行学院课程考试试题纸……………………………………………………………………………………………………一、单项选择题(从下列各题A、B、C、D四个备选答案中选择一个正确的答案,并将其写在题干的括号中。每小题1分,共20分)1.运算符___________的优先级最高。A.[]B.+=C.:D.++2.main(){intn;(n=6*4,n+6),n*2;printf(“n=%d\n”,n);}此程序的输出结果是______________.A.30B.24C.60D.483.若有如下定义,则__________是对数组元素的正确的引用。。inta[10],*p;p=a;A.*&a[10]B.a[11]C.*(p+11)D.*p*p*p4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________A.0B.4C.-4D.25.各种基本数据类型的存贮空间正确的长度排列为__________.A.CharlongintfloatdoubleB.DoublefloatlongintcharC.CharintlongfloatdoubleD.Floatintlongchardouble6.下面的变量说明中_____________是正确的。A.char:a,b,c;B.chara;b;c;C.chara,b,c;D.chara,b,c7.表达式y=(1312?15:67?8:9)的值为____________.A9B8C15D.18.若x=5,y=3则y*=x+5;y的值为_______________.A.10B.20C.15D.309.能正确表示a和b同时为正或同时为负的逻辑表达式是_________.A.a=0||b=0)&&(a0||b0)B.(a=0&&b=0)&&(a0&&b0)C.(a+b0)&&(a+b=0)D.a*b010.C语言中,合法的字符型常数是_________.A.‘A’B.“A”C.65D.A11.已有定义intx=3,y=4,z=5;则表达式“!(x+y)+z-1&&y+z/2”的值是________.A.6B.0C.2D.112.若变量c为char类型,能正确判断出c为小写字母的表达式是_______.A.‘a’=c=‘z’B.(c=‘a’)||(c=‘z’)C.(‘a’=c)and(‘z’=c)D.(c=‘a’)&&(c=‘z’)13.设有定义:longx=-123456L;则以下能够正确输出变量x值的语句是_______.A.printf(“x=%d\n”,x)B.printf(“x=%ld\n”,x)C.printf(“x=%8dl\n”,x)C.printf(“x=%D\n”,x);14.从循环体内某一层跳出,继续执行循环外的语句是:___________.A.break语句B.return语句C.continue语句D.空语句。15.C语言用_______表示逻辑“真”值。A.trueB.t或yC.非零整型值D.整型值016.为了避免嵌套的条件分支语句if—else的二义性,C语言规定:C程序中的else总是与_____组成配对关系。A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if17.在函数中默认存储类型说明符的变量应该是________存储类型。A.内部静态B.外部C.自动D.寄存器18.C语言中以只读方式打开一个文件应选择_______________参数。A.“r”B.“w”C.“rb”D.“a”19.设有数组定义:chararray[]=“student”;则数组所占的存贮空间为__________.A.6个字节B.7个字节C.8个字节D.9个字节20.根据C语言的语法规则,下列________个是不合法标识符。A.doB.NameC.R5D._exam二、填空题(每空1分,共15分)1.C语言的预处理语句以__________开头。2.表达式7+102&&25%5的结果是_______________________.3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。课程名称:C语言(B卷)考试方式:闭卷(开卷、闭卷)印刷份数:75系(部):计算机系任课教师:余敦辉专业年级:电信本科09级题号一二三四五六七八总分总分人分值得分得分阅卷人得分阅卷人***********学号:姓名:********************************************学院:专业年级:**********************************************************湖北大学知行学院2009—2010学年度第学期课程考试试题纸(第2页共3页)说明:本试卷将作为样卷直接制版胶印,请命题教师在试题之间留足答题空间。Intn=0,ch;Ch=getchar();While(__________________){if(________________)n++;c=getchar();}4.C语言中getchar()函数的功能是__________.5.int*p的含义是_____________________.6.定义fp为文件型指针变量的定义方法为___________.7.数组inta[3][3];共定义了____________个数组元素。8.在C语言中,正确的标识符是由____________组成的,且由____________开头的。9.设x=3,那么表达式y=(++x)+(++x)的结果为_____,表达式执行后,变量x的结果为_____.10.在循环中,continue语句与break语句的区别是:______________________________。continue语句是______________________,break是_____________________________。三、判断题(每小题1分,共10分)1.C语言源程序文件通过了编译、连接之后,生成一个后缀为.EXE的文件。()2.在C程序中,函数既可以嵌套定义,也可以嵌套调用。()3.在C程序中,APH和aph代表不同的变量。()4.表达式0195是一个八进制整数。()5.Continue语句的作用是结束本次循环。()6.Extern变量的生命期是整个程序执行期。()7.C语言中字符串的结束符是‘\0’。()8.利用fclose函数关闭已打开的文件。()9.C程序总是从main()函数的第一条语句开始执行的。()10.数组名代表数组的首地址。()四、阅读程序,对程序进行改错或写出程序执行结果(每小题5分,共25分)1.改正下列程序中不正确的语句。main(){inta;scanf(“%d”,a);if(a=1)printf(“One\n”);}2.写出下列程序的运行结果。fun(inta,intb){if(ab)return(a);Elsereturn(b);}main(){intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf(“%d\n”,r);}3.改正下列程序中不正确的语句。main(){intn;floats=1.0;for(n=10;n1;n--)s=s+1/n;printf(“%6.1f\n”,s);}4.写出下列程序的运行结果。main(){intn;For(n=3;n=10;n++){if(n%6==0)break;Printf(“%d”,n);}}5.写出下列程序的运行结果。#include“stdio.h”Main()得分阅卷人得分阅卷人湖北大学知行学院2009—2010学年度第学期课程考试试题纸(第3页共3页)说明:本试卷将作为样卷直接制版胶印,请命题教师在试题之间留足答题空间。{inta[]={1,2,3,-4,5};intm,n,*p;p=&a[0];m=*(p+1);n=*(p+4);printf(“%d%d%d”,*p,m,n);}五、程序填空题(每空2分,共12分)1.下面是实现打印九九乘法表的程序,请在画线的位置填上适当的语句,使程序(段)完整。main(){inti,j,k;for(i=1;_____________;i++){for(j=1;______________;j++)printf(“%d*%d=%d”,_______________);printf(________________);}}2、求主次对角线之和。main(){staticinta[][3]={9,7,5,1,2,4,6,8};inti,j,s1=0,s2=0;for(i=0;i3;iI++)for(j=0;j3;j++){if(_______________)s1=s1+a[i][j];if(_______________)s2=s2+a[i][j];}printf(“%d\n%d\n”,s1,s2);}六、编程题(每小题9分,共18分)1.从键盘上输入10个整数存入一维数组中,按由大到小的顺序输出。2.输入一个5位数,判断它是不是回文数。(提示:12321是回文数,个位与万位相同,十位与千位相同。)得分阅卷人得分阅卷人