《《C语言》实验教学大纲(08年修订)(共7页).doc》由会员分享,可在线阅读,更多相关《《C语言》实验教学大纲(08年修订)(共7页).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上C语言实验教学大纲(08年修订)课程编号:一、适用范围大纲适用于计算机科学与技术专业本科教学使用。二、课程名称C语言三、学时数与学分总学时:90,总学分:4;实验学时:36,实验学分:1四、教学目的和基本要求(一)目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,使学生全面了解 C 语言的特点,不仅要熟练掌握C语言的基础知识、基本算法,更重要的是让学生掌握程序设计的思想和方法,培养学生程序开发和设计的能力。(二)基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融
2、会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序,直至运行结果正确为止,上机结束后,应整理出实验报告。五、实验项目与学时分配序号实验项目名称实验学时实验类型1C程序的运行环境和运行一个C程序的方法2验证性实验2顺序结构程序设计4验证性实验3程序流程控制6验证性实验4函数4验证性实验5算法4验证性实验6程序组织与软件开发2验证性实验7复合数据类型4验证性实验8指针4验证性实验9文件与数据存储2验证性实验10学生成绩管理4综合性实验总计36六、教材、讲义及参考书C程序设计题解与上机指导谭浩强主编 清华大学出版社七、实验成绩评定办法考查:平时考核加期末机试。实验
3、成绩占总成绩的20%。平时考核:占实验成绩的40%,由以下两部分组成。实验预习和表现、实验报告。期末机试:占实验成绩的60%。1、实验预习和表现:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序,直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。2、实验报告:学生实验后应按时完成实验报告。实验报告应包括以下内容:实验题目、实验目的、程序清单、运行结果、实验小结。3、期末机试:通过考试了解学生对基本理论掌握的程度和实际水平,教师出实验考试题目,让学
4、生在规定的时间完成。八、实验教学大纲说明本大纲共安排36学时的实验。其中带的题目为选作题目。九、实验项目实验一 C程序的运行环境和运行一个C程序的方法一、实验目的1.了解VC+6.0编译系统的基本操作方法,学会独立使用该系统。2.了解在该系统上如何编辑、编译、连接和运行一个C程序。3.通过运行简单的C程序,初步了解C源程序的特点。二、实验内容1编写一程序,在屏幕上输出如下内容: 2编写一程序,接受用户输入的两个整数,并计算它们的和、差、积、商,程序运行结果应如下所示。注意,尖括号部分表示用户输入数据或要被替换的输出内容,尖括号本身并不需要输入或输出。多使用几组整数尝试一下,你发现了什么? Th
5、e program gets two integers,and computes their sum,difference,product and quotient.The first number:The second number:Results as follows:+=-=*=/=实验二 顺序结构程序设计一、实验目的1.熟悉C语言中的基本数据类型,掌握定义常量和变量以及对它们赋值的方法,了解数据输出时所用格式转换符。2.掌握格式输入/输出函数的用法。3.学会简单顺序程序的设计。4.养成良好的程序设计习惯。二、实验内容1如何实现下述输出要求?A输出整数1234,场宽8位,数据左对齐。B输
6、出整数1234,场宽10位,数据右对齐。C输出十六进制整数0xFFDE3C02,场宽8位,数据左对齐。D输出十六进制整数0xFFDE3C,场宽8位,数据右对齐,前补0。E输出浮点数10.36,场宽6位,数据右对齐。F输出浮点数123.,场宽12位,精度6位,数据右对齐。G输出浮点数123.,精度3位,数据左对齐。H输出字符串“abcdefghijklmnopqrstuvwxyz”,数据左对齐。I输出字符串“abcdefghijklmnopqrstuvwxyz”,场宽10位,数据右对齐。J输出字符串“abcdefghijklmnopqrstuvwxyz”,场宽10位,数据左对齐,多余字符截断。2
7、编写一程序,声明某个整数,并将其值设为INTMAX,将其递增1,输出结果。INTMAX为表示最大整数的宏,其定义位于头文件“limits.h”中,编程时记住包含此头文件。3编制程序,接受用户输入的数值,输出以该值为半径的圆面积,以该值为半径的球体表面积与体积,pi取值3.,结果保留10位有效数字。4编制程序,输出下述数据。说明:(1)表中数据来自总参谋部测绘局编制的世界地图集,数据可能已不准确;(2)面积单位为万平方公里,人口单位为万人,GDP单位为十亿美元。(3)表中所有数据都必须以变量的形式保存;(4)如果不知道每字段宽度到底为多少,请仔细数数作为分隔标记的短横数目。-COUNTRYARE
8、A(10Kkm2)POP(10K)GDP(Billion$)-China 960.00 .00 1080.00Iceland 10.30 27.57 8.20India 297.47 97000.00 264.80Madagascar 62.70 1635.00 3.60Maldive 0.0298 27.80 0.23-实验三 程序流程控制一、实验目的1.掌握关系操作符、逻辑操作符、递增递减操作符的使用方法。2.熟练使用if、switch、for、while编写程序。3.掌握break和continue语句的使用方法。二、实验内容1给出一个百分制成绩,要求输出成绩等级A,B,C,D,E。90
9、分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。分别用if和switch语句实现。2打印所有100至999之间的水仙花数。所谓水仙花数是指满足其各位数字立方和为该数字本身的整数。3使用循环结构打印下述图形,打印行数n由用户输入。图中每行事实上包括两部分,中间间隔空格字符数m也由用户输入。 * * * * * * * * * *4编制程序,按照下述格式打印九九乘法表。Nine by nine Multiplication Table- 1 2 3 4 5 6 7 8 9-1 12 2 43 3 6 94 4 8 12 165 5 10 15 20 256 6 12 1
10、8 24 30 367 7 14 21 28 35 42 498 8 16 24 32 40 48 56 649 9 18 27 36 45 54 63 72 81-5按照下述格式打印2006年12月日历:Calander 2006-12-Su Mo Tu We Th Fr Sa- 1 2 3 4 5 6 7 8 910 11 12 13 14 15 1617 18 19 20 21 22 2324 25 26 27 28 29 3031-6接受用户输入的正整数n,计算f(n)=的值。7接受用户从键盘输入的年份值与月份值,打印2007年以后(含)任意月份的日历,2007年前的拒绝打印。实验四
11、函数一、实验目的1.掌握定义函数的方法。2.掌握函数实参与形参的对应关系,以及函数调用的值传递规则。3.理解函数返回值的意义,掌握正确操作函数返回值的方法。二、实验内容1编制函数GetReal与GetString,要求能够:(1)输出主调函数调用时传递的提示用户输入数据的字符串信息,(2)将用户输入结果返回给主调函数。提示:可参考GetInteger与GetFloat函数的实现,可以使用zylib库的函数GetRealFromKeyboard与GetStringFromKeyboard完成你的工作。2编写一函数IsPrime,判断某个大于2的正整数是否为素数。3编写一函数gcd,求两个正整数的
12、最大公约数。4已知2007年1月1日为星期一。设计一函数按照下述格式打印2007年以后(含)某年某月的日历,2007年以前的拒绝打印。Calendar 2007-01-Su Mo Tu We Th Fr Sa- 1 2 3 4 5 6 7 8 9 10 11 12 1314 15 16 17 18 19 2021 22 23 24 25 26 2728 29 30 31-5按月打印2007以后(含)某年的全年日历,2007年以前的拒绝打印。要求将程序中出现的所有重复模式都设计为函数。每月间有一空行。实验五 算法一、实验目的1.掌握算法的描述方法,能针对特定问题设计相应算法。2.掌握容错处理的基
13、本方法和手段。3.掌握递归的方法设计程序。二、实验内容1编写程序,接受用户输入的自然数n,调用例414给出的IsPrime函数终极版输出2999之间的所有素数。要求每行打印五个素数后换行,并保证数据能够右对齐。2假设有一对兔子,一个月后成长为大兔子,从第二个月开始,每对大兔子生一对小兔子。不考虑兔子的死亡,设计算法求第n个月的兔子总数。3已知,使用递归方法求解。4存在自然数,其所有小于自身的因子之和等于该数,这样的数称为完数。设计算法,判断某个给定的自然数n是否为完数,要求具有容错处理功能。5给定一个自然数n,求其各位数字之和,重复上一过程,一直得到19之间的数。例如数1234的各位数字之和为
14、10,继续计算,得到10的各位数字之和为1。实验六 程序组织与软件开发一、实验目的1.掌握库的接口定义与编码实现的方法。2.掌握通过相关接口调用库函数的方法。二、实验内容1编写一掷骰子游戏,首先由计算机生成一个随机数,然后接受用户输入的字符串“g”命令后生成用户的随机数(模拟用户掷了一次骰子),比较它们的大小,如果用户得到的随机数小于计算机得到的,则输出用户输了,否则输出用户赢了。2编写一函数,返回1-52之间的随机数,模拟发不含大小王牌的扑克牌,将生成的随机数映射为每张扑克牌。按照花色(梅花、方块、红桃、黑桃)和大小(210、J、Q、K、A)顺序进行映射。3面向小学12年级学生,随机选择两个
15、整数和加减法形成算式要求学生解答。要求(1)只出10道题,每题10分,程序结束时显示学生得分;(2)确保算式没有超出12年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出050的范围,负数更是不允许的;(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;(4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;(5)当学生输入了正确得数后,随机显示评价结果,例如“Right!”、“Correct!”,“Thats the answer”等,若答案错误,则按照“No,th
16、e answer is ”输出答案。实验七 复合数据类型一、实验目的1.掌握字符串的操作方法;2.掌握数组的定义和使用方法,熟练使用数组进程序设计。3.掌握结构体的使用方法,熟练使用结构体进行程序设计。4.掌握查找和排序的基本方法。二、实验内容1给定字符串s,其内容为英语长句,其中包含英语单词、标点符号、空格等内容,每个英语单词使用标点符号、一个或多个空格分隔。将英语长句分隔成英语单词序列输出,并输出其单词数目。2有3个学生,每个学生的数据包括学号、三门课的成绩,要求用input函数实现从键盘输入学生数据,用average函数求每个人的平均分,用output函数打印学生数据及平均成绩。3编写函
17、数,随机生成30个1099之间的整数并保存到数组中,编写函数DeleteRepeatedIntegers,删除数组中所有重复的元素。4编写函数实现折半查找算法。5递归方法实现快速排序算法。快速排序的基本原理是:(1)选择一个充当划分较小和较大元素的界限的元素,称其为基准值。(2)将数组中的元素重新排列使得较大元素向数组尾端移动,较小元素向数组首端移动。如此在形式上将数组分成两部分,界限左边元素都小于基准值,而界限右边元素都大于基准值,此过程称为分解。在分解完成后,充当界限的数组首元素可能需要和中间某元素对调。(3)排序两个子数组中元素。因为基准值左边元素都小于基准值右边元素,所以将两个子数组分
18、别排序后即使得整个数组有序。实验八 指针一、实验目的1.掌握指针和数组作为函数参数时的使用方法。2.能熟练使用指针操作各种数据对象。3.掌握动态存储分配的方法。二、实验内容1编写函数,求包含n个元素的整数数组中元素的平均值。要求在函数内部使用指针操纵数组元素。2编写函数,完成n X n矩阵的转置操作,矩阵各元素值随机生成。3独立实现标准字符串库的strcmp函数。4接受用户输入的整数n,随机生成n个0100间的整数,使用动态数组存储所有元素,分别统计059,6084,85100之间的元素个数。5编写有理数库。分别使用整数表示有理数的分子与分母。要求至少完成有理数的加减乘除与化简运算。实验九 文
19、件与数据存储一、实验目的1.掌握文件和文件指针的概念。2.掌握文件打开、关闭和读写等操作。二、实验内容1编写程序,从文本文件中读取全部内容,并复制到另一文件中。要求将文本文件中的所有英文字母都转换成大写后输出。2编写程序,读取一个文本文件,统计其中的英文字母与数字字符的个数,全部字符个数与单词个数。3统计英文文档中单词出现的频率。实验十学生成绩管理一、实验目的1.掌握C语言编程方法。2.熟练使用C语言的控制语句。3.掌握C语言基本数据类型、数组、结构体类型等的使用方法。4.掌握C语言函数的定义、调用的方法。5.掌握常见的一些算法,如排序、查找算法等。6.掌握文件和文件指针的使用方法。7.熟练使用VC环境。二、实验内容编写一个C程序,对一个班的学生成绩进行管理,其中:每个学生的数据包括学号、姓名、三门课的成绩(英语、数学、计算机)和平均成绩。主菜单如下:1、输入学生数据 2、输出学生数据 3、数据排序(按平均分)4、数据查找5、数据删除 6、追加学生数据 7、统计数据(统计各分数段平均分的人数。分五档:60分以下,6069,7079,8089,90100)8、读取数据文件9、写入数据文件10、退出系统。十、其他专心-专注-专业
限制150内