2010春C程序设计期末试卷(A)

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

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

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

资源描述

第1页共4页杭州电子科技大学学生考试卷(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.下面哪一个不是正确的用户标识符。(C)A、X_2B、x_2C、2_xD、_2x2.若有数组定义语句“inta[4][5];”,则对a中数组元素的正确引用是(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;”执行后,变量的值是(C)。A.18B.9C.–18D.–94.a、b是整型变量,执行语句“scanf(a=%d,b=%d,&a,&b);”,使a和b的值分别为1和2,正确的输入是(C)。A.12B.1,2C.a=1,b=2D.a=1b=25.C语言中的基本数据类型包括(B)。A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、字符型6.与语句while(!s)中的条件等价的是(A)。A.s==0B.s!=0C.s==1D.s=07.若有“floata=1.5,b=3.5,*pa=&a;*pa*=3;pa=&b;”,则正确的是(C)。A.pa的值是1.5B.*pa的值是4.5C.*pa的值是3.5D.pa的值是3.58.若有以下定义语句:structstudent{intnum;charname[9];}stu[2]={1,zhangsan,2,lisi};则以下能输出字符串“lisi”的语句是(B)。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)。A.只在该函数中有效B.在该文件中有效C.在本程序中有效D.为非法变量10.假设变量x、k都已定义,下列语句片段中,无语法错误的是(C)。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.#includestdio.hvoidmain(){intj,k,s1,s2;s1=s2=0;for(j=1;j=5;j++){s1++;for(k=1;k=j;k++)s2++;printf(%d%d,s1,s2);}112336410515考试课程C语言程序设计考试日期2010年6月日成绩课程号教师号任课教师姓名张大兴考生姓名杨盖军学号(8位)09011428年级大一专业机制座位号第2页共4页}2.#includestdio.hvoidmain(){inti,s,j,a[3][2]={0,1,2,3,4,5};for(i=0;i2;i++){for(s=0,j=0;j3;j++)s+=a[j][i];printf(%d#,s);}6#9#}3.#includestdio.hintnum(inty,intm,intd){intx[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};intj,k;k=y%4==0&&y%100!=0||y%400==0;for(j=0;jm;j++)d+=x[k][j];returnd;}voidmain(){inta,b,c;a=num(1763,10,5);b=num(1763,5,31);printf(%d\n,a-b);}1274.#includestdio.hvoidprintc(charc,intn){inti;for(i=0;in;i++)printf(%c,c);printf(\n);return;}voidmain(){intn,j;charc;scanf(%d,%c,&n,&c);//运行时输入5,qif(c='a'&&c='z')c=c-32;Qfor(j=1;j=n;j++)QQprintc(c,j);QQQ}QQQQQQQQQ5.#includestdio.hvoidswap1(intx,inty){intt;t=x;x=y;y=t;}voidswap2(int*x,int*y){intt;t=*x;*x=*y;*y=t;}voidmain(){intx,y;x=1;y=3;swap1(x,y);printf(x=%dy=%d\n,x,y);x=1y=3x=1;y=3;x=3y=1swap2(&x,&y);printf(x=%dy=%d\n,x,y);}试题四、程序填空题,按程序功能在每小题提供的A、B、C、D可选答案中,挑选一个正确答案。(每小题2分,共24分)。1.程序功能:定义判断整数是否为水仙花数的函数。利用判断水仙花数的函数,求100~1000之间所有的水仙花数。水仙花数是指一个三位数,其各位数字的立方和等于该数本身,如:153=13+53+33【程序】#includestdio.hvoidmain(){intm;intflower(intx);for(m=100;m1000;m++)if(C)printf(水仙花数:%d\n,m);}C{inta,b,c,s;a=x%10;Dc=x/100;s=a*a*a+b*b*b+c*c*c;if(s==x)D;elsereturn0;}(1)A、flower(intm)==1B、intflower(intm)==1C、flower(m)==1D、flower(x)==1(2)A、voidflower(intx)B、intflower(intx,ints)C、intflower(intx)D、voidflower(intx,ints)(3)A、b=x%100%10B、b=x%10/10C、b=x/100%10D、b=x/10%10(4)A、returnx;B、return0;C、return-1;D、return1;第3页共4页2.程序功能:输入n和n个实数,找出他们的最大值和最小值,并将最大值和最小值输出到文件c:\abc.txt中。运行示例:输入n:5↙输入实数:456.878.013-12↙程序运行结束!【程序】#includestdio.h#includestdlib.hvoidmain(){doublex,a,b;inti,n;FILE*p;if((p=fopen(A))==NULL){printf(Openfileisfail\n);exit(0);}printf(输入n:);scanf(%d,&n);printf(输入实数:);scanf(%lf,&x);Bfor(i=0;in-1;i++){scanf(%lf,&x);if(ax)a=x;if(bx)B}C;fclose(p);}(1)A、”c:\\abc.txt,wB、”c:\\abc.txt,rC、”c:\\abc.txt,writeD、”c:\\abc.txt,read(2)A、a=b=0;B、a=b=x;C、a=0;b=x;D、a=x;b=0;(3)A、x=b;B、b=x;C、a=b;D、b=a;(4)A、fprintf(p,max=%.1f,min=%.1f\n,a,b);B、fprintf(abc.txt,max=%.1f,min=%.1f\n,a,b);C、printf(p,max=%.1f,min=%.1f\n,a,b);D、printf(abc.txt,max=%.1f,min=%.1f\n,a,b);3.程序功能功:输入不一个超过80个字符的字符串存于字符数组中,将数组中的字符串逆序后输出。运行示例:输入字符串:WindowsXP↙逆序后字符串为为:PXswodniW【程序】#includestdio.h#includestring.hvoidmain(){chars[81],t;inti,j,n;printf(“输入字符串:”);D;n=0;while(C)n=n+1;for(i=0,j=n-1;ij;B){t=s[i];A;s[j]=t;}printf(逆序后字符串为为:);puts(s);}(1)A、scanf(“%d”,s)B、scanf(“%c”,s)C、scanf(“%f”,s)D、scanf(“%s”,s)(2)A、n81B、n==81C、s[n]!='\0'D、n!=0(3)A、i++,j++B、i++,j--C、i--,j++D、i--,j--(4)A、s[i]=s[j]B、s[j]=s[i]C、t=s[j]D、t=s[i]试题五、程序阅读,回答列在程序后面的问题(每小题2分,共6分)#includestdio.h#defineN6voidmain(){inta[N]={22,15,3,6,13,4};inti,j,t,s;//第5行for(i=0;iN-1;i+=2)//第6行if(a[i+1]a[i]){t=a[i];a[i]=a[i+1];a[i+1]=t;}for(i=0;iN;i++)printf(%d,a[i]);}(1)写出程序运行后的输出结果。152236413(2)将第6行改为for(i=0;iN-1;i+=1)写出程序运行时的输出结果。346131522(3)以上面小题(5)的修改为基础,再在第5行与第6行之间插入语句“for(s=1;sN;s++)”后,写出程序运行后的输出结果。试题六、编程序(共30分)1.(8分)输入一个实数x,如果x大于0,则计算并输出它的平方根,否则计算并输出它的立方数。第4页共4页#includestdio.hvoidmain(){Inta;printf(“请输入数字:\n”);scanf(“%d”,&a);if(a0)printf(“a*a=%d”,a*a);elseprintf(“a*a*a=”,a*a*a);}2.(10分)输入某班级20个学生某课程的考试成绩,要求统计并输出班级总分及大于等于60分的人数。#includestdio.hvoidmain(){inta,i,k,s,a[20]={0};printf(“请输入成绩:\n”);for(i=0;i20;i++)scanf(“%d”,&a[i]);for(i=0;i20;i++){s+=a[i];if(a[i]=60)k++;}Printf(“总分=%d,及格的人数=%d”,s,k);}3.(12分)①定义函数doublefact(intn)计算n!的值。②定义函数doublecal(floate)计算下列算式的值,直到最后一项的绝对值小于e,函数返回值类型是double。要求

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

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

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

×
保存成功