C语言程序设计试卷及参考答案

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

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

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

资源描述

1《C语言程序设计》期末考试模拟试卷及参考答案(B)2012.6.5整理一、选择题(每题2分,共30分)1、#includestdio.h的结果是______voidmain(){inta[3][3]={1,2,3,4,5,6,7,8,9};ints=0,i;for(i=0;i3;i++)s+=(*(a+i))[i];printf(%d,s);}A.9B.12C.14D.15参考答案—D2、设有说明语句:chara='\123abc';则变量a__________A.包含7个字符B.包含6个字符C.包含5个字符D.包含4个字符参考答案—D3、有以下程序段intk=0while(k=1)k++;while循环执行的次数是_____A.无限次B.有语法错,不能执行C.一次也不执行D.执行1次参考答案—A4、在C语言中,_____。A.函数定义可以嵌套,但函数调用不能嵌套B.函数定义不可以嵌套,但函数调用可以嵌套C.函数定义和调用均不能嵌套D.函数定义和调用均可以嵌套参考答案—B5、以下叙述正确的是________2A)do-while语句构成的循环不能用其它语句构成的循环代替。B)do-while语句构成的循环只能用break语句退出。C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。D)用do-while语句构成的循环,在while后的表达式为零时结束循环。参考答案—D6、以下关于函数叙述中,正确的是。A.在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值B.在函数体中至少必须有一个return语句C.在函数体中可以定义另一个函数D.在函数体中可以调用函数自身参考答案—D7、以下数组声明语句中正确的是。A.inta,a[n];B.inta[];C.inta[2][3]={{1},{2},{3}};D.inta[][3]={{1},{2},{3}};参考答案—C8、以下不能正确进行字符串赋初值的语句是________A.charstr[5]=good!;B.charstr[]=good!;C.char*str=good!;D.charstr[5]={'g','o','o','d'};参考答案—A9、以下关于switch语句和break语句的描述中,只有______是正确的。A.在switch语句中必须使用break语句B.在switch语句中,可以根据需要使用或不使用break语句C.break语句只能用于switch语句中D.break语句是switch语句的一部分参考答案—B310、判断变量ch中的字符是否为数字字符,最简单的正确表达式是_______。A.ch=0&&ch=9B.’0’=ch=’9’C.ch=’0’||ch=’9’D.ch=’0’&&ch=’9’注意A和D的区别。参考答案—D11、若执行以下程序时从键盘上输入9,则输出结果是_______A.11B.10C.9D.8main(){intn;scanf(%d,&n);if(n++10)printf(%d\n,n);elseprintf(%d\n,n--);}参考答案—B12、若w=1,x=2,y=3,z=4;则条件表达式wx?w:yz?y:z的结果是_____A.4B.3C.2D.1参考答案—B13、以下程序的输出结果是_____main(){intx=023;printf(%d\n,--x);}A.18B.22C.23D.19参考答案—A414、下列4个函数中,________能实现交换变量值的功能。A.voidfun_a(intx,inty)B.voidfun_b(int*x,int*y){int*p;{int*p;*p=x;x=y;y=*p;*x=*y;*y=*x;}}C.voidfun_c(int*x,int*y)D.voidfun_d(intx,inty){*x=*x+*y;{intp;*y=*x-*y;p=x;x=y;y=p;*x=*x-*y;}}参考答案—A15、以下所列的各函数首部中,正确的是_____A.voidplay(var:integer,varb:integer)B.voidplay(inta,b)C.voidplay(inta,intb)D.Subplay(aasinteger,basinteger)参考答案—C二、填空题(每空1分,共10分)1、选择结构语句有_______、________两种语句。if语句、switch语句52、二维数组有两处_____,分别用一对_______号括起。下标、方括句3、数组指针是指_________。数组在内存的首地址4、在访问一个结构元素前,你必须定义________。结构变量5、链表是以结构类型表示链中元素,以______表示链的一种线性数据结构。指针三、程序填空题(每空4分,共20分)1、判断n是否是素数,若是,则返加1,否则返回0intprim(intn){intm;for(m=2;m=n/2;m++)if(1)_______return0;(2__________}参考答案(1)n%m==0;(2)return1;2、下述程序段是要实现在数组中查找最大元素和最小元素的下标,#includestdio.hvoidfind(int*a,intn,int*max,int*min){inti;*max=*min=0;for(i=1;in;i++)if(a[i]a[*max])(3);6elseif(a[i]a[*min])(4);return;}voidmain(){inta[]={5,8,7,6,2,7,3};intmax,min;find((5));printf(\nmax=%d,min=%d,max,min);}参考答案(3)*max=I(4)*min=I(5)a,7,&max,&min四、看程序写结果(每题3分,共15分)1、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是_________if(aB.if(cD.x=1;elseif(aC.if(bD.x=2;elsex=3;elsex=6;elsex=7;printf(“x=%d”,x);参考答案22、main(){inti=1,s=3;Do{s+=i++;If(s%7==0)continue;Else++i;}while(s15);Printf(“i=%d\n”,i);}7参考答案i=83、#includestdio.hintx1=30,x2=40;main(){intx3=10,x4=20;sub(x3,x4);sub(x2,x1);printf(“%d,%d,%d,%d\n”,x3,x4,x1,x2);}sub(intx,inty){x1=x;x=y;y=x1;}参考答案10,20,40,40五、编程题:(共2小题,共25分)1、编程打印如下的杨辉三角形(要求打印出10行):(15分)11211331146411510105116152015612、猴子吃桃问题,猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子。求第一天共摘多少桃子。(10分)参考答案汇总一、选择题1、D2、D3、A4、B5、D6、D7、C8、A9、B10、D11、B12、B13、A14、A15、C二、填空题81、if语句、switc语句2、下标、方括句3、数组在内存的首地址4、结构变量5、指针三、程序填空题1、(1)n%m==0;(2)return1;2、(3)*max=I(4)*min=I(5)a,7,&max,&min四、看程序写结果1、x=22、i=83、10,20,40,40五、编程题1、#defineN11Main(){inti,j,a[N[N];For(i=1;iN;i++){a[i][i]=1;a[i][1]=1;}For(i=3;iN;i++)For(j=2;j=i-1;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=1;i=N;i++){for(j=1;j=i;j++)Printf(“%6d”,a[i][j]);Printf(“\n”);}Printf(“\n”);}2、main(){intday,x1,x2;day=9;x2=1;while(day0){x1=(x2+1)*2;x2=x1;day--;}Printf(“total=%d\n”,x1);}

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

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

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

×
保存成功