《C语言程序设计》实验教学大纲
一、适用范围
大纲适用于计算机科学与技术专业本科教学使用。 二、课程名称
《C语言程序设计》(实验) 三、学时数与学分
总学时:90,总学分:4;实验学时:30 四、教学目的和基本要求 (一)目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,使学生全面了解 C 语言的特点,不仅要熟练掌握C语言的基础知识、基本算法,更重要的是让学生掌握程序设计的思想和方法,培养学生程序开发和设计的能力。
(二)基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容在实验报告纸上编好程序,然后在实验时输入程序、调试程序,直至运行结果正确为止,上机结束后,应整理出实验报告。 五、 实验教学实施方法
1 按照本学期新生教学时间15周计算,每周一次实习,共安排14次实习内容,1次考核。 2 学生应按专业实验室中的固定座位上机,应在D盘建立一个以“学号+姓名”的子目录,所有做完的程序放置于此目录中提供检查。学生实习的考核方式,每次实习结束时教师给出本次实验成绩,期末根据考核情况综合给出实验成绩。 3 每位教师负责一个教学班的实习指导,教师要检查每次学生的出勤和完成程序的情况,每次都要做好记录。教师可以根据学生的实际完成情况修改实习计划的执行进度。 4 每次试验内容分为三个部分,(1)复习课堂讲授内容的教材中的例题。(2)必做习题。(3)选做习题。能够完成选做习题的同学,可以不做教材中的例题。完成(1)为及格,(2)为良好,(3)为优秀。
六、实验项目与学时分配
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 实验项目名称 C程序的运行环境和运行一个C程序的方法 编写简单程序 顺序结构程序设计实验 选择结构程序设计实验 循环结构程序设计实验1 循环结构程序设计实验2 数组实验1 数组实验2 函数实验1 函数实验2 指针实验1 指针实验2 用户自定义数据类型(结构体,共用体,枚举) *文件与数据存储 1
实验学时 2 2 2 2 2 2 2 2 2 2 2 2 2 2 实验类型 验证性实验 验证性实验 验证性实验 验证性实验 验证性实验 验证性实验 验证性实验 验证性实验 验证性实验 验证性实验 验证性实验 验证性实验 验证性实验 验证性实验 15 *验收 2 30 总计
七、实验成绩评定办法
考查:平时考核加期末机试。实验成绩占总成绩的10%。 平时考核:占实验成绩的60%,由以下两部分组成。 实验预习和实验结果、实验报告。 期末机试:占实验成绩的40%。
1、实验预习和实验结果:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序,直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。
2、实验报告:学生实验后应按时完成实验报告。实验报告应包括以下内容:实验题目、实验目的、程序清单、运行结果、实验小结。
3、期末机试:通过考试了解学生对基本理论掌握的程度和实际水平,教师出实验考试题目,让学生在规定的时间完成。 八、实验教学大纲说明
本大纲共安排30学时(每周2学时)的实验。安排14次实验和一次上机考试。在每次实验中都安排了一些上机题,其中带*的题目为选作题目。在完成这些题目后,可以做课本上的例题验证及习题。 九、实验项目
实验一 C程序的运行环境和运行一个C程序的方法 一、实验目的
1.了解VC++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。
3.通过运行简单的C程序,初步了解C源程序的特点及C语言的程序结构。 二、实验内容
1.编写一程序,在屏幕上输出如下内容:
2.输出“Hello world!”语句
实验二 编写简单程序 一、实验目的
1.了解VC++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。
3.通过运行简单的C程序,初步了解C源程序的特点及C语言的程序结构。 二、实验内容
1.编写一程序,接受用户输入的两个整数,并计算它们的和、差、积、商,程序运行结果应如下所示。注意,尖括号部分表示用户输入数据或要被替换的输出内容,尖括号本身
2
并不需要输入或输出。多使用几组整数尝试一下,你发现了什么?
The program gets two integers,and computes their sum,difference,product and quotient. The first number:<第一个整数在此输入> The second number:<第二个整数在此输入> Results as follows:
<第一个整数>+<第二个整数>=<和> <第一个整数>-<第二个整数>=<差> <第一个整数>*<第二个整数>=<积> <第一个整数>/<第二个整数>=<商>
2.输入半径r的值,求出圆周长,圆面积。
实验三 顺序结构程序设计 一、实验目的
1.熟悉C语言中的基本数据类型,掌握定义常量和变量以及对它们赋值的方法,了解数据输出时所用格式转换符。
2.掌握格式输入/输出函数的用法。 3.学会简单顺序程序的设计。
4.养成良好的程序设计习惯,程序书写风格。 二、实验内容
1.如何实现下述输出要求?
A.输出整数1234,输出共占8位,数据左对齐。 B.输出整数1234,输出共占10位,数据右对齐。
C.输出十六进制整数0xFFDE3C02,输出共占8位,数据左对齐。
D.输出十六进制整数0xFFDE3C,输出共占8位,数据右对齐,前补0。 E.输出浮点数10.36,输出共占6位,数据右对齐。
F.输出浮点数123.4567890,输出共占12位,精度6位,数据右对齐。 G.输出浮点数123.4567890,精度3位,数据左对齐。
2.编制程序,接受用户输入的数值,输出以该值为半径的圆面积,以该值为半径的球体表面积与体积,pi取值3.1415926536,结果保留10位有效数字。
*3.编制程序,输出下述数据。说明:(1)表中数据来自总参谋部测绘局编制的<世界地图集>,数据可能已不准确;(2)面积单位为万平方公里,人口单位为万人,GDP单位为十亿美元。(3)表中所有数据都必须以变量的形式保存;(4)如果不知道每字段宽度到底为多少,请仔细数数作为分隔标记的短横数目。
-------------------------------------------------------------------- COUNTRY AREA(10K km2) POP(10K) GDP(Billion$) -------------------------------------------------------------------- China 960.00 129500.00 1080.00 Iceland 10.30 27.57 8.20 India 297.47 97000.00 264.80 Madagascar 62.70 1635.00 3.60 Maldive 0.0298 27.80 0.23 --------------------------------------------------------------------
实验四 选择结构程序设计
3
一、实验目的
1.掌握关系操作符、逻辑操作符、递增递减操作符的使用方法。 2.熟练使用if、switch编写程序。 二、实验内容
1.给出一个百分制成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’。 90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以 下为‘E’。分别用if和switch语句实现。
实验五 循环结构程序设计实验1 一、实验目的
1.掌握关系操作符、逻辑操作符、递增递减操作符的使用方法。 2.熟练使用for、while编写程序。
3.掌握break和continue语句的使用方法。 二、实验内容
1.使用循环结构打印下述图形,打印行数n由用户输入。图中每行事实上包括两部分,中间间隔空格字符数m也由用户输入。
* ********* *** ******* ***** ***** ******* *** ********* *
2.编制程序,按照下述格式打印九九乘法表。
Nine – by – nine Multiplication Table
---------------------------------------------------------------------- 1 2 3 4 5 6 7 8 9 ---------------------------------------------------------------------- 1 1 2 2 4 3 3 6 9 4 4 8 12 16 5 5 10 15 20 25 6 6 12 18 24 30 36 7 7 14 21 28 35 42 49 8 8 16 24 32 40 48 56 64 9 9 18 27 36 45 54 63 72 81
----------------------------------------------------------------------
*3.存在自然数,其所有小于自身的因子之和等于该数,这样的数称为完数。设计算法,判断某个给定的自然数n是否为完数,要求具有容错处理功能。
实验六 循环结构程序设计实验2 一、实验目的
1.掌握关系操作符、逻辑操作符、递增递减操作符的使用方法。 2.熟练使用for、while编写程序。
3.掌握break和continue语句的使用方法。
4
二、实验内容
1.按照下述格式打印2009年5月日历: Calander 2009-5
------------------------------------------------------ Su Mo Tu We Th Fr Sa ------------------------------------------------------ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
------------------------------------------------------
2.打印所有100至999之间的水仙花数。所谓水仙花数是指满足其各位数字立方和为该数字本身的整数。
3.接受用户输入的正整数n,计算f(n)=1?111??...?的值。 1!2!n!*4.接受用户从键盘输入的年份值与月份值,打印2009年以后(含)任意月份的日
历,2009年前的拒绝打印。
实验七 数组实验1 一、实验目的
1. 掌握定义一维,二维数组的方法
2. 掌握一维,二维数组初始化和循环赋值的方法 3. 掌握数组和循环语句相结合的使用模式处理问题 二、实验内容
1.编程实现用数组打印Fibonacci数列的前20项。
2.编程实现从键盘输入的一组数中找出其中最大值和最小值。 3.编程实现用一、二维数组分别输出杨辉三角。
实验八 数组实验2 一、实验目的
1. 掌握定义一维,二维数组的方法
2. 掌握一维,二维数组初始化和循环赋值的方法 3. 掌握数组和循环语句相结合的使用模式处理问题 二、实验内容
1.编程实现将二维数组行列元素互换。
2.编程实现求二维数组中最大元素值及其行号、列号。
*3.假设有一对兔子,一个月后成长为大兔子,从第二个月开始,每对大兔子生一对小兔子。不考虑兔子的死亡,设计算法求第n个月的兔子总数。
实验九 函数实验1 一、实验目的
1.掌握定义函数的方法。
5

