南昌航空大学C语言期末考试试卷_第1页
南昌航空大学C语言期末考试试卷_第2页
南昌航空大学C语言期末考试试卷_第3页
南昌航空大学C语言期末考试试卷_第4页
南昌航空大学C语言期末考试试卷_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、评阅人得分一、单项选择题(每题3分,共30分,注意:答案写在后边的答题卡内,不然0分)1、如有定义:inta=8,b=5,c;履行语句c=a/b+0。4;后,c的值为()。A)1.4B)1C)2.0D)22、以下程序中,while循环的次数是()。includevoidmain(void)inti=0;while(i10)if(i1)continue;if(i=5)break;i+;A)1B)死循环,不可以确立次数C)6D)103、以下程序的输出结果是()。includestdio。hvoidmain(void)inta=0,i;for(i=1;i5;i+)switch(i)case0:cas

2、e3:a+=2;case1:case2:a+=3;default:a+=5;printf(“dn”,a);A)31B)13C)10D)204、以下程序的输出结果是()。includevoidmain(void)inta=5,b=4,c=6,d;printf(“dn,d=ab?(ac?a:c):b);A)5B)4C)6D)不确立5、履行以下程序后的输出结果是()includestdio。hvoidmain(void)chara=”abc0abc;printf(“s”,a);A)abc0abcB)abcC)abc0D)abc6、当调用函数时,实参是一个数组名,则向函数传递的是().A)数组的长度B

3、)数组的首地点C)数组每一个元素的地点D)数组每个元素中的值7、履行以下程序后,a的值为().第1页共21页int*p,a=10,b=1;p=&a;a=p+b;A)12B)编译犯错C)10D)118、以下正确的表达是()。在C语言中,main函数一定位于文件的开头C语言每行中只好写一条语句C语言自己没有输入、输出语句D)对一个C语言进行编译预办理时,可检查宏定义的语法错误9、以下程序的输出结果是()。voidmain(void)inta=4,b=5,c=0,d;d=!a&!b|!c;printf(“%dn”,d);A)1B)0C)非0的数D)110、履行以下程序段后,变量y的值是()。intx

4、,y;=1;=(+x5);A)5B)10C)15D)20单项选择题答题卡12345678BBACDBDC910AB评分标准:每题选对满分,选错0分。评阅人得分二、剖析结果题(20分)1、(9分)includestdio。hvoidf(intc)inta=0;staticintb=0;a+;b+;printf(d:n”,c,a,b);voidmain(void)inti;for(i=1;i=3;i+)f(i);运转结果为:1:a=1,b=1第2页共21页2:a=1,b=23:a=1,b=32、(11分)includestdio。hvoidmain(void)intnum,c;num=2004;d

5、oc=num10;printf(”%d,c);while(num/=10)0);printf(n”);运转结果为:4002评阅人得分三、程序填空题(每空4分,共20分)1、求1!+2!+3!+。.。+10!#includevoidmain(void)floats=0,t=1;intn;for(n=1;n=10;n+)t=t*n;ss+t;printf(“1!+2!+3!+.。+10!=f”,s);2、以下函数的功能是,把两个整数指针所指的储存单元中的内容进行互换。voidexchange(int*x,inty)intt;t=*y;*y=*x;x=t;评阅人得分四、程序设计题(30分)(1)su

6、m=2+5+8+11+14-,输入正整数n,求sum的前n项和.(10分)voidmain()第3页共21页intn,i,t,sum=0;/1分scanf(d,&n);/1分t=2;/1分for(i=1;i=n;i+)/2分sum=sum+t;/2分t=t+3;/2分printf(”sum=d”,sum);/1分(2)今有100块砖,需100人来搬,男搬4,女搬3,两个儿童搬一砖。问男、女、儿童各几何?(8分)includestdio。h”voidmain()intman,woman,child;/1分for(man=0;man=100;man+)/1分for(woman=0;woman=10

7、0;woman+)/1分for(child=0;child=100;child+)/1分if(8man+6*woman+child=200&man+woman+child=100)/2分printf(”ddn”,man,woman,child);/2分(3)求一个矩阵外头元素之和.(12分)includestdio.hdefineN4#defineM5doublematrix_sum(doublematrixM)doublesum=0;intk;for(k=0;kN;k+)sum=sum+matrixk0;sum=sum+matrixkM1;/3分for(k=1;kM-1;k+)sum=sum

8、+matrix0k;sum=sum+matrixN-1k;/3分returnsum;/1分voidmain()inti,j;doublematrix_sourceNM;doublet;doubleresult;for(i=0;iN;i+)第4页共21页for(j=0;jb)&(n=cd)运算后,n的值为()A0B1C2D34、t为int种类,进入下边的循环以前,t的值为0while(t=l)则以下表达中正确的选项是()A循环控制表达式的值为0B循环控制表达式的值为1C循环控制表达式不合法D以上说法都不对5、设inti=4,j=8,k;则表达式k=(i+,+i,j+)的值为()A4B8C9D10

9、6、有宏定义defineMULT1(a,b)a*b#defineMULT2(a,b)(a)*(b)宏引用Y=MULT1(3+2,5+8);Z=MULT2(3+2,5+8)后,则Y和Z的值是()。AY=65,Z=65BY=21,Z=65CY=65,Z=21DY=21,Z=217、若定义a为int型变量,则对指针变量p的正确初始化是()。Aintp=a;Bintp=a;Cintp=&a;Dintp=&a;8、以下程序的输出结果是()main()inta=3;printf(n”,(a+a-=aa));A-6B12C0D-129、在一个源文件中定义的全局变量的作用域为()。A本文件的所有范围B本程序的

10、所有范围第5页共21页C本函数的所有范围D从定义该变量的地点开始至本文件结束10、设有intI;I=7/2;printf(“%d”,I);则履行结果为()A3。5B3.50C3D3.011、在C语言中,合法的长整型常数是()A0LB4962710C324562D216D12、以下选项中合法的字符常量是()ABB010C68DD13、假设x和y为double型,则表达式x=2,y=x+3/2的值是()A3。500000B3C2。000000D3.00000014、设x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是()printf(”d,n”,x,-y);A10,3B9,3C9,2D

11、10,215、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()AINPUTx、y、z;Bscanf(”d%d%d,&x,y,z);Cscanf(%d%d%d,x,y,z);Dread(ddd,&x,y,&z);单项选择题答题卡12345678CCCBBBDDDCABDDB评分标准:选对得满分,不然0分.评阅人得分二、剖析结果题(23分)1、(6分)includestdio“。hvoidmain()intI=6,x,y;x=I+;y=+I;printf(“d,d,x,y);运转结果为:6,8评分标准:写对一个数字得3分,全写对得6分。2、(5分)#include

12、stdio“。h”voidmain()inta33=1,2,3,4,5,6,7,8,9;printf(“%d”,*(a1+2);运转结果为:6评分标准:写对得5分,不然0分。3、(6分)第6页共21页#includestdio“。h”voidsub(ints,intt)intw;w=s;s=t;t=w;voidmain()inta,b;a=100;b=200;sub(a,b);printf(“d,%d”,a,b);运转结果为:100,200评分标准:写对一个数字得3分,全写对得6分。4、(6分)include“stdio.h”voidmain()intn;for(n=1;n=20;n+)if(

13、n3!=0)continue;printf(“%3d,n);运转结果为:369121518评分标准:写对一个数字得1分,全写对得6分。三、程序填空题(每空2分,共16分)1本程序能实现将若干个数按逆序寄存,而后输出,请在横线上填写正确内容达成程序.比如:原次序为6,8,4,5,1逆序后为1,5,4,8,6defineN5voidmain()inti,t;staticintaN=6,8,4,5,1;for(i=0;iN/2;i+)t=ai;ai=aN-1-i;printf(“n);aN1-i=t;for(i=0;iN;i+)printf(“4d”,ai);评分标准:写对一个空得2分,全写对得8分

14、。2以下程序实现:输入三个整数,按从大到小的次序输出,请在横线上填写正确内容达成程序。voidmain()intx,y,z,c;scanf(“%d%dd,&x,&y,z);if(yz)第7页共21页c=y;y=z;z=c;if(xz)c=x;x=z;z=c;if(xy)c=x;x=y;y=c;printf(“d,d,d”,x,y,z);评分标准:写对一个空得2分,全写对得8分。四、程序设计题(31分)1假如某个3位数的各位数字的立方之和等于该数自己,则这个3位数就是一个“水仙花”数,如153=13+33+53。编程打印所有的“水仙花”数。(10分)include”stdio。hvoidmain

15、()intge,shi,bai,x;/1分for(ge=0;ge=9;ge+)/1分for(shi=0;shi=9;shi+)/1分for(bai=1;bai*max)/1分*max=(s+i);if(*(s+i)min)/1分第8页共21页min=(s+i);ave=ave+*(s+i);/1分ave=ave/len;/1分returnave;/1分voidmain()floatscore10,max,min,average;inti;printf(”Pleasethescoreofstudent”);for(i=0;i10;i+)scanf(f”,scorei);/1分average=Ca

16、lculateScore(score,10,&max,min);/2分printf(max=f,min=f,average=n”,max,min,average);/1分一、单项选择题(152分)1、如有定义:inta=8,b=5,c;履行语句c=a/b+0。4;后,c的值为(B)。A)1。4B)1C)2.0D)22、以下程序中,while循环的次数是(B)。includevoidmain(void)inti=0;while(i10)if(i1)continue;if(i=5)break;i+;A)1B)死循环,不可以确立次数C)6D)103、以下程序的输出结果是(A)。#includestd

17、io。hvoidmain(void)inta=0,i;for(i=1;i5;i+)switch(i)case0:case3:a+=2;case1:case2:a+=3;default:a+=5;printf(“%dn”,a);A)31B)13C)10D)204、履行以下程序段后的输出结果是(C)。intx=5;intm,n;第9页共21页n=(+x)+(+x);m=(x-)+(x-);printf(“ddn,m,n);A)1410B)1313C)1414D)14125、以下程序的输出结果是(c)。includestdio。hvoidmain(void)inta=5,b=4,c=6,d;prin

18、tf(“dn”,d=ab?(ac?a:c):b);A)5B)4C)6D)不确立6、履行以下程序后的输出结果是(D)includestdio.hvoidmain(void)chara=”abc0abc;printf(“s,a);A)abc0abcB)abcC)abc0D)abc7、当调用函数时,实参是一个数组名,则向函数传递的是(B)。A)数组的长度B)数组的首地点C)数组每一个元素的地点D)数组每个元素中的值8、履行以下程序后,a的值为(D).int*p,a=10,b=1;p=&a;a=p+b;A)12B)编译犯错C)10D)119、以下正确的表达是(C)。在C语言中,main函数一定位于文件

19、的开头C语言每行中只好写一条语句C)C语言自己没有输入、输出语句D)对一个C语言进行编译预办理时,可检查宏定义的语法错误10、下边正确的表记符是(A)A)a2b3B)intC)intabcD)2a3b11、以下程序的输出结果是(A)。voidmain(void)inta=4,b=5,c=0,d;d=!a&!b|!c;printf(“dn”,d);A)1B)0C)非0的数D)112、履行以下程序段后,变量y的值是(B).intx,y;=1;=(+x*5);A)5B)10C)15D)2013、若已定义:inta9,p=a;并在此后的语句中未改变p的值,则不可以表示a1地点的表达式是(C)。A)p+

20、1B)a+1C)a+D)+p14、函数调用strcat(strcpy(str1,str2),str3)的功能是(c)。第10页共21页A)将串str1复制到串str2中后再连结到串str3以后B)将串str1连结到串str2以后再复制到串str3以后C)将串str2复制到串str1中后再将串str3连结到串str1以后将串str2连结到串str1以后再将串str1复制到串str3中15、在以下选项中,不正确的赋值语句是(D)。A)+t;B)n1=(n2=(n3=0));C)k=i=j;D)a=b+c=1;二、程序填空(16分)1、求1!+2!+3!+.。+10!includestdio.hvo

21、idmain(void)floats=0,t=1;intn;for(n=1;n=10;n+)t=tn;ss+t;printf(“1!+2!+3!+.。+10!=%f,s);2、以下程序是用来统计从键盘输入的一个正整数中各位数字中零的个数,并求各位数字中最大者。比如:1080其零的个数是2,各位数字中最大者是8。includestdio.hvoidmain(void)unsignedlongnum,max,t;intcount;count=max=0;scanf(%ld”,&num);dot=num10;if(t=0)+count;elseif(maxt)max=t;num/=10;while(

22、num);printf(”count=d,n”,count,max);3、下边程序的功能是:输出100之内能被3整除且个位数字为6的所有整数。includestdio。hvoidmain(void)inti,j;for(i=0;i10;i+)j=i10+6;if(j3!=0)continue;printf(”%d”,j);第11页共21页4、以下函数的功能是,把两个整数指针所指的储存单元中的内容进行互换。voidexchange(intx,int*y)intt;t=*y;*y=x;*x=t;三、阅读程序,写出程序的输出结果(24分)1、include”stdio。hvoidmain()inti

23、,j;for(i=0;i4;i+)for(j=0;ji;j+)printf(”);for(j=0;j4+i;j+)printf(”*”);printf(”n”);*2、includestdio.hvoidf(intc)inta=0;staticintb=0;a+;b+;printf(d:a=d,b=%dn,c,a,b);voidmain(void)inti;for(i=1;i=3;i+)f(i);1:a=1,b=12:a=1,b=23:a=1,b=33、includestdio.hvoidmain(void)intnum,c;第12页共21页num=2004;doc=num%10;printf

24、(”d”,c);while((num/=10)0);printf(”n);4002五、编程(30分)(1)sum=2+5+8+11+14-,输入正整数n,求sum的前n项和.voidmain()intn,i,t,sum=0;scanf(d”,n);t=2;for(i=1;i=n;i+)sum=sum+t;t=t+3;printf(sum=d”,sum);(2)编程实现函数voidstrcopy(char*dest_str,char*sour_str);要求该函数实现将sour_str中的内容拷贝到dest_str。(不准直接调用其余函数来实现,不然0分办理)voidstrcopy(char*d

25、est_str,char*sour_str)inti=0;while(sour_stri)dest_stri=sour_stri;i+;dest_stri=0;(3)求一个矩阵外头元素之和.includedefineN4defineM5doublematrix_sum(doublematrixM)doublesum=0;intk;for(k=0;kN;k+)sum=sum+matrixk0;sum=sum+matrixkM-1;for(k=1;kM1;k+)sum=sum+matrix0k;sum=sum+matrixN-1k;第13页共21页returnsum;voidmain()inti,

26、j;doublematrix_sourceNM;doublet;doubleresult;for(i=0;iN;i+)for(j=0;jvoidmain()inti=0;while(ib)x+;11、设有:inta4=2,3,4,i;则履行完i=a1+a2;后,i的值为()。(2分)A5B7C2D412、以下正确的表达是()。(2分)A在C程序中,语句之间一定要用分号“;”分开B若a是实型变量,C程序中同意赋值a=10,所以实型变量中同意寄存整型C在C程序中,不论是整数仍是实数,都能正确无误地表示D在C程序中,“/”是只好用于整数运算的运算符13、设有:inta=2,b=4,c=3,d=4,m

27、=4,n=3;履行(m=ab)&(n=cd)后,n的值为().(2分)A1B4C3D014、在以下运算符中,优先级最低的是()。(2分)AB=C|D=15、以下选项中,与k=+n完整等价的表达式是()。(2分)Ak=n;n=n+1;Bn=n+1;k=n;Ck=+n;Dk+=n+1;16、以下选项中合法的字符常量是()。(2分)A“B”B68CDDD17、函数调用strcat(str1,str2)的功能是()。(2分)A将串str1连结到串str2以后B将串str2连结到串str1以后C将串str2复制到串str1中D将串str1和串str2进行比较18、以下选项中,不合法的赋值语句是()。(2

28、分)Aa+=3;Bk=3;Ca=b=c=0;Da=34=2*1;19、以下选项中,合法的长整型常数是()。(2分)A0LB65534C32756D453D20、在一个源文件中定义的全局变量的作用域为()。(2分)A根源文件的所有范围B本函数的所有范围C从定义该变量的地点开始至根源文件结束D本程序的所有范围评阅人得分二、填空题(共40分)1、本程序功能是求解1357911,请在横线上填写正确内容达成程序.(6分)#includestdio。h第15页共21页voidmain()inti,t;t=1;i=3;(3分)t=ti;(3分)printf(“%d);”,t2、本程序功能是求a,b二个数中的

29、较大者,请在横线上填写正确内容达成程序。(6分)#includestdio。hvoidmain()inta,b,max;scanf(“%d,%d”;&a,&b);if(3分)(3分)elsemax=b;printf(“max=%d“;max);3、本程序功能是求一分数序列:2/1,3/2,5/3,8/5前10项之和。请在横线上填写正确内容达成程序。(9分)#includestdio.hvoidmain()inti,t;floata=2,b=1,s=0;for(i=1;i+)(3分)(3分)t=a;(3分)b=t;printf(“sum=f”,s);4、本程序功能是输入十个整数,并统计大于0、等

30、于0、小于0的个数.请在横线上填写正确内容达成程序。9分)includestdio.hvoidmain()inta10,j,m=0,n=0,k=0;for(;j10;j+)(3分)(3分)printf(“n”);第16页共21页for(j=0;;j+)(3分)if(aj0)m=m+1;if(aj=0)n=n+1;if(aj0)k=k+1;printf(“m=d,n=d,k=%d,m,n,k);5、剖析本程序,并在横线上填入程序的输出。(5分)#includevoidmain()chara,b;a=a;b=b;a=a32;b=b32;printf(”%ccn,a,b);输出:(5分)6、剖析本程

31、序,并在横线上填入程序的输出。(5分)#include“stdio.h”voidmain()intn;for(n=1;n=20;n+)if(n%3!=0)continue;printf(“dt”,n);输出:(5分)评阅人得分三、编程题(共20分)1、编写程序判断m能否为素数,m值由用户输入。(10分)2、编写程序用函数递归方法求n!.(10分)评阅人得分四、单项选择题(每题2分,共30分)有以下程序有以下程序main()intx8=8,7,6,5,0,0,s;s=x+3;printf(%dn,s2);第17页共21页履行后输出结果是(B)A)随机值B)0C)5D)62以下表达中正确的选项是(

32、B)全局变量的作用域必定比局部变量的作用域范围大B)静态(static)类型变量的生计期贯串于整个程序的运转时期C)函数的形参都属于全局变量D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值设有以下定义structsscharname10;intage;charsex;std3,p=std;下边各输入语句中错误的选项是(B)A)scanf(%d”,&(*p)。age);B)scanf(”s”,&);C)scanf(c,std0.sex);D)scanf(”c,(p-sex);4以下表达中正确的选项是(A)A)C程序中说明部分能够出此刻程序中随意适合的地方B

33、)花括号”和”只好作为函数体的定界符C)组成C程序的基本单位是函数,所有函数名都能够由用户命名D)分号是C语句之间的分开符,不是语句的一部分5以下选项中可作为C语言合法整数的是(C)A)10110BB)0386C)0XffaD)x2a26以下不可以定义为用户表记符的是(D)A)scanfB)VoidC)_3com_D)int7以下选项中非法的表达式是(D)A)0=x100B)i=j=0C)(char)(65+3)D)x+1=x+18有定义语句:intx,y;,若要经过scanf(%d,%d”,&x,&y);语句使变量x获得数值11,变量y获得数值12,下边四组输入形式中,错误的选项是(A)A)

34、1112B)11,12回车C)11,12回车D)11,回车9设有以下程序段:intx=2002,y=2003;printf(”dn”,(x,y);则以下表达中正确的选项是(D)A)输出语句中格式说明符的个数少于输出项的个数,不可以正确输出B)运转时产生犯错信息输出值为2002D)输出值为200310若已定义的函数有返回值,则以下对于该函数调用的表达中错误的选项是(D)A)函数调用能够作为独立的语句存在B)函数调用能够作为一个函数的实参C)函数调用能够出此刻表达式中D)函数调用能够作为一个函数的形参11有以下函数定义:voidfun(intn,doublex)若以下选项中的变量都已正确立义并赋值

35、,则对函数fun的正确调用语句是(C)A)fun(inty,doublem);B)k=fun(10,12.5);C)fun(x,n);D)voidfun(n,x);12以下不可以正确立义二维数组的选项是(D)A)inta22=1,2;B)inta2=1,2,3,4;C)inta22=1,2,3;D)inta2=1,2,3,4;13inta=1,2,3,4,5,6,7,8,9,10,*p=a,i=2;数组元素地点的正确表示(D)A)&(a+1)B)a+C)&pD)pi14inta34,*p;则下边哪一个指针变量的用法与其余三个不一样(D)A)p=a;B)p=a00;C)p=(int)a;D)p=

36、a;15有宏定义defineMULT1(a,b)a*b#defineMULT2(a,b)(a)*(b)第18页共21页宏引用Y=MULT1(3+2,5+8);Z=MULT2(3+2,5+8)后,则Y和Z的值是(B).A)Y=65,Z=65B)Y=21,Z=65C)Y=65,Z=21D)Y=21,Z=21评阅人得分二、剖析结果题(20分)1、(5分)includestdio“.h”voidmain()intI=6,x,y;x=I+;y=+I;printf(“%d,%d”,x,y);68运转结果为:,评分标准:写对一个数字得2.5分,全写对得5分。2、(5分)includestdio“.h”voi

37、dmain()inta33=1,2,3,4,5,6,7,8,9;printf(“%d”,(a1+2);运转结果为:6评分标准:写对得5分,不然0分。3、(5分)includestdio“。h”voidsub(ints,intt)intw;w=s;s=t;t=w;voidmain()inta,b;a=100;b=200;sub(a,b);printf(“%d,%d”,a,b);运转结果为:100,200评分标准:写对一个数字得2。5分,全写对得5分。4、(5分)#includestdio.hvoidswap(int*r,int*s)intt;t=r;r=*s;s=t;main()inta=1,b=2,p,q;p=a;q=&b;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论