C语言试题套题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

曲阜师范大学计算机科学学院试题共7页第1页2010级计算机、软件外包专业2010—2011学年第1学期《C语言》期末试题(A卷)一、选择题(20*2′=40分)1.以下叙述正确的是(c)A.C语言程序是由过程和函数组成的B.C语言函数可以嵌套定义,即在一个函数内部定义另外一个函数C.C程序有且仅有一个名字为main()的函数D.C语言中除了main函数,其他函数不可作为单独文件形式存在2.下列变量名合法的是(c)A.2aB.a#C.t3D.int3.字符串常量“\t\name\\address\n”的长度为(b)A.19B.15C.18D.不合法4.设有语句inta=3;执行a+=a-=a*a;后,变量a的值是(d)A.3B.0C.9D.-125.若有定义chars[10]=include,*p=s;则不能代表字符u的表达式是cA.s[4]B.*(p+4)C.s+4D.p+=4,*p6.下面的条件语句中,只有一个在功能上与其他三个语句不等价(其中s1和s2表示某个C语句),这个不等价的语句是(d)A.if(a)s1;elses2;B.if(!a)s2;elses1;C.if(a!=0)s1;elses2;D.if(a==0)s1;elses2;7.以下程序段的输出结果是cmain(){inti=1,j=1,k=2;if((j++‖k++)&&i++)printf(%d,%d,%d\n,i,j,k);}A.1,1,2B.2,2,1C.2,2,2D.2,2,38.包含10个整型元素的数组a,以下正确定义并初始化的语句是(c)A.inta[10]=(0);B.inta[10]={};C.inta[10]={0};D.inta[]={10*1};9.下列对字符串的定义中,错误的是(a)A.charstr[7]=fortran;B.charstr[]=fortran;C.char*str=fortran;D.charstr[]={'f','o','r','t','r','a','n','\0'};10.设有语句intarray[3][4];则在下面几种引用下标为i和j的数组元素的方法中,不正确的引用方式是(D)A.array[i][j]B.*(*(array+i)+j)C.*(array[i]+j)D.*(array+i*4+j)曲阜师范大学计算机科学学院试题共7页第2页11.以下程序段的输出结果是(D)main(){intp[7]={11,13,14,15,16,17,18},i=0,k=0;while(i7&&p[i]%2){k=k+p[i];i++;}printf(%d\n,k);}A.58B.56C.45D.2412.设sizeof(int)=2,则不正确的int类型的常数是:AA.32768B.0C.037D.0xaf13.以下变量定义不正确的是(d)A.inta=3.4;B.floatf=3;C.charc='a';Dcharc=a14.设有intx=11;则表达式(x++%3)的值是aA.2B.3C.4D.015.以下程序段的输出结果是(D)voidf(intx,inty){intt;if(xy){t=x;x=y;y=t;}}main(){inta=4,b=3,c=5;f(a,b);f(a,c);f(b,c);printf(%d,%d,%d\n,a,b,c);}A.3,4,5B.5,3,4C.5,4,3D.4,3,516.以下叙述中正确的是bA.全局变量的作用域一定比局部变量的作用域范围大B.静态变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值17.设有如下说明,则以下选项中,能正确定义结构体数组并赋初值的语句是atypedefstruct{intn;charc;doublex;}STD;曲阜师范大学计算机科学学院试题共7页第3页A.STDtt[2]={{1,'A',62},{2,'B',75}};B.STDtt[2]={{1,A,62},{2,B,75}};C.structtt[2]={{1,'A'},{2,'B'}};D.structtt[2]={{1,A,62.5},{2,B,75.0}};18.有如下定义,下面各输入语句中错误的是bstructss{charname[10];intage;charsex;}std[3],*p=std;A.scanf(%d,&(*p).age);B.scanf(%s,&std.name);C.scanf(%c,&std[0].sex)D.scanf(%c,&(p-sex));19.以下操作能将文件的位置指针定位在fp所指向的文件开头的是(a)A.rewind(fp)B.fseek(fp,0,2)C.ftell(fp)D.ferror(fp);20.已知intn,i=1,j=2;执行语句n=ij?i++:j++;则i和j的值是dA.1,2B.1,3C.2,3D.2,2;二、填空题(10*1′=12分)1.C语言中,在进行逻辑判断时,以_【1】_表示逻辑真值。2.在定义数组时,数组名后的方括号里必须是__【2】_常量__。3.已知FILE*fp,以只读方式打开e:\filedata.txt的语句是:_【3】_fp=fopen(e:\\filedata.txt,r);_______4.变量a,b均正确定义,输入格式要求为scanf(a=%d,b=%d,&a,&b);,若要使得a=6,b=2,则程序运行时的输入是___a=6,b=2_【4】___5.在语句块内定义的变量称为____局部变量_【5】___6.字符数组charstr[]=china,数组str在内存中占__6_【6】__字节7.charstr[]=china,*p=str;printf(“%c\n”,(*p)++);输出结果是___c__【7】___8.已知a=1,b=2;if(a=3)b--;printf(“%d”,b);输出结果是__1_【8】_____9.已知能被4整除而不能被100整除的或者能被400整除的年份是闰年,则判断某一年是否是闰年的程序如下:#includestdio.hvoidmain(){intyear,flag;scanf(%d,&year);曲阜师范大学计算机科学学院试题共7页第4页if(year%4==0&&year%100!=0||year%400==0)flag=1;elseflag=0;if(flag(或flag==1)【9】)printf(%disaleapyear!\n,year);elseprintf(%disnotaleapyear!\n,year);}10.下面函数的功能是删除字符串s中所出现的与变量c相同的字符。请完善程序。voidSqueeze(chars[],charc){inti,j;for(i=j=0;s[i]!='\0'【10】或s[i];i++){if(s[i]!=c){s[j]=s[i];【11】j++;}}s[j]='\0';}11.以下for语句构成的循环执行了【12】次。#includestdio.h#defineN2#defineMN+1#defineNUM(M+1)*M/2main(){inti,n=0;for(i=1;i=NUM;i++){n++;printf(%d,n);}printf(\n);}三、读程序写结果(6*3′=18分)1.以下程序输出结果是__0123_____#includestdio.hvoidFunc(intb[]){intj;for(j=0;j4;j++)b[j]=j;}曲阜师范大学计算机科学学院试题共7页第5页voidmain(){inta[]={5,6,7,8},i;Func(a);for(i=0;i4;i++)printf(%d,a[i]);/*%d后面有一个空格*/}2.下面程序的输出结果为____**0****2**______voidmain(){inta=1,b=0;switch(a){case1:switch(b){case0:printf(“**0**”);break;case1:printf(“**1**”);break;}case2:printf(“**2**”);break;}}3.下面程序的输出结果是:5。voidmain(){inta[]={30,25,20,15,10,5},*p=a;p+=2;printf(%d\n,p[3]);}4.下面程序的输出结果是:____7______。voidmain(){charch[7]={78ab34};inti,s=0;for(i=0;ch[i]='0'&&ch[i]='9';i+=2)s=10*s+ch[i]-'0';printf(%d\n,s);}5.下面程序的输出结果是:6,13。intfunc(inta,intb){staticintm=0;staticinti=2;i+=m+1;m=i+a+b;曲阜师范大学计算机科学学院试题共7页第6页return(m);}voidmain(){intk=2,m=1,p;p=func(k,m);printf(%d,,p);p=func(k,m);printf(%d\n,p);}6.下面程序的输出结果是:______60________voidmain(){inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};int(*p)[4]=a,i,j,k=0;for(i=0;i3;i++)for(j=0;j2;j++)k=k+*(*(p+i)+j);printf(%d\n,k);}四、改错题(2*6′=12分)1.以下程序段的功能是求5!。程序中有3处错误,请指出错误的行数,并写出正确的代码。注意:不能更改原程序结构!(1)#includestdio.h(2)vidmain()(3){(4)inti;(5)longresult=0;改为longresult=1(6)for(i=1;i=5;i++);改为for(i=1;i=5;i++)(7)result*=i;(8)printf(result=%d\n,result);改为printf(result=%ld\n,result);(9)}2.从键盘输入10个整型数据,放入数组a中,求其最大值、最小值及其所在元素的下标位置并输出。程序中有3处错误,请指出错误的行数,并写出正确的代码。注意:不能更改原程序结构!(1)#includestdio.h(2)main()(3){(4)inta[10],n,max,min,maxPos,minPos;(5)(6)for(n=0;n10;n++)(7){(8)scanf(%d,a[n]);改为scanf(%d,&a[n]);(9)}曲阜师范大学计算机科学学院试题共7页第7页(10)max=min=a;改为max=min=a[0];(11)maxPos=minPos=0;(12)for(n=1;n10;n++)(13){(14)if(a[n]max)(15){(16)max=a[n];(17)maxPos=n;(18)}(19)else(a[n]min)改为elseif(a[n]min)(20){(21)min=a[n];(22)minPos=n;(23)}(24)}(25)printf(max=%d,pos=%d\n,max,maxPos);(26)printf(min=%d,pos=%d\n,min,minPos);(27)}五、编程题(共18分)1.从键盘输入圆的半径r,计算并输出圆的面积s。(4分)(要求:半径r定义为float型;圆周率定义为符号常量;面积s保留2位小数)2.利用泰勒级数!1!31!21!111ne,计算e的近似值。要求最后一项的绝对值小于10-5为止。(6分)3.以选择法排序写一个排序函数,函数名为sort,实现对含有n个

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功