湖南科技大学考试试题纸(A卷)
(2019- 2020学年度第2学期)
阅卷老师邮箱: 83408674@qq
课程名称: C语言程序设计 开课单位: 计算机科学与工程学院 命题教师: 柳萍
授课对象: 全校 学院 2019 年级 各专业 班
考试时量: 100 分钟 考核方式: 考试 考试方式: 开卷
审核人: 审核时间: 年 月 日
一、简答题(共5题,每题10分,共50分) 1、构成C语言源程序的基本单位是什么?某C程序由自定义函数sum(),averge()及主函数main()构成,则该程序从哪个函数开始执行? 2、设a=4,b=5,c=6,d=7,m=3,n=3,执行(m=a > b)&&(n=c>d)后n的值为多少?请简要写出分析过程。 3、写出下列程序段的输出结果,并简要说明变量a的值的变化过程。 int main() { int x = 1, a = 0, b = 0; switch(x) { case 0: b++;break; case 1: a++; case 2: a++; b++;break; default: a--;b--; } printf("a=%d,b=%d\n",a,b); return 0; } 4、什么是函数的调用?简述函数调用的执行过程。 5、什么是指针?什么是指针变量?指针变量定义格式是什么? 二、程序填空题(10分) --------------------------------------------------------- 功能:将一个数组中的元素按逆序存放。 -------------------------------------------------------*/ #include <stdio.h> #define N 7 main () { static int a[N]={12,9,16,5,7,2,1},k,s; printf("\n the origanal array:\n"); for (k=0;k<N;k++) printf("%4d",a[k]); /***********SPACE***********/ for (k=0;k<N/2; 【?】 ) { s=a[k]; /***********SPACE***********/ 【?】 ; /***********SPACE***********/ 【?】 ; } printf("\n the changed array:\n"); for (k=0;k<N;k++) /***********SPACE***********/ 【?】 ("%4d",a[k]); } 三、程序改错题(10分) /*------------------------------------------------------------------------- 功能:求1到10的阶乘的和。 (注:错误处位于/**********FOUND**********/下一行,程序其余位置无需改动。) ---------------------------------------------------------------------------*/ #include <stdio.h> main() { int i; float s=0; float fac(int n); /**********FOUND**********/ for(i=1;i<10;i++) /**********FOUND**********/ s=fac(i); printf("%f\n",s); } float fac(int n) { /**********FOUND**********/ int y=1; int i; for(i=1 ;i<=n;i++)c程序是什么程序设计语言 y=y*i; /**********FOUND**********/ return; } 四、程序设计题(2题,每题15分,共30分) 1、统计出若干个学生的平均成绩,最高分以及得最高分的人数。(15分) 例如:输入10名学生的成绩分别为92,87,68,56,92,84,67,75,92,66,则输出平均成绩为77.9,最高分为92,得最高分的人数为3人。 #include <stdio.h> float Max=0; int J=0; float fun(float array[],int n) { /**********Program**********/ /********** End **********/ } void main( ) { float a[10],ave; int i=0; for(i=0;i<10;i++) scanf("%f",&a[i]); ave=fun(a,10); printf("ave=%f\n",ave); printf("max=%f\n",Max); printf("Total:%d\n",J); } 2、在日常生活中,我们常常需要将一些大额的人民币换算成零钱,已知我们有许多面值5元,2元和1元的人民币。编程实现:输入我们需要兑换的金钱数(钱数大于等于8小于等于100),然后我们用这些面值5元,2元和1元的人民币来兑换,要求每一种面值都至少有1张,请每行输出一种兑换方式,最后输出一共有多少种兑换方式。(15分) 如输入:13 输出为: five=1,two=1,one=6 five=1,two=2,one=4 five=1,two=3,one=2 five=2,two=1,one=1 count = 4 #include <stdio.h> int main() { int n1,n2,n5,i,j,s,count=0;/*变量n1,n2,n5分别代表1元,2元,5元人民币数目*/ printf("请输入零钱数目,零钱数目大于等于8小于等于100") ; scanf("%d",&s); /**********Program**********/ /********** End **********/ return 0; } |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论