您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 大学期末c语言考试习题试题集
大学期末c语言考试习题试题集2007-07-0610:03c语言考试题(一)一、单项选择题(每题2分,共20分)1、以下选项中属于C语言的数据类型是()A.复数型B.逻辑型C.集合型D.双精度型2、一个C程序的执行是从()A.main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main()函数开始,直到最后一个函数结束3、设有语句inta=3;则执行语句a+=a-=a*a;后,变量a的值是()A.3B.0C.-12D.94、若有charc[5]={'c','d','\0','e','\0'};则执行语句printf(%s,c);结果是()。A.cd\0eB.'c''d'C.cdD.cde5、已知:inta[2][3]={1,2,3,4,5,6},(*p)[3]=a;则下列表达式不是4的是()。A.*(*p+3)B.*p+3C.*(*(p+0)+3)D.a[0][3]6、以下有宏替换不正确的叙述().A.宏替换不占用运行时间B.宏名无类型C.宏替换只是字符串替换D.宏名必须用大写字母表示7、执行charstr[10]=”Ch\nina”;strlen(str)的值是()A.5B.6C.7D.98、下面程序的输出结果是:()#definePOWER(x)(x*x)main(){inti=4;printf(%d,POWER(i-2));}A.-9B.-7C.5D.-69、在定义inta[3][4][2];后,第10个元素是()A.a[2][1][2]B.a[1][0][1]C.a[2][0][1]D.a[2][2][1]10、下面程序的输出结果是:()typedefstruct{longx[2];shorty[4];charz[8];}MYTYPE;MYTYPEa;main(){printf(%d\n,sizeof(a));}A.2B.8C.14D.24二、填空题(每空1分,共11分)1、字符串A在内存中占用的字节数为。2、C语言中的标识符只能由字母、下划线和组成。3、若有定义语句“inta=25,b=14,c=19;,以下语句的执行结果是if(a++=25&&b--=2&&c++)printf(***a=%d,b=%d,c=%d\n,a,b,c);elseprintf(###a=%d,b=%d,c=%d\n,a,b,c);4、有如下定义a[]=B\172\\\'a%%;则执行语句printf(%d,strlen(a));的结果为。5、若有定义:inta[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;for(i=0;i4;i++)p[i]=&a[i*3];则*(*(p+1)+2)的值为,*p[2]的值为。若数组的首地址为2000,则p[1]指向的地址为。6、设a=2,b=3,x=3.5,y=2.5,则表达式(float)(a+b)/2+(int)x%(int)y的结果是。7、设x、y都是int型变量,初值都为1,则执行表达式:--x&&y++后,y的值为。8、语句for(i=1;i==10;i++)continue;循环的次数是。9、以下程序输出。main(){enumem{em1=3,em2=1,em3};char*aa[]={AA,BB,CC,DD};printf(%s%s%s\n,aa[em1],aa[em2],aa[em3]);}三、写程序结果(每题5分,共35分)1、#includemain(){intx,y,z;x=1,y=2,z=3;x+=y+=z;printf(1:%d\n,z+=xy?x++:y++);x=0x02ff;y=0xff00;printf(2:%d\n,(x&y)4|0x005f);x=y=z=-1;++x||++y&&++z;printf(3:%d,%d,%d\n,x,y,z);}2、#definef(x)x*xmain(){inta=6,b=2,c;c=f(a+b)/f(b);printf(“%d\n”,c);}3、fun(intk){printf(%d,k);if(k0)fun(k-1);}main(){intw=5;fun(w);printf(\n);}4、#includemain(){intx=1,y=0;switch(x){case1:switch(y){case0:printf(“first\n”);break;case1:printf(“second\n”);break;}case2:printf(“third\n”);}}5、#includemain(){intk=4;func(k);func(k);}func(inta){staticintm=0;m+=a;printf(%d,m);}6、structst{intx;int*y;}*p;ints[]={30,20};structsta[]={1,&s[0],2,&s[1]};main(){p=a;printf(%d,,p-x);printf(%d\n,++(*(++p)-y));}7、假定在当前盘目录下有2个文本文件,其名称和内容如下:文件名:a1.txta2.txt内容:ABCDEF#abcdef##includestdio.hmain(){FILE*fp;voidfc();if((fp=fopen(a1.txt,r))==NULL){printf(Cannotopenfile!\n);exit(1);}else{fc(fp);fclose(fp);}if((fp=fopen(a2.txt,r))==NULL){printf(Cannotopenfile!\n);exit(1);}else{fc(fp);fclose(fp);}}voidfc(fp1)FILE*fp1;{charc;while((c=fgetc(fp1))!='#')putchar(c);}四、程序填空(每空2分,共14分)1、下面程序求矩阵a的主对角线元素之和,请填空。main(){inta[3][3]={2,4,6,8,10,12,14,16,18};intsum=0,i,j;for(i=0;i3;①)for(j=0;②;j++)if(i==j)sum=sum+③;printf(sum=%d\n,sum);}2、下列函数coy把字符数组S2中的全部字符复制到字符数组S1中,复制时’\0’也要复制过去,’\0’后面的字符不用。coy(chars1[],chars2[]){inti;for(i=0;s2[i]!=①;i++)s1[i]=s2[i];②;}3、下面程序的功能是将字符串a中的下标为奇数的元素由小到大排序,其他元素不变,请填空。main(){chara[]=students,t;inti,j;for(i=1;i7;i+=2)for(j=i+2;j8;①)if(②){t=a[i];a[i]=a[j];a[j]=t;}puts(a);}**********************************************************************************************************************************************分割线**********************************************************************************************************************************************c语言考试题(二)一.填空题(每题2分,共20分)1.C语言基本数据类型有:_______________________________;构造类型有:_____________________________________。P.132.C语言源程序注注释符号是:________________________________,为表明层次结构,C语言源程序通常采用_____________________格式编写。P.43.源程序TEST.C经编译产生的目标文件是:________________________;经连接处理后,产生的可执行文件是:__________________________。4.strlen(“1234\0xy)的值为:_____________________________;sizeof(float)的值为:____________________________5.二维数组a[10][50]最后一行的首地址为:_________________________;最后一个元素的首地址为:____________________________________。6.C标准库函数中,数学函数的原型在:________________头文件中,自定义头文件D:\MYC\MY.H应如何包含到源程序文件中:_________________________。P.1307.已知函数定义为:intstat(inta,float*p){……………}则此函数的两个参数类型分别是_______________、_____________________。8.设intx,y,z=4;x=y=++z;x=(yz)?x+2;x++;则x的值是:_________;设inta=0,b=0,c=0;c=++a||b++;,则a、b、c值分别是:_____________。9.与if(x=0)等价的写法是if(!x);判断两个(float)变量x,z是否相等一般:if(fabc(x-z)1e-6)。10.已知赋值语句zhang.year=1985;可判断zhang是_______________类型的变量;定义文件指针的C语句是:_________________________________。二.单项选择题(每题1分,共10分)1.组成C程序的基本单位是____________________________。A.函数B.标识符C.表达式D.语句2.设int类型的数据长度为2字节,则该类型数据的取值范围是__________________。A.0至65536B.0至65535C.-32767至32768D.-32768至327673.在C语言中,逻辑值“真”是用_____________________表示的。A.预定义为真值的宏B.非零数C.正数D.非零整数4.C语言对于嵌套if语句规定else总是与_____________________匹配。A.与最外层的ifB.与之前最近的ifC.与之前最近的不带else的ifD.与最近的{}之前的if5.数组定义chara[10]={`a`,`b`,`c`}:包括了几个元素____________________。A.3B.9C.4D.106.数组名作为实参传给被调用的函数时,形参获得的是_____________________。A.该数组第一个元素的值B.该数组所有元素的值C.该数组第一个元素的首地址D.该数组所有元素的首地址7.为表示关系x≥y≥z,正确的C语言表达式为_________________________。A.(x=y=z)B.(x=y)AND(y=z)C.(x=y)&&(y=z)D.(xy)&(y=z)8.根据定义inta[]={1,2,3},i,*p=a;从语法分析_________________是不正确的。A.a[p-a]B.*(&a)C.pD.*(*(a+i))9.若有语句scanf(“%d%d”,&a,&b);要使变量a,b分别得到12和34;正确的输入形式为____________________________。A.1234B.12,34C.1234D.12:3410.unionuex{inti;floa
本文标题:大学期末c语言考试习题试题集
链接地址:https://www.777doc.com/doc-2548628 .html