您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 电气安装工程 > 贵州大学2009C语言试卷
贵州大学2009-2010学年第一学期考试试卷AC语言程序设计满分100分,考试时间为120分钟。一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,每小题2分,共20分)1.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为()A.连接、编译B.连接、运行C.编译、运行D.编译、连接2.下列说法正确的是()A.一个c语言程序并非总是从主函数位置开始执行的B.一个c语言程序有且只有一个主函数C.函数可以嵌套定义,不可以嵌套调用D.程序函数的位置不可以任意3.下面是合法C语言标识符的是()A.2A_K;B._M+N;C.–M3;D.AC_2;4.下列格式符中,可以用于控制字符输出的是()A.%dB.%fC.%oD.%c5.设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=30)后,x的值是()A.4;B.16;C.30;D.50;6.执行语句“for(i=1,s=0;i=5;i++)s+=i;”后,变量s、i的当前值是()A.10,5B.15,6C.15,5D.10,67.若有定义intx,*p;,则以下正确的赋值表达式是()A.p=x;B.p=&x;C.*p=&x;D.*p=*x;8.以下对结构体类型变量的定义中,不正确的是()A.typedefstructaaB.#defineAAstructaa{intn;AA{intn;floatm;floatm;}AA;}stud;AAstud;C.structD.struct{intn;{intn;floatm;floatm;}aa;}stud;structaastud;9.有如下函数调用语句:func(rec1,rec2+rec3,(rec4+rec5));函数调用语句中,含有的实参个数是()A.3B.4C.5D.以上均不是10.对于以下宏定义:#defineSQ(x)x*x#defineQQ(x,y)SQ(x)-SQ(y)宏调用QQ(2*3,2+3)执行后值为()A.25B.11C.43D.以上均不是二、填空题(每空2分,共20分)1.设inta=5,c=32;floatb=2.5;,表达式b+c/a的值为______。2.若x和a均是int型变量,则计算x=(a=4,6*2)后x的值是__。3.设a=3,b=4,c=5。则a+bc&&b==c的值为___。4.有如下程序段:intk=10;while(k=0)k=k-1;则循环体语句执行___次。5.inti=0,s=0;while(in)s+=i++;等价于inti,s;for(______;________;________);6.将p说明为字符数组指针,数组大小为10,应写为______________;7.对于int*p,*q,i=5,j=6;,执行:p=&i;q=p;p=&j;输出结果(*p)=_______,(*q)=________。三、程序阅读题(请写出程序的输出结果。每题6分,共30分)1.#includestdio.hmain(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf(″%d,%d,%d,%d″,i,j,m,n);}输出结果:2..#includestdio.hmain(){inti;for(i=3;i10;i++){if(i*i/201)break;printf(%d;,i);}printf(\n);}输出结果:3.#includestdio.hintfac(intn){staticintf=1;f=f*n;return(f);}main(){inti;for(i=2;i=5;i++)printf(“%d!=%d\n”,i,fac(i));}输出结果:4.#includestdio.hmain(){chars[]=“ABCD”,*p;for(p=s+1;*p!=’\0’;p++)printf(“%s\n”,p);}该程序的输出结果是:5.#includestdio.hintf(char*s){intk=0;while(*s)k=k*10+*s++-‘0’;return(k);}main(){inta;a=f(“1234”);printf(“a=%d\n”,a);}该程序的输出结果是:四、根据下列各编程题题意填空(每空2分,共10分)1、用for循环打印147101316192225,其语句应为:for(i=1;i=9;i++)printf(“%3d”,___);2、程序A如下:intf(intn){if(n=1)returnn;elsereturnf(n-1)+f(n-2);}等价于程序B:intf(intn){_____;t0=0;t1=1;t=n;while(_____){t=______;t0=t1;t1=t;n--;}return______;}五、编程题(第1题8分,第2题12分,共20分)1.求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…,的前20项之和。2.输入5个字符串,从中找出最大的字符串并输出。要求:用二维字符数组存放这5个字符串,用指针数组元素分别指向这5个字符串,用一个二级指针变量指向这个指针数组。贵州大学2009-2010学年第一学期考试试卷AC语言程序设计答案一、单项选择题(每小题2分,共20分)1-5、DBDDC6-10、BBCAC二、填空题(每空2分,共20分)1.8.52.123.04.05.i=0,s=0;in;s+=i++6.char(*p)[10]7.6,5三、程序阅读题(每题6分,共30分)19,11,9,102.3;4;5;6;3.2!=23!=64!=245!=1204BCDCDD51234四、根据下列各编程题题意填空(每空2分,共10分)1.3*i-22.intt0,t1,tn=2t0+t1t五、编程题(第1题8分,第2题12分,共20分)1.#includestdio.hmain(){intn,t;floata=2,b=1,s=0;for(n=1;n=20;n++){s=s+a/b;t=a;a+=b;b=t;}printf(“thetotalis%f\n”,s);}2.#includestdio.hmain(){chara[5][80],*p[5],**q,**max;inti;for(i=0;i5;i++)p[i]=a[i];for(i=0;i5;i++)gets(p[i]);max=&p[0];q=&p[1];for(i=1;i5;i++,q++)if(strcmp(*max,*q)0max=q;puts(*max);}
本文标题:贵州大学2009C语言试卷
链接地址:https://www.777doc.com/doc-5828381 .html