资源描述:
《湖大C语言程序设计期末试卷(含答案)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、考试中心填写:年月日湖南大学课程考试试卷考试用课程名称:C语言程序设计;试卷编号:();考试时间:120分钟题号一二三四五六七八九十总分应得分101020202020100实得分评分:评卷人一、选择题(每题2分,共10分)1.以下叙述中正确的是()A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其它函数之前专业班级:D)所有被调用的函数一定要在调用之前进行定义2.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是()装订A)6.500000B)6C)
2、5.500000D)6.000000线3.已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值(答为2、k的值为3,以下选项中正确的输入语句是()题A)scanf(“%2d%2d%2d”,&i,&j,&k);不得B)scanf(“%d%d%d”,&i,&j,&k);超C)scanf(“%d,%d,%d”,&i,&j,&k);过此D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);线4.若x为unsignedint型变量,则执行下列语句后x值为())x=65535;printf(“%d
3、n”,x);学号:A)65535B)1C)无定值D)-15.定义全局变量时,若变量的的存储类别缺省,则默认的存储类型是()。A)autoB)registerC)externD)static二、判断题(每题1分,共10分)1、C程序中的函数不能嵌套调用,但可嵌套定义。()。2、当形式参数为指针变量名时,实际参数可为指针变量名、数组名或其它类型变量的首地址()。3、若有说明:staticinta[3][4];,则数组a中各数组元素可在程序的编译阶段得到初值0()。4、若用数组名作为函数调用时的实参,则实际上传递给形参数组的是数组的第一个元
4、素的值()。5、共用体变量的地址和它的各成员的地址都是同一起始地址。()。6、语句int(*p)(int,int);定义了一指针变量p,指向一个包含有两个int型形参的函数,其返回值也为int型数据。()。7、文件指针与文件内部位置指针意义相同。()。8、在定义枚举类型数据时,枚举元素是变量。()。9、continue语句只能冲破一层循环。()。10、结构体类型数据可以嵌套定义。()。姓名:第1页(共6页)三、写出程序运行结果(每题5分,共20分)1.main(){inta=15,b=21,m=0;switch(a%3){case0:
5、m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;}}printf(“%d”,m);}程序运行后的输出结果是:2.floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf("%3.0f",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是:3.voidfun(char*c,intd){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(
6、){chara='A',b='a';fun(&b,a);printf("%c,%c",a,b);}程序运行后的输出结果是:4.structstu{charnum[10];floatscore[3];};main(){structstus[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p=s;inti;floatsum=0;for(i=0;i<3;i++)sum=sum+p->score[i];printf("%6.2f",sum);}程序运行后的
7、输出结果是:第2页(共6页)四、程序改错(每题5分,共20分)1.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main(){intn,k;floatscore,sum,ave;sum=0.0;for(n=1;n<=10;n++){for(k=1;k<=4;k++){scanf("%f",&score);sum+=score;}ave=sum/4.0;printf("NO%d:%f",n,ave);}}上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是
8、哪条?并将其移到正确的位置。2.以下函数的功能是计算s=1+1/2+1/3+……+1/n,程序运行后结果不正确,错误的语句是哪条?并改之。main(){floats=0.0;inti;for(i=1;i<=3;i++)s