浙江理工2009年08级C程序设计期末考试卷(A)_第1页
浙江理工2009年08级C程序设计期末考试卷(A)_第2页
浙江理工2009年08级C程序设计期末考试卷(A)_第3页
浙江理工2009年08级C程序设计期末考试卷(A)_第4页
浙江理工2009年08级C程序设计期末考试卷(A)_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE2009年08级C程序设计期末考试卷(A)[注意]所有答案写在单张的答题卷上。判断题(本题共10分,每小题1分,用A表示正确,用B表示错误。)(1)C语言的标识符由字母、数字和下划线组成,其中第一个字符必须是字母。(2)C语言的变量在使用前都必须先定义,定义变量时要指定变量名和数据类型。(3)如果a=1,b=2,c=3则表达式a=b==c的值等于3。(4)在程序设计中,经常用选择(又称分支)、循环和函数3种控制结构。(5)在C语言中,提供了3种循环语句:for、while、do-while。(6)如果定义了inta[20],那么使用语句a[20]=10可以给数组元素a[10]初始化。(7)用关键字static声明的变量是全局变量,在整个程序的全部执行过程中都占用存储单元。(8)如果a=1,b=2,c=3,d=4则表达式a>b?c:d的值等于3。(9)如果a=15,那么执行a=a>>2以后,a的值就变成了3。(10)Struct是定义结构类型的关键字,struct和它后面的结构名一起组成一个新的数据类型。单选题(本题共20分,每小题2分)(11)假设定义变量如下:intx;floaty;以下输入语句中________是正确的。[A]scanf(“%f%f”,&y,&x);[B]scanf(“%f%d”,y,x);[C]scanf(“%f%d”,&y,&x); [D]scanf(“%5.2f%2d”,&y,&x);(12)假设有以下定义:inta[5]={1,2,3,4,5},i=3,*p=a,*q=a;则不能正确执行的语句是________。[A]i=*p+*q; [B]a=i;[C]*p=*(a+i); [D]i=*p**(q+2);(13)以下有关宏定义的叙述,正确的是________。[A]宏名不具有类型 [B]带参数的宏就是一个函数[C]宏名必须用大写字母表示 [D]宏定义和其它C语句,其末尾要加分号(14)若用数组名作为函数调用时的参数,则实际上传递给形参的是________。[A]数组第一个元素的值 [B]数组元素的值[C]数组的首地址 [D]数组名(15)若有定义charx[]="12345";chary[]={'1','2','3','4','5'};则。[A]x数组与y数组的长度相同 [B]x数组长度大于y的长度[C]x数组长度小于y数组长度 [D]x数组等价于y数组(16)函数调用:strcat(strcpy(str1,str2),str3)的功能是。[A]将串str2复制到串str1中后再将串str3连接到串str1之后[B]将串str2连接到串str1之后再将串str1复制到串str3中[C]将串str1复制到串str2中后再连接到串str3之后[D]将串str1连接到串str2之后再复制到串str3之后(17)以下有关switch语句的正确说法是________。[A]break语句是语句中必须的一部分[B]在switch语句中的每一个case都要用break语句[C]break语句在switch语句中不可以使用[D]在switch语句中可以根据需要使用或不使用break语句(18)以下正确的函数说明是________。[A]floatadd(intx,y) [B]intadd(intx;inty)[C]charadd() [D]intadd(charx[][])(19)下列变量定义正确的是________。[A]intx_1;y; [B]intprintf=2,x_y=2;[C]intfor=4; [D]intx,y=5;(20)已知字符‘a’的ASCII码为97,执行下列语句的输出是______。printf("%c%d",’b’,’b’+2);[A]bd [B]98d [C]98100 [D]b100

程序填空题(本题共30分,每小题2分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个最佳的答案。1【程序说明】输入一个整数,判断是否是素数。【程序代码】#include<stdio.h>_________(21)____________intmain(){inti,m;printf("Enteranumber:");scanf(""%d",&m);for(i=2;i<=sqrt(m);i++){if(m%i==0)_____(22)______;}if(______(23)_______)printf("%disaprimenumber!\n",m);elseprintf("No!\n");return0;}【选项】(21)[A]#include<string.h> [B]#include<math.h>[C]doublesqrt(doublem); [D]#definesqrt(m)(22)[A]exit(0) [B]return0[C]continue[D]break(23)[A]i>m/2 [B]i>=m/2[C]i>sqrt(m) [D]i>=sqrt(m)2【程序说明】每年期末考试结束后,班主任都要统计班里成绩,学生数不超过50人。需要统计的项目有学号、姓名、英语成绩、计算机成绩,并输出两门课程的平均成绩,保留2位小数。【程序代码】#include<stdio.h>structstudent{charid[10];charname[6];intenglish;intcomputer;floatave;};intmain(){inti,n;______(24)_________;printf("请输入学生数:");scanf("%d",&n);for(i=1;i<=n;i++){printf("请输入第%d个学生的信息:",i);scanf("%s%s%d%d",________(25)________);stu.ave=_________(26)_________;printf("学号:%s姓名:%s平均分:%.2f\n",stu.ave);}return0;}【选项】(24)[A]structstudentstu [B]studentstu [C]structstudentstu[50] [D]studentstu[50](25)[A]&stu [B]&stu[i][C]&stu[i].id,&stu[i].name,&stu[i].english,&stu[i]puter [D]&stu.id,&,&stu.english,&stuputer(26)[A](&stu[i].english+&stu[i]puter)/2.0 [B](&stu[i].english+&stu[i]puter)/2[C](&stu.english+&stuputer)/2.0 [D](&stu.english+&stuputer)/23【程序说明】输入一个十进制正整数,将其转换成16进制并输出。【程序代码】#include<stdio.h>intmain(){inti,p,n;intnumber[40];scanf("%d",&n)p=-1;while(_____(27)_______){number[++p]=______(28)_______;______(29)_______;}for(i=p;i>=0;i--){if(_______(30)________)printf("%d",number[i]);elseprintf("%c",________(31)_________);}printf("\n");return0;}【选项】(27)[A]n=0 [B]n!=0[C]n==0 [D]n>=0(28)[A]n%16 [B]n/16[C]n-number[p]*16 [D]n-number[p-1]*16(29)[A]n=n-number[p] [B]n=n-number[p-1][C]n/=16 [D]n%=16(30)[A]number[i]!=0 [B]number[i]<10[C]number[i]>0 [D]number[i]>=10(31)[A]number[i] [B]'A'+number[i][C]number[i]-10 [D]'A'+number[i]-104【程序说明】输入一个整数n,打印出n层金字塔。(下图是n=3时的金字塔)*********【程序代码】#include<stdio.h>main(){intn,i,j;scanf("%d",&n);for(i=1;____(32)______;i++){for(j=1;___(33)___;j++){printf("");}for(j=1;____(34)____;j++){printf("*");}_____(35)______;}}【选项】(32)[A]i>n [B]i>=n[C]i<n [D]i<=n(33)[A]j<=n-i [B]j<=n[C]j>=n-i [D]j>=n(34)[A]j<=n-i [B]j>=n-i[C]j<=2*i-1 [D]j>=2*i-1(35)[A]return0; [B]printf("\n");[C]break [D]continue

程序阅读题(本题共20分,每小题5分)阅读下列程序并写出运行结果。1【程序】#include<stdio.h>intmain(){intk=10;for(k=1;k<=10;k++){k=k+1;printf("k=%d\n",k);}}2【程序】#include<stdio.h>intmain(){charc1,c2;while(scanf("%c",&c1))if(c1<'A'||c1>'Z')printf("inutagain!\n");else{c2=c1+3;printf("c1=%c\nc2=%c\n",c1,c2);}}键盘输入AB并按回车后,请写出程序运行结果。3【程序】#include<stdio.h>voidswap1(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;}voidswap2(intx,inty){inttemp;temp=x;x=y;y=temp;}voidmain(){inta,b,c,temp;a=8;b=19;c=16;printf("a=%2d,b=%2d,c=%2d\n",a,b,c);if(a<b)swap1(&a,&b);if(a<c)swap1(&a,&c);if(b<c)swap2(b,c);printf("a=%2d,b=%2d,c=%2d\n",a,b,c);}4【程序】#include<stdio.h>intx;voidf1(){intx=4;x=+1;printf("f1:%d\n",x);}voidf2(){x=x+1;printf("f2:%d\n",x);}intmain(){x=2;printf("main:%d\n",x);f1();f2();{intx=10;f1();f2();}}程序设计题(本题共20分)(1)编写程序,输入一个学生成绩,根据成绩输出学生的等级。(8分)分数段对应的等级85~100A70~84B60~69C60以下D(2)编写一个程序,要求从键盘上输入50个同学的学号和C语言成绩,然后按照成绩从高到低进行排序,并将成绩写入到score.txt中,格式如下:(12分)学号成绩D08357101100D0835711999……2009年08级C程序设计期末考试A卷参考答案姓名___________学号___________班级____________得分___________[注意]所有答案写在单张的答题卷上。判断题(正确的答A,错误的答B,本题共10分,每小题1分)题号12345678910答案BABBABBBAA单选题(本题共20分,每小题2分)题号11121314151617181920答案CBACBADCDD程序填空题(本题共30分,每小题2分)题号21222324252627282930答案BDCADCBACB题号3132333435答案DDACB

程序阅读题(本题共20分,每小题5分)程序1程序2k=2k=4k=6k=8k=10每行1分如果没写”k=”,扣2分,写成10行的扣3分c1=Ac2=Dc1=Bc2=Einutagain!每行1分,格式错扣1分。程序3程序4a=8,b=19,c=16a=19,b=8,c=16每行2.5分,格式错扣1分。每行1分程序设计题(本题共20分)评分标准:include语句:0.5分评分标准:include语句:0.5分主函数定义:1分变量定义:0.5分scanf语句:1分选择结构4分printf语句:1分#include<stdio.h>intmain(){intscore;chargrade;scanf("%d",&score);if(score>=85)grade='A';elseif(score>=70)grade='B';elseif(score>=60)grade='C';elsegrade='D';printf("您的等级是%c\n",grade);}(2)12分#include<stdio.h>#include<string.h>intmain()//头文件和main0。5分{inti,j,score[50],temp;charname[50][10],stemp;FILE*fp;//变量定义1分for(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论