浙江理工2008年春07级c期末试卷a卷_第1页
浙江理工2008年春07级c期末试卷a卷_第2页
浙江理工2008年春07级c期末试卷a卷_第3页
浙江理工2008年春07级c期末试卷a卷_第4页
浙江理工2008年春07级c期末试卷a卷_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

PAGE2008年07级C程序设计期末考试卷(A)[注意]所有答案写在单张的答题卷上。判断题(本题共10分,每小题1分,用A表示正确,用B表示错误。)(1)C语言程序的变量必须先定义再使用。(2)do-while语句构成的循环不能用其他语句构成的循环来代替。(3)C语言规定,函数的实参应与其对应的形参类型一致。(4)C语言认为名为Student和student的变量是不同变量。(5)当两个字符串所包含的字符个数相同时,才能比较两个字符串的大小。(6)如果定义了inta[10],那么使用语句a[10]=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)结构体成员的类型可以是另外一种结构体类型。单选题(本题共20分,每小题2分)(11)假设有以下定义:inta=0xAA,b=0x55,则a&b的值为:________。[A]0x0 [B]0xff[C]0x01 [D]0xAA(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)如果在用户的程序中要使用C库函数中的数学函数时,应在该源文件中使用的include命令是________。[A]#include<string.h> [B]#include<math.h>[C]#include<stdio.h> [D]#include<ctype.h>(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)设有如下的共用体定义:uniondata{inti;//4字节longb;//4字节doublef;//8字节}a;则a所占的内存单元为______个字节.[A]4[B]16[C]8[D]10(18)C程序的基本结构有_____。[A]选择、重复和模块 [B]顺序、选择和循环[C]顺序、选择和模块 [D]逻辑、物理和程序(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>#defineNUM10voidmain(){inti=0;floatsum=0;floatscore;intcount=0;for((21)){(22);sum+=score;if(score<60)count++;}(23)printf("平均成绩=%f,不及格人数=%d",sum,count);}【选项】(21)[A]i=0;i<NUM;i++ [B]i=0;i<=10;i++[C]i=1;i<10;i++ [D]i=0;i<=NUM;i++(22)[A]scanf("%f",&count) [B]scanf("%f",&i)[C]scanf("%d",&score)[D]scanf("%f",&score)(23)[A]sum/=count; [B]sum/=NUM;[C]sum=sum/count; [D]sum=/10;2【程序说明】从键盘输入一百分制成绩,若用户输入错误时,重新让其输入,当成绩小于60分时,输出“fail!”,当成绩大等于60分时,输出“pass!”【程序代码】#include<stdio.h>voidmain(){floatscore;do{printf("pleaseinputthescore:\n");scanf("%f",&score);}(24)switch((int)score/10){case6:case7:case8:case9:case10:printf("pass!");break;(25)printf("fail!");break;}}【选项】(24)[A]while(score>100||score<0); [B]while(score>100&&score<0); [C]while(score>100||score>0); [D]while(score<=100||score>0);(25)[A]case5: [B]case0-5:[C]if(score<60) [D]default:3【程序说明】从一个n行m列的矩阵中找出矩阵中最小数及它所在的行与列,并输出它们。矩阵的行n与列m及矩阵的元素由键盘输入。【程序代码】#include"stdio.h"#defineN100#defineM100voidmain(){floata[N][M],min;inti,j,n,m,col,row;scanf("%d,%d",&n,&m);for(i=0;i<n;i++)for(j=0;j<m;j++)scanf("%f",(26));min=a[0][0];for(i=0;i<n;i++)for(j=0;(27);j++){if((28)){min=a[i][j];col=j;(29)}}printf("最小的元素为:a[%d][%d]=%f",row,col,(30));}【选项】(26)[A]&a[i][j] [B]a[i][j][C]&a[j][i] [D]*(a[i]+j)(27)[A]j<=m [B]j<m[C]j<m [D]j==m(28)[A]a[i][j]>min [B]a[i][j]!=min[C]min>a[j][i] [D]a[i][j]<min(29)[A]i=row; [B]row=col;[C]row=i; [D]row=a[i][j];(30)[A]a[i][j] [B]min[C]a[row]+col [D]a[col][row]4【程序说明】用冒泡法对20个数由大到小排序。【程序代码】#include<stdio.h>intmain(){inta[20];inti,j,t;printf("input10numbers:\n");for(i=0;i<20;i++)scanf("%d",&a[i]);printf("\n");for(j=0;(31);j++)for(i=0;(32);i++)if((33)){t=a[i];(34);(35);}printf("thesortednumbers:\n");for(i=0;i<20;i++)printf("%d",a[i]);printf("\n");}【选项】(31)[A]j<19 [B]j<20[C]j>19 [D]j>20(32)[A]i<20 [B]i<20-j[C]i<19 [D]i<19-j(33)[A]a[i]<a[i+1] [B]a[i]<a[j][C]a[i]>a[i+1] [D]a[i]>a[j](34)[A]a[i+1]=a[i] [B]a[i]=a[j][C]a[i]=a[i+1] [D]a[j]=a[i](35)[A]a[i]=t [B]a[i+1]=t[C]a[j]=t [D]a[j+1]=t

程序阅读题(本题共20分,每小题5分)阅读下列程序并写出运行结果。1【程序】voidmain(){intk=10;do{k=k-1;}while(k==0);printf("k=%d",k);}2【程序】#include<stdio.h>voidmain(){charc1,c2;scanf("%c",&c1);if(c1<'A'||c1>'Z')printf("inutagain!\n");else{c2=c1+3;printf("c1=%c\nc2=%c\n",c1,c2);}}键盘输入ABC,请写出程序运行结果。3【程序】#include<stdio.h>voidswap(int*x,int*y){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)swap(&a,&b);if(a<c)swap(&a,&c);if(b<c)swap(&b,&c);printf("a=%2d,b=%2d,c=%2d\n",a,b,c);}4【程序】#include<stdio.h>#defineN3structstudent{intnum;charname[20];intscore;};voidfunc1(structstudent*stud,intn){inti,j,k;structstudenttemp;for(i=0;i<n-1;++i){k=i;for(j=i+1;j<n;j++)if(stud[j].score<stud[k].score)k=j;temp=stud[k];stud[k]=stud[i];stud[i]=temp;}}voidfunc2(structstudent*stud){printf(

温馨提示

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

评论

0/150

提交评论