您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C语言程序设计试卷9(含答案)
第1页共8页注意事项:1、本试卷共12页,满分为100分,考试时间为110分钟。2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。题目一二三四总分分数核对得分阅卷人读卡一、单项选择题:(每题1分,共40分)(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”)一、单项选择题:(每题1分,共40分)1.A2.C3.A4.B5.B6.C7.D8.A9.B10.A11.B12.B13.B14.B15.C16.B17.C18.B19.D20.D21.D22.C23.D24.B25.D26.B27.B28.D29.B30.B31.C32.B33.A34.B35.C36.B37.B38.D39.B40.C1.以下标识符中,合法的变量名是【1】。A)g_1B)3dC)u-dD)a&b2.以下叙述正确的是【2】。A)在C程序中,main()函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在C程序中,注释说明只能位于一条语句的后面3.若k,g均为int型变量,则以下语句的输出为【3】。intk,g;k=017;g=111;printf(%d,,k);printf(%x\n,g);A)15,6fB)f,6fC)f,111D)15,1114.表达式sizeof(double)是【4】。A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式5.设有:inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=ab)&&(n=cd)后n的值为【5】。A)1B)2C)3D)46.设有说明:charw;intx;floaty;则表达式w*x+y/4.0值的数据类型为【6】。A)float型B)int型C)double型D)char型7.设有变量定义语句charch;则能够正确地为变量ch输入数据的是【7】。A)getchar(ch);B)putchar(ch);第2页共8页C)scanf(%c,ch);D)scanf(%c,&ch);8.设inti=0,j=2,k=3;则表达式i&&(i+k)&k|j+i的值是【8】。A)0B)1C)2D)39.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是【9】。A)7B)8C)6D)210.为表示x≥y≥z,应使用的C语言表达式为【10】。A)(x=y)&&(y=z)B)(x=y)AND(y=z)C)(x=y=z)D)(x=y)&(y=z)11.若intx=12,y=10;则表达式x12?x++:++y的值是【11】。A)10B)11C)12D)1312.当c的值为0时,下列选项中能正确将c的值既赋值给变量a又赋值给变量b的是【12】。A)c=b=aB)(a=c)||(b=c)C)(a=c)&&(b=c)D)a=c=b13.语句while(y)等价于【13】。A)while(y==0)B)while(y!=0)C)while(y==1)D)while(y!=1)14.已知字母B的ASCII码值为66,则运行下面程序段后,输出结果是【14】。charch1;ch1='B'+'5'-'3';printf(%d,%c,ch1,ch1);A)D,DB)68,DC)D,68D)68,6815.执行下列程序段后,输出结果是【15】。chars[]=ab\n\012\\\;printf(%d,strlen(s));A)12B)8C)6D)916.执行下列程序段后,a的值是【16】。inta=5;switch(a){default:a+=10;case1:a+=1;break;case0:a+=0;break;case2:a+=2;break;case3:a+=3;break;}printf(a=%d\n,a);A)15B)16C)21D)517.下列程序段的输出结果是【17】。x=-1;do{x=x+x;}while(!x);A)无限循环B)循环执行两次C)循环执行一次D)有语法错误18.下列程序段的输出结果是【18】。intn=0;while(n++=2);printf(%d,n);A)3B)4C)012D)123第3页共8页19.下面程序段的运行结果是【19】。chara[7]=abcdef;charb[4]=ABC;strcpy(a,b);printf(%c,a[5]);A)︼(代表空格)B)\0C)eD)f20.下列程序段中的语句printf(*);共执行【20】次。inti,j;for(i=0;i=3;i++)for(j=i;j=3;j++)printf(*);A)3B)12C)6D)1021.以下数组定义中,正确的是【21】。A)inta(10);B)intn=10,a[n];C)intn;scanf(%d,&n);inta[n];D)#defineSIZE10inta[SIZE];22.下列程序段的输出结果是【22】。chars[]={Q12xy};inti,n=0;for(i=0;s[i];i++)if(s[i]!='Q')n++;printf(%d\n,n);A)0B)1C)4D)523.判断字符串s1是否大于字符串s2,应当使用【23】。A)if(s1s2)B)if(strcmp(s1,s2))C)if(strcmp(s2,s1)0)D)if(strcmp(s1,s2)0)24.设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是【24】。A)k=*p1+*p2;B)p2=k;C)p1=p2;D)k=*p1*(*p2);25.设int型变量占两个字节的存储单元,若有定义intx[10]={1,3,5};则数组x在内存中所占的字节数是【25】。A)8B)6C)10D)2026.以下数组的定义中,错误的是【26】。A)inta[4];B)inta[4]={1,2,3,4,5};C)inta[4]={1,2,3,4};D)inta[4]={1};27.若调用函数的实参是一个数组名,则向被调函数传送的是【27】。A)数组的长度B)数组的首地址C)数组中每一个元素的地址D)数组中每个元素的值28.若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是【28】。A)a,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point29.下列程序段的输出结果是【29】。main(){intaa[3][3]={0,1,2,3,4,5,6,7,8};int*p=&aa[0][0];p++;printf(%d\n,*p);}A)0B)1C)3D)6第4页共8页30.若定义函数float*f(intx),则函数的返回值是【30】。A)一个实数B)一个指向实型变量的指针C)一个指向实型函数的指针D)一个指向整型变量的指针31.以下程序运行后,输出结果是【31】。fun(intx,inty,intz){z=x+y;returnz;}main(){inta=3,b=4,c=5;c=fun(a,b,c);printf(%d\n,c);}A)3B)5C)7D)不确定的值32.下列程序的输出结果是【32】。intfun(inta,intb){if(ab)returna;elsereturnb;}main(){intx=3,y=8,z=6;printf(%d,fun(fun(x,y),z*2));}A)3B)6C)8D)1233.如果int在内存占2个字节,以下程序的运行结果是【33】。#includestdio.hmain(){structdate{intyear,month,day;}today;printf(%d\n,sizeof(structdate));}A)6B)8C)10D)334.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是【34】。A)floatB)intC)longD)double35.下列程序的输出结果是【35】。f(intb[],intn){inti,r;r=1;for(i=0;i=n;i++)r=r*b[i];returnr;}main(){intx,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf(%d\n,x);}A)6B)24C)120D)72036.设有如下定义语句,对结构变量s中成员age的引用方式不正确的是【36】。structstudent{charname[10];intage;}s;structstudent*p=&s;A)s.ageB)*p.ageC)p-ageD)(*p).age37.已知定义语句如下:struct{charch;inti;doublex;}a[2][3]={{'a',1,3.45,'b',2,7.98,'c',3,1.93},{'d',4,4.73,'e',5,6.78,'f',6,8.79}};对初值中整数2的正确引用方式是【37】。A)a[1][1].iB)a[0][1].iC)a[0][0].iD)a[0][2].i38.若有如下定义:enumcolor{red,yellow,blue=4,green,white}c1,c2;c1=yellow;c2=white;printf(%d\n,c1+c2);程序运行结果是【38】。A)4B)6第5页共8页C)9D)739.若执行fopen函数时发生错误,则函数的返回值是【39】。A)地址值B)0C)1D)EOF40.函数调用语句:fseek(fp,-20L,2);的含义是【40】。A)将文件位置指针移到距离文件头20个字节处B)将文件位置指针从当前位置向后移动20个字节C)将文件位置指针从文件末尾处后退20个字节D)将文件位置指针移到离当前位置20个字节处二、阅读程序题:(每题3分,共30分)(说明:请将正确答案按照题干上【】内的序号填写在下表中)分数【1】-14【2】20【3】817【4】0【5】01【6】146【7】15【8】x=1y=1x=1y=2【9】18,Zhao【10】71.下列程序段的输出结果是【1】-14。intx=7;x+=x-=x+x;printf(%d,,x);2.下列程序段的输出结果是【2】20。inta=1,b=3,c=5,d=4,x;if(ab)if(cd)x=10;elseif(ac)if(bd)x=20;elsex=30;elsex=60;elsex=60;printf(%d\n,x);3.下列程序段的输出结果是【3】817。inti=1,s=3;do{s+=i++;if(s%7==0)continue;else++i;}while(s15);printf(%d%d,i,s);4.下列程序段的输出结果是【4】0。main(){intc[3][3]={6,9,3,4,8,2,5,4},*p[3];inti,s=0;for(i=0;i3;i++)p[i]=c[i];s+=*p[0]/p[0][1]+*(*(p+2)+2);printf(%d\n,s);}第6页共8页5.下列程序段的输出结果是【5】01。voidfun(int*n){while(--(*n));printf(%d\t,(*n)++);}main(){inta=100;fun(&a);printf(%d,a);}6.下列程序段的输出结果是【6】146。inta[]={1,2,3,4,5,6,7},*p;p=a;*(p+3)+=2;printf(%d%d%d\n,*p,*p+3,*(p+3));7.下列程序的输出结果是【7】15。#includestdio.hf(intn){if(n==0)return0;elseif(n==1)return1;elsereturnn+f(n-1);}main(){intn=5;printf(%d,f(n));}8.下列程序的输出结果是【
本文标题:C语言程序设计试卷9(含答案)
链接地址:https://www.777doc.com/doc-1494338 .html