资源描述:
《浙江理工大学09-10c语言期末试卷.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2010年09级C程序设计期末考试卷(A)[注意]所有答案写在单张的答题卷上。一、判断题(本题共10分,每小题1分,用T表示正确,用F表示错误。)(1)C语言的标识符由字母、数字和下划线组成,其中第一个字符必须是字母或下划线。(2)C语言中宏定义也是C语句,其末尾要加分号。(3)C源程序经过编译后就生成了可执行文件(以.exe为扩展名)。(4)C语言中的变量在使用前必须先定义,定义时要指定变量名和数据类型。(5)在C语言中,for语句只能用在已知循环次数的情况下。(6)如果定义了intarray[10],
2、其元素下标分别从1到10。(7)在函数中用关键字static声明的变量是静态局部变量,其生命周期持续到程序结束。(8)在C语言中,函数调用不会改变实参的值。(9)表达式strcmp(“100”,“99”)值是大于零的。(10)Struct是定义结构类型的关键字,struct和它后面的结构名一起组成一个新的数据类型。二、单选题(本题共20分,每小题2分)(11)以下叙述正确的是_______。[A]构成C程序的基本单位是函数[B]可以在一个函数中定义另一个函数[C]main函数必须放在其它函数之前[D]所有
3、被调用函数必须在调用之前进行定义(12)若定义x和y为double类型,则printf(“%.1f”,(x=1,y=x+3/2))的x结果是______。[A]1.0[B]1.5[C]2.0[D]2.5(13)能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是________。[A]a>=10ora<=0[B]a>=10
4、a<=0[C]a>=10&&a<=0[D]a>=10
5、
6、a<=0(14)在以下定义中,错误的是________。[A]inta[]={1,2}[B]chars[]=”hello”[
7、C]chars[10]={“test”}[D]intn=5,a[n](15)若有定义charx[]="abcde";chary[]={'a','b','c','d','e'};则。[A]x数组与y数组的长度相同[B]x数组长度大于y的长度[C]x数组长度小于y数组长度[D]x数组等价于y数组(16)当调用函数时,实参是一个数组名,则向函数传送的是。[A]数组的长度[B]数组的首地址[C]数组的每一个元素的地址[D]数组每个元素的值(17)以下有关switch语句的正确说法是________。[A]brea
8、k语句是语句中必须的一部分[B]在switch语句中的每一个case都要用break语句[C]break语句在switch语句中不可以使用[D]在switch语句中可以根据需要使用或不使用break语句(18)已知a=3;则a^2值是________。[A]1[B]6[C]9[D]2(19)如果k=0,a=1,b=2,c=3;执行k=a
9、;[B]p=a[5];[C]p=a+2;[D]p=a[2]+2;一、程序填空题(本题共30分,每小题2分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个最佳的答案。1【程序说明】输入一个整数n,打印出n层倒金字塔。(下图是n=3时的图案)*********【程序代码】#includemain(){intn,i,j;scanf("%d",&n);for(j=n;____(21)______;j--){for(i=0;___(22)___;i++)printf("");for
10、(i=0;____(23)____;i++)printf("*");_____(24)______;}}【选项】(21)[A]j>n[B]j=1[D]j<=n(22)[A]ij[D]i>=j(23)[A]in-j[C]i<2*j-1[D]i>2*j-1(24)[A]return0[B]continue[C]break[D]printf("")2.【程序说明】从键盘上任意输入一个字符串和字符,要求从该字符串中删除所有的该字符。【程序代码
11、】#include_____(25)_____voidmain(){chars[80],c;inti,j;gets(s);c=getchar();for(i=j=0;___(26)__;i++)if(___(27)__){s[j]=s[i];___(28)____;}s[j]=‘ ’;puts(s);}【选项】(25)[A]#include[B]#include[C]#d