(完整版)计通学院c语言真题(带答案)适用专业年级:计06级,通信06级考试时间:100分钟1、本试卷共4页,试卷如有缺页或破损,请立即举手报告以便更换。2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。3、答案全部做在答题纸上,并写在密封线内和纸卷正面,否则不记分。一、单选题。从供选择的答案中选出正确答案。(每题1.5分,共36分)1、以下定义和语句:charcl='b',c2='e';printf(″%d,%c\n″,c2-c1,c2-'a'+'A');则输出结果是:()A.2,MB.3,EC.2,ED.输出项与对应的格式控制不一致,输出结果不确定2、若有两条语句staticcharx[]="abcde";staticchary[]={'a','b','c','d','e'};则下列语法中正确的是()A.x数组和y数组的长度相同B.x数组的长度小于y数组的长度C.x数组的长度大于y数组的长度D.x数组等价于y数组3、以下程序的输出结果是()#definef(x)x*xmain(){inta=6,b=2,c;c=f(a)/f(b);printf("%d\n",c);}A.9B.6C.36D.184、在C语言中的if语句中,用作判断的表达式为()A.关系表达式B.逻辑表达式C.算数表达式D.任意表达式5、执行下面程序中输出语句后,a的值是()main(){inta;printf("%d\n",(a=3*5,a*4,a+5));}A.65B.20C.15D.106、合法的数组定义是()A.staticinta[]=″string″;B.staticinta[5]={0,1,2,3,4,5}C.staticchara=″string″;D.staticchara[]={0,1,2,3,4,5};7、C语言可执行程序的开始执行点是()A.程序中的一条可执行语句B.程序中第一个函数C.程序中的main函数D.包含文件中的第一个函数8、判断两个字符串S1和S2相等的正确语句是()A.if(S1=S2)B.if(S1==S2)C.if(strcpy(S1,S2))D.if(strcmp(S1,S2)==0)9、若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是()A.(exp==0)B.(exp!=0)C.(exp==1)D.(exp!=1)10、若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是()A.EOFB.0C.非零值D.NULL11、下面程序段的运行结果是()char*s="abcde";s+=2;printf("%d",s);A.cdeB.字符'c'C.字符'c'的地址D.无确定的输出结果12、假定int类型变量占用两个字节,其有定义:intx[10]={0,2,4};,则数组x在内存中所占字节数是()A.3B.6C.10D.2013、不合法的main函数命令行参数表示形式是()A.main(inta,char*c[])B.main(intarc,char**arv)C.main(intargc,char*argv)D.main(intargc,char*argv[])14、若有以下定义和语句:doubler=99,*p=&r;*p=r;则以下正确的叙述是()A.两处的*p含义相同,都说明给指针变量p赋值B.在"doubler=99,*p=&r;"中,把r的地址赋值给了p所指的存储单元C.语句"*p=r;"把变量r的值赋给指针变量pD.语句"*p=r;"取变量r的值放回r中15、已知intj,i=1;,执行语句j=-i++;后,j的值是()。A.1B.2C.-1D.-216、设有程序段intk=10;while(k=0)k=k-1;则下面描述中正确的是()A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次17、定义如下变量:intn=10则下列循环的输出结果是()while(n>7){n--;printf("%d\n",n);}A.1098B.987C.10987D.987618、以下叙述中不正确的是()A.在不同的函数中可以使用相同名字的变量B.函数中的形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效19、能正确表示逻辑关系:"a≥=10或a≤0"的C语言表达式是()A.a>=10ora<=0B.a>=0||a<=10C.a>=10&&a<=0D.a<=0||a>=1020、下列程序的输出结果是()main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",d*y);}A.3B.3.2C.0D.3.0721、为避免嵌套的条件分支语句if…else的二义性,C语言规定,C程序中的else总是与()组成配对关系。A.其上面距它最近的,并且没有其他else与其配对的if相配对B.在同一行上的ifC.缩排位置相同的ifD.在其之前未配对的if22、若有说明inta[3][4];则a数组元素的非法引用是()A.a[0][2*1]B.a[1][3]C.a[4-2][0]D.a[0][4]23、C程序中,若函数调用采用传值方式,则()A.实参和虚参各自占有存储单元B.实参和虚参共享存储单元C.由用户指定D.由计算机随机确定24、以下程序中调用scanf函数给变量...