(0039)《C语言程序设计》大作业A
西南大学网络与继续教育学院课程考试试题卷
类别:网教 专业:算机科学与技术,计算机应用技术 2015年12月
课程名称【编号】:C语言程序设计【0039】 A卷
大作业 满分:100 分
一、大作业题目
1.通过你对C语言程序设计课程的学习,你认为C语言具有哪些特点?并简要说明。C语言有哪些局限性?针对这些局限性,是如何解决这些问题的?
答:(1)C语言是一种结构化的语言
一个C语言程序是由一个或多个函数组成,函数是C语言的基本单位。
(2)C语言有强大的表现能力和处理能力
C语言具有丰富的运算符和数据类型,并且引入了结构、指针、地址、位运算、寄存器存储等功能,使C语言实现了对硬件编程操作,大大提高了C语言的表现能力和处理能力。
(3)C语言程序易于移植
同汇编语言相比,C语言将与硬件相关的部分也通过库函数或其他相关函数来实现,不再依赖于具体的机器,广泛地移植到了各种类型计算机上,从而体现了C语言的易移植性。
(4)C语言的运行效率高
用C语言编写的程序可通过编译获得高效的可执行代码
C语言也存在着一些局限:
(1)C语言的类型检查机制相对较弱,使得程序中的一些错误不能在编译时由编译程序指出;
(2)C语言缺乏支持代码重用的语言结构;
(3)C语言不适合开发大型程序,当程序的规模达到一定程度时,程序员很难控制程序的复杂性。
C++语言正是为了解决上述问题而设计的。C++语言继承了C语言的精髓,如高效率、
灵活性等,并增加了面向对象机制,弥补C语言不支持代码重用的不足,这对于开发大型的程序非常有效。C++语言成为一种既可用于表现过程模型,又可用于表
现对象模型的优秀的程序设计语言。
2.C语言是一种结构化程序设计语言,在C语言中是如何体现结构化程序设计思想的?结构化程序设计方法有内容是什么?在模块化设计中,划分模块的基本原则是什么?采用结构化程序设计方法的好处是什么?
3.编程题
(1)编写程序,利用公式 求 的值。(要求最后一项小于10-6为止)。
(2)编写程序输出100以内能被7整除的数。
#include"stdio.h"
main()
{
int i;
for(i=7;i<=100;i++)
if(i%7==0)printf("%d\n",i);
}
(3)编写一个函数void sort(float a[],int n),其功能是对数组a中的n个数据按照升序排列。再写一个主函数调用该函数对输入10个学生的成绩从高到低排序,并输出排序的结果。
4.依据下列提供的程序回答问题
#include
void main()
{float x[1000],sum=0.0,ave,score;
int n=0,i;
printf("请输入一个学生的课程成绩(0-100):\n");
scanf("%f",&score);
while(score>=0)
{sum=sum+score;x[n]=score;n++;
printf("再输入一个学生的课程成绩(0-100):\n");
scanf("%f",&score);}
ave=sum/n;
printf("输出平均成绩:\n");
printf("ave=%5.0f\n",ave);
printf("输出低于平均分的学生成绩:\n");
for(i=0;i
if (x[i]
}
(1)所提供程序的功能是什么?
(2)请依据提供的程序画出其中的传统流程图或N-S图或自然语言描述。。
(3)在VC6.0环境下,运行上述程序时,若输入数据如图所示(图中输入数据分别为56,78,89,65,58,34,45,-9),则输出结果是什么?
功能:输入学生成绩,并得出学生的平均成绩,然后输出低于平均分的学生的成绩。
自然语言描述:1输入学生成绩n。
2.若n>0?,将sum+=n,执行第一步;否则,执行第三步;
3.计算平均成绩ave=sum/n,并输出;
4.,比较ave与各个学生成绩,输出低于ave的学生成绩;
二、大作业要求
大作业共需要完成3个大题:
第1-2题选作一题,满分30分;
第3题(1)-(2)任选一题完成,(3)题必做,每个题20分,满分40分;
第4题(1)-(3)必做,满分30分。
答卷提交要求:考试题提前公布,学生下载试题和答题卷后,在答题卷上答题。完成后需网上提交答卷。答卷于11月20日--12月6日通过点击页面左侧导航栏内“我的考试”-“课程论文/大作业”提交。