第页共4页1杭州电子科技大学学生考试卷(A)卷说明:请将全部答案都书写在最后页答题纸上,否则答题无效。试题一、判断题,正确打钩,错误打叉(共10分)1.定义一个数组后,其每个元素的类型是相同的。2.在循环体中可以再嵌套循环。3.用C语言编写的源程序须经过编译连接后,生成扩展名为.exe的可执行文件,才能运行。4.如果变量p是一个指针变量,则它只能存储地址。5.在函数体内定义的变量称全局变量,可以被程序中的所有函数引用。6.一维数组的数组名是一个地址常量,表示第一个元素的地址。7.在scanf函数中的格式符%d可以能用于输入实型数据。8.任何变量在定义时,必须要定义其类型。9.在函数定义时,必须有参数和返回值。10.表达式3/2*5.2与表达式5.2*3/2等价,即两个表达式的值相等。试题二、单选题,根据题目从A、B、C、D中选择一个正确的选项(共10分)1.下面哪一个不是正确的用户标识符。()A、X_2B、x_2C、2_xD、_2x2.若有数组定义语句“inta[4][5];”,则对a中数组元素的正确引用是()。A.a[4][1]B.a[2,1]C.a[4][5]D.a[4–1][5–5]3.有定义inta=9;,语句“a+=a–=a+a;”执行后,变量的值是()。A.18B.9C.–18D.–94.a、b是整型变量,执行语句“scanf(a=%d,b=%d,&a,&b);”,使a和b的值分别为1和2,正确的输入是()。A.12B.1,2C.a=1,b=2D.a=1b=25.C语言中的基本数据类型包括()。A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、字符型6.与语句while(!s)中的条件等价的是()。A.s==0B.s!=0C.s==1D.s=07.若有“floata=1.5,b=3.5,*pa=&a;*pa*=3;pa=&b;”,则正确的是()。A.pa的值是1.5B.*pa的值是4.5C.*pa的值是3.5D.pa的值是3.58.若有以下定义语句:structstudent{intnum;charname[9];}stu[2]={1,zhangsan,2,lisi};则以下能输出字符串“lisi”的语句是()。A.printf(%s,stu[0].name);B.printf(%s,&stu[1].name);C.printf(%s,stu[1].name[0]);D.printf(%s,&stu[1].name[0]);9.如果在函数中定义一个变量,有关该变量作用域正确的是()。A.只在该函数中有效B.在该文件中有效C.在本程序中有效D.为非法变量10.假设变量x、k都已定义,下列语句片段中,无语法错误的是()。A、switch(x){casex15:putchar('A');casex30:putchar('E');}B、switch(x){case3+2:a='A';defualt:a='E';case1*3:a='B';}C、switch(x){case1+a:k=x-2;case5*a:k=x+3;default:k=0;}D、switch(x){case3.5:k=0.5*x;case7.8:k=8*x;default:k=0;}试题三、程序阅读,写出运行结果(每小题4分,共20分)1.voidmain(){intnum=0;while(num=2){num++;printf(”%d\n”,num);}}2.#includestdio.h考试课程C语言程序设计考试日期2010年6月日成绩课程号上课时间任课教师姓名考生姓名学号(8位)年级专业第页共4页2voidmain(){int*p,*q,k=10,j=6;p=&k;q=&j;if(*p*q)printf(%d\n,*p);elseprintf(%d\n,*q);}3.main(){intx[4]={2,4,6,8},*p;p=x;printf(”%d”,*p);printf(”%3d”,*(x+2));4.main(){ints,j,k;s=0;for(j=1;j5;j++){k=j%3;if(k==0)continue;s+=k;}printf(“s=%d\n”,s);}5.fun(inta[]){inti=0;while(a[i]=10){printf(“%2d”,a[i]);i++;}}main(){inta[]={2,6,10,9,11,7};fun(a);}试题四、程序填空题,按程序功能在每小题提供的A、B、C、D可选答案中,挑选一个正确答案。(每小题2分,共24分)。1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】通过函数SunFun(10)求f(x)的累加和:f(0)+f(1)+f(2)+……f(10),其中f(x)=x3+1。voidmain(){printf(Thesum=%d\n,SunFun(10));}intSunFun(intn){intx,(1);for(x=0;x=n;x++)(2);(3);}intf(intx){return(4);}【供选择的答案】(1)A、s=0;B、s;C、s=1;D、s=x;(2)A、s+=f(x);B、s+=f;C、s+=f(x*x*x);D、s+=f(x)+1;(3)A、returnf;B、returns;C、returnf(x);D、s+=f(x);(4)A、x*x*x+1B、x3+1C、xD、f(x)2.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】函数inver(charstr[])的功能是使输入的一个字符串按反序存放。#includestring.hinver(charstr[]){chart;inti,j,len;len=(1)for(i=0,(2);ij;i++,j--){t=str[i];(3)第页共4页3str[j]=t;}}main(){charstr[20];scanf(%s,str);(4)printf(转换后字符串是:%s\n,str);}【供选择的答案】(1)A、strlen(str);B、strlen(str[]);C、str(str);D、str(str[])(2)A、j=lenB、j=len-1C、j=len+1D、j=0(3)A、str[j]=str[i];;B、str[i]=t;C、str[i]=str[j];D、t=str[j];;(4)A、inver(str[0]);B、inver(*st);C、inver(str[i])D、inver(str);3.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】同时计算打印10到100之间(含10和100)的偶数(sa)及奇数(sb)之和。voidmain(){inti;longsa=0,sb=0;for(i=10;i=100;(1)){sa+=(2);sb+=(3);}printf(“suma=%ld,sumb=%ld\n”,sa,(4));}【供选择的答案】(1)A、i++B、i=i+2C、i=i+3D、i=i+4(2)A、iB、i-1C、i+1D、i-2(3)A、iB、i-1C、i+1D、i-2(4)A、sbB、sb-100C、sb-101D、sb-102试题五、程序阅读,回答列在程序后面的问题(每小题2分,共6分)阅读下列程序并回答问题。【程序】#includestdio.h#defineMAX9voidmain(){inta[MAX],c,i;for(i=0;iMAX;i++)scanf(%d,&a[i]);for(i=0;iMAX;i++){c=a[i];a[i]=a[MAX-i-1];//第9行a[MAX-i-1]=c;}//第10行for(i=0;iMAX;i++)printf(%d,a[i]);}上述程序执行时,如输入123456789时,回答下列问题:(1)程序运行后的输出结果为(1)。(2)将第二个for循环中的iMAX改为iMAX/2后,输出结果为(2)。(3)按(2)修改后再将标记以第9行和第10行的两个语句对调后,输出结果为(3)。试题六、编程序(每题10分,共30分)1.输入某班级20个学生某课程的考试成绩,要求输出最高分、最低分和平均分。2.编程实现下面的功能:输出1~500中能被3除余2的数。3.编写程序,输入n,求下列级数和,其中n!用函数实现。!1!41!31!211n第页共4页4座位号:C语言程序设计答题纸(A)2010.6考试课程C语言程序设计考试日期2010年6月成绩任课教师姓名上课时间姓名学号(8位)年级专业注意:1.请在上课时间栏注明星期几。2.若答案书写不下,请写在答题纸反面并注明题号。试题一、判断题,正确打钩,错误打叉)1.2.3.4.5.6.7.8.9.10.试题二、单选题,根据题目从A、B、C、D中选择一个正确的选项1.2.3.4.5.6.7.8.9.10.试题三、程序阅读,写出运行结果1.2.3.4.5.试题四、程序填空题,按程序功能在每小题提供的A、B、C、D可选答案中,挑选一个正确答案。1.2.3.试题五、程序阅读,回答列在程序后面的问题。(1)(2)(3)试题六、编程序1.2.3、