您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C语言程序设计试卷3(含答案)
第1页共14页注意事项:1、本试卷共13页,满分为100分,考试时间为110分钟。2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。题目一二三四总分分数核对得分阅卷人二、阅读程序题答题处:(每空3分,共30分)1题【41】2题【42】3题【43】4题【44】5题【45】6题【46】7题【47】8题【48】9题【49】10题【50】三、程序改错题答题处:(每空2分,共12分)1题【51】【52】【53】2题【54】【55】【56】四、完善程序填空题答题处:(每空2分,共18分)1题【57】【58】【59】2题【60】【61】【62】第2页共14页3题【63】【64】【65】一、单项单选题:(每题1分,共40分)(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”)1.以下4组标识符中,能作为变量名使用的是【1】。A)age,struct,s1B)2A,b_3,mainC)ELSE,a[2],m123D)_abc,INT,abcd2.已知小写字母a的ASCII码值是97,大写字母A的ASCII码值是65,下列语句中不能输出大写字母B的是【2】。A)putchar('A'+1);B)putchar('b'-32);C)putchar(98-32);D)putchar(B);3.能正确表示aacbb242的C语言表达式是【3】。A)(-b+sqrt(b*b-4*a*c))/(2*a)B)-b+sqrt(b*b-4*a*c)/(2*a)C)(-b+sqrt(b*b-4*a*c))/2*aD)-b+sqrt(b*b-4*a*c)/2*a4.下列程序段的输出结果是【4】。floatx;x=1+1%3*5/2;printf(%f,x);A)3.000000B)3C)3.500000D)85.下列程序段的输出结果是【5】。intm=027;printf(%d\n,m--);A)27B)26C)23D)226.已知变量a=4,b=5,c=6,则表达式c&&a|b的值是【6】。A)7B)1C)0D)67.设intx=10;x+=x%=(-6)+4;则x=【7】。A)0B)16C)18D)108.设inta=1,b=2,c=3,d=4,z;则表达式(ab)?(z=c):(z=d)的值是【8】。A)3B)0C)4D)19.下列程序段的输出结果是【9】。第3页共14页inta=5;if(a++5)printf(%d\n,a);elseprintf(%d\n,a--);A)7B)6C)5D)410.运行下列程序段,输入AaBbDd并以回车键结束输入,则输出结果是【10】。charch;ints=0;while((ch=getchar())!='\n')switch(ch){case'A':s++;case'B':s++;break;case'D':s++;default:s++;}printf(%d\n,s);A)6B)8C)10D)1211.下列程序段的输出结果是【11】。inti,s=0;for(i=1;i=10;i++){if(i%2)continue;s+=i;}printf(%d\n,s);A)30B)25C)0D)112.下列程序段的输出结果是【12】。inti=26;do{printf(%d,i%8);}while(i=i/8);A)死循环B)3C)23D)3213.已知:intk=10;则下面的while循环【13】。while(k=0)k--;A)执行10次B)是死循环C)一次也不执行D)执行一次14.以下对二维数组a的正确定义是【14】。A)inta[3][];B)inta[][4];C)#defineN3D)intN=3;inta[N][N+1];inta[N][N+1];15.已知如下数组定义:第4页共14页charstr[]=a\tb\\c\061;则函数strlen(str)的返回值是【15】。A)6B)5C)11D)716.使用如下语句定义一个char型二维数组str,用来存放字符串Pascal、Basic、C++,charstr[M][N];则M和N最合理取值应该是【16】。A)3和7B)2和7C)2和6D)3和617.下列程序段的输出结果是【17】。inta[]={1,2,3,4},s=0,i;for(i=3;i=0;i-=2)s=s*10+a[i];printf(%d\n,s);A)4321B)42C)1234D)1318.设有如下数组定义:charstr[6];则下列程序段中,不能正确的为str数组赋值的是【18】。A)strcpy(str,ABCD)B)gets(str);C)for(i=0;i6;i++)scanf(%c,str[i]);D)scanf(%s,str);19.下列程序段的输出结果是【19】。inti=0;chars1[10]=1234,s2[10]=567;strcat(s1,s2);while(s2[i++]!='\0')s2[i]=s1[i];puts(s2);A)123B)123567C)5234567D)52320.下面程序段的输出结果是【20】。inta[]={1,2,3,4,5,6,7},*p;p=a;*(p+3)+=2;printf(%d%d\n,*p,*p+3);A)67B)15C)16D)1421.能为指针变量p正确赋值的是【21】。A)inta,*p=a;B)inta,*p=&a;第5页共14页C)inta,*p;D)inta,*p;*p=a;*p=&a;22.下面程序段的输出结果是【22】。inta[2][3]={1,3,5,11,13,15},*p[2];p[0]=a[0];p[1]=a[1];printf(%d\n,*(p[1]+1));A)13B)12C)14D)523.假设下面程序段中第一个printf函数的输出结果是200,则第二个printf函数的的输出结果是【23】。floatb[15],*p=b;printf(%x\n,p);printf(%x\n,p+13);A)234B)20dC)252D)21a24.下面程序段的输出结果是【24】。char*s[]={East,West,South,North};char**p=s;printf(%d,p[0][1]);A)字符W的ASCII码值B)字符WC)字符a的ASCII码值D)字符a25.已知:0≤i≤10,则【25】是对数组元素的错误引用。inta[]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;【31】A)p+iB)a[p-a]C)*(a+i)D)*(&a[i]))26.已知一个函数定义为:voidfunc(){}则void的含义是【26】。A)执行该函数后没有返回值B)执行该函数后不返回C)该函数可以返回任意类型的数据D)该函数返回整型数据27.定义函数时,如果省略函数的存储类型和数据类型,则默认的存储类型和数据类型分别是【27】。第6页共14页A)auto和intB)extern和intC)auto和viodD)extern和void28.下面程序的运行结果为【28】。intf(inta){intb=0;staticc=3;b++;c++;return(a+b+c);}main(){inti;for(i=0;i3;i++)printf(%d,f(i));}A)567B)567C)579D)57929.下面程序的运行结果为【29】。intfunc(inta,intb){returna+b;}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf(%d\n,r);}A)7B)8C)13D)1530.C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方法是【30】。A)形参与实参的结合B)函数返回值C)同名的局部变量D)全局变量31.C语言规定,函数返回值的类型是由【31】。A)return语句的表达式类型所决定B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定32.若有以下的说明,则对初值中整数2的引用方式为【32】。staticstruct{charch;inti;doublex;第7页共14页}arr[2][3]={{'a',1,3.45},{'b',2,7.98},{'c',3,1.93}};A)arr[0][1].chB)arr[0][1].iC)arr[0][0].iD)arr[1][2].i33.下列关于数组和结构的叙述中正确的是【33】。A)构成数组的各个元素和构成结构体的各个成员都必须具有相同的数据类型B)构成数组的各个元素和构成结构体的各个成员均占用一段连续的内存C)构成数组的各个元素类型必须相同,但所占内存不一定连续D)构成结构体的各个成员类型可以不同,且所占内存也不一定连续34.下面程序的运行结果为【34】。main(){unionabc{inta[3];charc;};printf(%d,sizeof(unionabc));}A)1B)4C)12D)1335.下面程序的运行结果为【35】。main(){unionabc{inta;charc[2];}u;u.c[0]=3;u.c[1]=5;u.a=7;printf(%d%d\n,u.c[0],u.c[1]);}A)35B)37C)75D)7036.下面程序的运行结果为【36】。main(){enumcolor{red,green,yellow=5,white,black};printf(%d%d%d%d%d\n,red,green,yellow,white,black);}A)01234B)01534C)34567D)0156737.下列语句中,能正确打开A盘STU文件夹下t1.txt文件的是【37】。A)fp=fopen(A:\STU\t1.txt,r);B)fp=fopen(A:\STU\t1.txt,r);C)fp=fopen(A:\\STU\\t1.txt,r);D)fp=fopen(A:\\STU\\t1.txt,r);第8页共14页38.设fp是指向文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是【38】。A)'\0'B)0C)NULLD)非零值39.C语言中文件的存取方式【39】。A)只能顺序存取,不能随机存取B)只能随机存取,不能顺序存取C)可以顺序存取,也可随机存取D)只能从文件的开头进行存取40.下列程序的运行结果为【40】。#definePT3.5#defineS(x)PT*x*xmain(){inta=1,b=2;printf(%4.1f\n,S(a+b));}A)14.0B)31.5C)7.5D)10.5二、阅读程序题:(每题3分,共30分)(说明:请将正确答案按照题号填写在“填空题答题处”)1.下列程序的运行结果是【41】。main(){inta=353;charb=a;printf(%d,b);}2.下列程序的运行结果是【42】。main(){inta=2,b=3,c=4,d=5,x=0;if(ab)if(!c)x=1;elsex=2;elseif(d)x=3;elsex=4;printf(x=%d,x);第9页共14页}3.下列程序的运行结果是【43】。main(){intm=24,n=9,t;t=m%n;while(t){m=n,n=t,t=m%n;}printf(%d,n);}4.下列程序的运行结果是_【44】。#includestdio.hmain(){intc=5;printf(%d\n,(c+=c++,c+8,++c));}5.下列程序的运行结果是_【45】。main(){chara[3][6]={Sun,Earth,Moon};inti,j,n[3];for(i=0;i3;i++){for(j=0;j6;j++)if(a[i][j]=='\0'){n[
本文标题:C语言程序设计试卷3(含答案)
链接地址:https://www.777doc.com/doc-1494334 .html