您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 湖北师范学院2010期末C语言试卷
剑飞出品必属精品1/9卷号:(A)绝密(2010年/12月)湖北师范学院考试试卷(闭卷)高级语言程序设计试卷(全院2010级理科)班级姓名学号题目一二三四五六七八九十总分题分204040100得分(一)项选择题【20题,每题1分,共20分】1.设intx=1,y=1;表达式(!x||y--)的值是A)0B)1C)2D)-12.在C语言中,函数的隐含存储类别是A)无存储类别B)staticC)externD)auto3.为表示关系x≤y≤z,正确的C语言表达式是__________。A)(x=y)&&(y=z)B)(x=y)AND(y=z)C)(x=y=z)D)(x=y)&(y=z)4.设有intx=11;则表达式(x++*1/3)的值是A)3B)4C)11D)125.若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是A)read(a,b,c);B)scanf(“%d%d%d”,a,b,c);C)scanf(“%D%D%D”,&a,&b,&c);D)scanf(“%d%d%d”,&a,&b,&c);6.有如下程序main(){inty=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}运行该程序的输出结果是。A)34B)42C)43D)337.设intc=5和inta,a=2+(c+=c++,c+8,++c),则a=__________。A)15B)14C)13D)168.当调用函数时,实参是一个数组名,则向函数传送的是。阅卷人剑飞出品必属精品2/9A)数组的长度B)数组的首地址C)数组每一个元素的地址D)数组每个元素中的值9.以下程序的输出结果是。main(){inti,k,a[10],p[3];k=5;for(i=0;i10;i++)a[i]=i;for(i=0;i3;i++)p[i]=a[i*(i+1)];for(i=0;i3;i++)k+=p[i]*2;printf(%d\n,k);}A)20B)21C)22D)2310.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为__________A)a0B)!aC)a=0D)a11.在以下运算符中,优先级最高的运算符是__________A)?:B)++C)&&D)+=12.有如下程序段int*p,a=10,b=1p=&a;a=*p+b;执行该程序段后,a的值为A)12B)11C)10D)编译出错13.以下程序的输出结果是main(){inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i3;i++)for(j=0;j=i;j++)s+=a[i][j];printf(%d\n,s);}A)18B)19C)20D)2114.在C语言的if语句中,用作判断的表达式为__________A)关系表达式B)逻辑表达式C)算术表达式D)任意表达式15.下列程序的运行结果是voidfun(int*a,int*b){int*k;k=a;a=b;b=k;}main(){inta=3,b=6,*x=&a,*y=&b;fun(x,y);printf(%d%d,a,b);}A)63B)36C)编译出错D)00剑飞出品必属精品3/916.假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROGABCDEFGHIJKL回车,则输出结果为A)ABCDEFGB)IJHLC)ABCDEFGHIJKLD)IJKLABCDEFGHmain(intargc,char*argv[])){while(--argc0)printf(%s,argv[argc]);printf(\n);}17.以下程序的输出结果是。longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main(){printf(%ld\n,fun(3));}A)1B)2C)3D)418.定义如下变量:intn=10;则下列循环的输出结果是。while(n7){n--;printf(“%d\n”,n);}A)10B)9C)10D)9989887877619.若已定义:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是。A)a[p-a]B)*(&a[i])C)p[i]D)a[10]20.若k为整型,以下while循环__________次。intk=10;while(k=0)k=k-1;A)10次B)无限循环C)一次不执行D)执行一次剑飞出品必属精品4/9(二)程序填空题【20空,每空2分,共40分】1.以下程序可判断输入的一个整数是否能被3或7整除,若能整除,输出“yes”,否则输出“no”。请填空。#includestdio.hmain(){intk;printf(“Enteraintnumber:”);scanf(“%d”,&k);if________________printf(“yes\n”);elseprintf(“___________”);}2.假设已有#defineM(r)r*r,则调用print(“%d”,M(2+3));将显示。3.以下程序调用findmax函数求数组中值最大的元素在数组中的下标,完成下列程序。#includestdio.hfindmax(s,t,k)int*s,t,*k;{intp;for(p=0,*k=p;pt;p++)if(s[p]s[*k]);}main(){inta[10],i,k;for(i=0;i=10;i++)scanf(“%d”,&a[i]);findmax(a,10,&k);printf(“%d,%d\n”,k,a[k]);}4.以上程序用枚举法求百鸡问题。公鸡五元一只,母鸡三元一只,小鸡一元三只;一百元要买一百只鸡,且需包含公鸡,母鸡和小鸡,求可有哪几种方案。请填空,要求以较高效率和合理的数值填入循环终值。main(){inti,j,k,n;n=0;for(i=1;___________;i++)for(j=1;____________;j++){k=100-i-j;if(______________==100){n++;printf(“n=%d,cock=%d,hen=%d,chick=%d\n”,n,i,j,k)}}}5.下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。剑飞出品必属精品5/9#includemain(){inti,j;for(i=0;;i++){j=i*10+6;if()continue;printf(%d,j);}}6.以下程序的运行结果是。#includemain(){intk=4,m=1,p;p=func(k,m);printf(%d,,p);p=func(k,m);printf(%d\n,p);}func(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;returnm;}7.若有定义:inta=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是。c=(a-=(b-5));c=(a%11)+(b=3);8.以下程序用“辗转相除法”来求出两个正整数的最大公约数。请填空。(两个数分别放在m和n中)main(){intr,m,n,t;printf(“Enterm,n:”);scanf(“%d%d”,&m,&n);printf(“m=%dn=%d\n”,m,n);if(mn)t=m,m=n,n=t;r=m%n;while________{m=__________;n=____________;r=m%n;}剑飞出品必属精品6/9printf(“%d\n”,n);}9.表示“整数x的绝对值大于5”的C语言表达式是。10.以下程序将数组中的数按逆序存放,请填空。#includestdio.h#defineSIZE12main(){inta[SIZE],i,j,t;for(i=0;iSIZE;i++)scanf(“%d”,);/*读入数据到a数组中*/i=0;j=;while(ij){t=a[i];;;i++;j;}for(i=0;iSIZE;i++)printf(“%3d”,a[i]);printf(“\n”);}(三)编程题【4题,每题10分,共40分】1.C语言标题文件math.h中提供了求绝对值的函数fabs(x),其功能是:xx≥0fabs(x)=-xx0请你编一个程序,实现求整数的绝对值的功能。2.请编写程序输出以下图形。*************************3.(此题不用做,我们考试不会考!)编写程序实现冒泡法排序的算法,其N-S图如下:输入10个数给数组a[10]forj=1to9fori=1to10-ja[i]a[i+1]YNa[i]=a[i+1]输出a[1]到a[10]剑飞出品必属精品7/94.(此题不用做,我们考试不会考!)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。其N-S图如下:试卷A标准答案(一)单项选择题【20题,每题1分,共20分】(1)A(2)D(3)A(4)A(5)D(6)D(7)B(8)B(9)B(10)D(11)B(12)B(13)A(14)D(15)A(16)C(17)A(18)B(19)D(20)C(二)填空题【20空,每空2分,共40分】(1)(k%3==0||k%7==0)no\n(2)11(3)*k=p(4)I20j33I*5+j*3+k/3==100(5)I10j%3!=0(6)7,14(7)3(8)(r=0)nr(9)fab(x)5(10)aSIZEA[j]=a[i]A[I]=t--(三)程序设计【4题,每题10分,共40分】1.intmyfabs(intx){if(x0)x=-x;returnx;}2.#defineS‘’main(){intn,I,jprintf(“Entern:”);scanf(“%d”,&n);/*n=4*/输入一个字符串给stringi=0i=i+1输出:num当((c=string[i])≠‘\0’)C=空格ynWord=0Word=0ynWord=1num=num+1剑飞出品必属精品8/9for(I=1;I=n;I++){for(j=1;j=10;j++)putchar(S);for(j=1;j=2(n-I);j++)putchar(S);for(j=1;j=2*I-1;j++)putchar(‘*’);printf(“\n”);}for(I=1;I=n-1;I++){for(j=1;j=10+2*i;j++)putchar(S);for(j=1;j=2*n-3;j++)putchar(‘*’);printf(“\n”);}}3.main(){inta[11];inti,j,t;printf(“input10numbers:\n”);for(i=1;i11;i++)scanf(“%d”,a[i]);printf(“\n”);for(j=1;j=9;j++)for(i=1;i=10-j;i++)if(a[i]a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}for(i=1;i11;i++)printf(“%d”,a[i]);}4.#include“stdio.h”main(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;(c=string[i])!=’\0’;i++)if(c==’’)word=0;elseif(word==0){word=1;num++;}printf(“Thereare%dwordsinthisline\n”,num);剑飞出品必属精品9/9
本文标题:湖北师范学院2010期末C语言试卷
链接地址:https://www.777doc.com/doc-2288771 .html