第一范文网 - 专业文章范例文档资料分享平台

C语言程序设计期末考试卷及答案

来源:用户分享 时间:2025/11/25 7:25:48 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

for ( i = 0;i <10;i ++ )

if(arr[i]<0) k++;

printf(\

}

3.以下程序执行后的输出结果是 。void fun(int a[10]) {int i,j,t; for (i=0;i<9;i++) for (j=0;j<9-i;j++) if (a[j]>a[j+1])

{t=a[j];a[j]=a[j+1];a[j+1]=t; }

}

void main( ) {int i;

int a[10]={4,3,5,1,0,8,2,6,7,9}; fun(a);

for (i=0;i<10;i++) printf(\ printf(\}

4.以下程序执行后的输出结果是 。#include struct stu

第 5 页 共 8 页

{ int x;

int *y;

}*p;

int a[2] = {10,20};

struct stu aa[2] = { 150,&a[0],250,&a[1]}; void main( )

{ p = aa;

printf(\-> x ); }

5.以下程序执行后的输出结果是 。 void swap( int *p1 ,int *p2)

{ int k; k = *p1;

*p1 = *p2; *p2 = k; }

void main( )

{ int a = 3,b = 6,*x = &a,*y = &b; swap( x,y );

printf(\

} 得分 阅卷人 复核人 四、程序改错题(共2小题,每正确修改一处错误得2分,共计10分)。

注意:不得增行或删行,写出改正后的程序行,使之能够得出正确的结果。

1.下列程序的功能是计算数列1,3,5,?,2n-1,?的前n项之和,其中n由键盘输入。

printf(\ for (i=0;i<10;i++) void main( ) {int s=0,n,i=1;

scanf(\)该行有错误*/ do { s=s+i; i=i+2; }

while (i>2*n-1); /* 2)该行有错误*/ printf(\}

2.下列给定的程序中,函数average的功能是:求10个数的平均值。

#include

float average(float *array) { int i;

float aver,sum; /* 1)该行有错误*/ for (i=0;i<10;i++)

sum=array[i]; /* 2)该行有错误*/

aver=sum/10; return(aver); }

void main( )

{ float data[10],aver; int i;

第 6 页 共 8 页

scanf(\

aver=average(data[0]); /* 3)该行有错误*/ printf(\} 得分 阅卷人 复核人 五、程序设计题(共3小题,第1小题6分,第2、3小题各7分,共20分)。

1.输入x,计算并输出下列分段函数y的值(结果保留2位小数)。

?(x?0)y??0?4x(0?x?15)

?3?2.5x?10.5(x?15)

2.在一个已排序的整型数组(设从小到大)中,插入一个整数,使之仍然有序(要求数组中原有的10个整数从键盘按顺序输入)。

3.请先编写一个函数concat(char str1[ ],char str2[ ]),实现两个字符串的连接(注意不要用strcat函数);再编写一个main( )函数进行测试:在主函数中输入两个字符串,然后调用concat函数,最后将连接后的字符串输出。

参考答案

一、单项选择题。从A、B、C、D四个选项中,选择一个最佳答案填入括号内( 每小题1分,共30分,错选、漏选、多选均不得分)。

1 2 3 4 5 6 7 8 9 10 B B B C A B D C B D 11 12 13 14 15 16 17 18 19 20 A C B B C C A C B D 21 22 23 24 25 26 27 28 29 30 D A C A C A C B C A 得分 阅卷人 复核人 二、填空题(每小题2分,共20分,错填、漏填均不得分)。 题 号 1 2 3 4 5 使文件的位置指答 案 目标 指数形式 针返回到文件头 scanf(“%c”,&ch); (int *) 题 号 6 7 8 9 10 答 案 3 3 ABC n*f(n-1) 13

第 7 页 共 8 页

得分 阅卷人 复核人 三、程序阅读题(每小题4分,共20分)

题 号 1 2 3 4 5 答 案 #### 3 0 1 2 3 4 5 6 7 8 9 250 6,3 说明:对于程序阅读题,如果该题考生所给出的答案仅仅是书写格式上的错误,没有其它方面错误,扣1分,否则该题不得分。

得分 阅卷人 复核人

四、程序改错题(共2小题,每正确修改一处错误得2分,共计10分)。 注意:不得增行或删行,写出改正后的程序行,使之能够得出正确的结果。

1. 1)scanf(\

2)while (i<=2*n-1); 2. 1)float aver,sum=0;

2)sum=sum+array[i]; (或者改为sum+=array[i]; 、sum=sum+*(array+i); 、sum+= *(array+i);sum=sum+(*(array+i));也正确)

3)aver=average(data); (或者改为aver=average(&data[0]); 也正确)

得分 阅卷人 复核人

五、程序设计题(共3小题,第1小题6分,第2、3小题各7分,共20分)

评分总则:若考生给出的程序语法正确,符合要求,能够实现具体功能,即可得满分;若程序存在错误,不能得出正确结果,阅卷教师酌情给分,给分方法参考下列评分标准。 for (i=0;i<11;i++)

printf(\?? 1 分 }

3)源程序代码 1)源程序代码

#include main()

{float x,y; ?? 1 分 printf(\

scanf(\?? 2 分 if(x<0) y=0;

else if (x<=15) y=4*x/3;

else y=2.5*x-10.5; ?? 2 分 printf(\?? 1 分

}

)源程序代码 #include \main()

{int a[11],i,b;

printf(\ for (i=0;i<10;i++)

scanf(\?? 2 分 printf(\

scanf(\?? 1 分 for (i=9;i>=0&&a[i]>b;i--)

a[i+1]=a[i]; ?? 2 分 a[i+1]=b; ?? 1 分 printf(\

第 8 页 共 8 页

#include #include

void concat(char str1[],char str2[]) {int i,j;

j=strlen(str1); for (i=0; str2[i]!='\\0'; i++) {

str1[j]=str2[i]; j++;

} str1[j]='\\0'; } main()

{ char str1[20],str2[20]; printf(\ gets(str1);

gets(str2); concat(str1,str2); puts(str1); }

?? 1 分 ?? 1 分 ?? 1 分 ?? 1 分 ?? 1 分 ?? 1 分 ?? 1 分 2

搜索更多关于: C语言程序设计期末考试卷及答案 的文档
C语言程序设计期末考试卷及答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8fpjb7tnvo3gzna0fxbj_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top