《级C语言程序设计实验教学大纲1465.pdf》由会员分享,可在线阅读,更多相关《级C语言程序设计实验教学大纲1465.pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 级 C 语言程序设计实验教学大纲 Revised by BETTY on December 25,2020 C 语言程序设计实验教学大纲 学时课程总:64 学分:4 实验学时:24 实验个数:9 实验学分:课程性质:必做 适用专业:计算机科学技术、网络工程、软件工程、电子商务、教育技术 教材及参考书:C 语言程序设计与实践实验指导,谢满得 邵俊 编着,机械工业出版社,2014 年 1 月 大纲执笔人:廖雪花 大纲审定人:一、实验课的性质与任务 C 语言程序设计实验是面向计算机相关专业学生开设的C 语言程序设计实验课,是配合C 语言程序设计课程而开设的实践性教育环节。本课程的主要任务是让学生充
2、分掌握 C 语言程序设计的基本概念、各种数据类型的使用技巧、模块化程序设计的方法等。C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。通过 C 语言上机实验的教学活动,使学生真正全面掌握 C 语言的基础知识,培养和提高学生的程序开发能力。二、实验课程目的与要求 1实验目的 通过实验课程的学习实践,加深学生对所学的基本概念、基础理论和知识的理解,熟悉使用Visual C+集成环境进行 C 语言的编写、编译与调试。同时,通过项目开发全过程的全方位指导,从需求分析、算法设计到程序编写和过程调试,以项目实训的形式引导和帮助学生解决实际问题,提高学生解决具体问题的能力
3、,以及培养学生用多函数、多文件组织程序的思维习惯,为今后的后继课程学习和实际工作打下良好基础。2实验要求(1)掌握 C 语言程序的基本格式,了解 C 程序的开发过程和 C 语言中的一些常用概念。(2)掌握常量和五种基本数据类型变量的使用。(3)掌握 C 表达式和运算符的正确使用,熟练掌握数据输入、输出函数。(4)掌握条件转移语句 if-else 和选择分支语句 switch;掌握三种程序跳转的方法,即 break 语句、continue 语句、return 语句。(5)掌握循环语句(for 语句;do-while 语句;while 语句)的正确使用,认真体会应该如何组织循环。(6)掌握数组的定
4、义、赋值,一维数组与二维数组的使用。(7)掌握函数的定义、函数的调用以及函数的类型说明。(8)掌握局部变量、全局变量的定义和使用。(9)掌握指针的基本概念以及数组与指针、指向指针的指针的基本用法。(10)掌握结构体变量的定义,引用结构体中成员的方法,应用结构数组解决实际问题;共用体的概念,引用共用体中成员的方法。(11)掌握链表的类型定义及其基本操作。(12)掌握文件的打开、读写及关闭,并能运用文件提高编程的效率。(13)理解项目式程序开发的过程。三、实验项目及内容提要 C 语言程序设计实验课程 ()序号 实验项目编号 实验名称 学时 必做 选做 学分数 实验类型 内容提要 基本操作 验证 综
5、合 设计 1 实验一 数据类型和表达式 2 1 1、了解 C 语言中数据类型的意义。2、理解常用运算符的意义。3、掌握 C 语言表达式的运行规则 2 实验二 分支结构程序设计 2 1 了解和掌握分支语句的使用,包括 if 语句的各种形式以及switch 语句 3 实验三 循环结构程序设计 2 2 1、使用循环语句完成累乘、图像输出的程序编写。2、掌握较复杂结构程序的编写。3、掌握程序调试的方法 4 实验四 数组程序设计 4 2 掌握一维和二维数组的使用技巧 5 实验五 函数 5 2 1、学习函数的编程思想,编写一个包括34 个函数的程序。2、掌握函数中参数传递的两种方式和函数的相互调用 6 实
6、验六 指针 3 2 1、用指针作为函数参数完成字符串的传递。2、掌握函数中参数传递的两种方式 7 实验七 字符串与指针 2 1 1、掌握用指针进行函数参数传递的方法。2、掌握指针数组和二维数组间的关系以及进行参数传递时的写法 8 实验八 结构体 2 1 1、掌握结构体的定义、数据输入方法。2、掌握结构体成员变量的两种访问方法。3、掌握编写程序完成单链表的建立和查询方法 9 实验九 文件操作 2 1 1、掌握文件的打开和关闭。2、精通文件的读写操作。3、了解文件的定位操作及文件的检测函数。4、掌握文件的应用 四、实验内容安排:实验一 数据类型和表达式 实验(验证性 实验 2 学时)1、目的要求:
7、(1)了解 C 语言中数据类型的意义。(2)理解常用运算符的意义。(3)掌握 C 语言表达式的运行规则。(4)编写实验报告。2、实验内容(参考实验指导书):(1)计算由键盘输入的任何两个双精度数据的平均值。(2)写一个输入 7 个数据的程序,把输入的数据代入a+b*(c d)/e*f g 表达式进行运算。(3)编写一个 C 语言程序,测试下列各表达式:i,j i+1,j+1 i+,j+i,+j i+j(4)输入存款金额 money,存期 year 和年利率 rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留 2 位小数。interest=money(1+rate)
8、year-money(5)输入华氏温度,输出对应的摄氏温度。计算公式如下:c=5*(f-32)/9 其中,c 表示摄氏温度,f 表示华氏温度。实验二 分支结构程序设计 实验(验证性 实验 2 学时)1、目的要求:(1)了解和掌握分支语句的使用,包括if 语句的各种形式以及 switch 语句。(2)编写实验报告。2、实验内容(参考实验指导书):(1)编写一个程序完成输入一个整数,输出它的符号。(2)请编写居民应交水费,并提供各种测试数据。居民应交水费 y(元)与月用水量 x(吨)的函数关系式如下:0 x 15(3)请根据输入的学生成绩给出成绩等级的判断,判断规则如下:如果输入的成绩大于等于 9
9、0,则输出优秀;如果输入的成绩小于 90、大于等于 80,则输出良好;如果输入的成绩小于 80、大于等于 70,则输出中等;如果输入的成绩小于 70、大于等于 60,则输出及格;其他输出不及格。(4)运输公司对用户计算运费。路程(s)越远,每公里运费越低。标准如下:s 250km 没有折扣 250km s 500km 2%折扣 500km s 1000km 5%折扣 1000km s 2000km 8%折扣 2000km s am,则 x 只可能在区间am+1,an 若 x am,则 x 只可能在区间a1,am-1 若 x=am,则 am即为查找的数,求解结束。从上面的分析发现,这个过程很适合
10、用递归来实现。实验六 指针 实验(验证性 综合性 实验 4 学时)1、目的要求:(1)用指针作为函数参数完成字符串的传递。(2)掌握函数中参数传递的两种方式。(3)编写实验报告。2、实验内容(参考实验指导书):(1)编写一个函数 char*delk(char*sp),把 sp 所指向的字符串中所有的“$”字符删除,并把处理后的字符串指针返回。(2)写一个函数 int find(char*s1,char*s2),函数 find 的功能是查找串 s1 中是否包含指定的词(s2 指向),如果存在则返回第 1 次出现的位置,否则返回-1.约定串中的词由 1 个或 1 个以上的空格符分隔。(3)编程实现
11、将输入的十进制整数 n 通过函数 DtoH 转换为十六进制数,并将转换结果以字符形式输出。例如:输入十进制数 79,将输出十六进制数 4f。(4)定义函数 void Merge(int a,int n,int b,int m),参数 a、b 为一维数组,数组中的数据为升序排列,n 和 m 分别为它们的元素个数。函数的功能为:将数组 a 和 b 合并为一个数组,合并后的结果存放于数组 a 中,要求合并后的数组 a 仍旧为升序排列。请编程实现,并编写 main 函数对其测试。实验七 字符串与指针 实验(验证性 综合性 实验 2 学时)1、目的要求:(1)掌握用指针进行函数参数传递的方法。(2)掌握
12、指针数组和二维数组间的关系以及进行参数传递时的写法。(3)编写实验报告。2、实验内容(参考实验指导书):(1)编写一个书名排序程序,输入 10 个书名存入一个二维数组,用函数 void sortstring(char*name,int n)实现它们的字典顺序。(2)编写函数 void search(char*s1,char*s2,char*s3)。函数 search()从已知的两个字符串 s1 与 s2 中找出它们都包含的最长的单词放入字符串 s3,约定字符串中只有小写字母和空格字符,单词用 1 个或 1 个以上空格分隔。(3)编写一个主函数,测试上述两个函数的正确性。(4)输入一个字符串,内
13、有数字和非数字字符,例如:将其中连续的数字作为一个实数,依次存放到一数组 a 中。例如 123 存放在a0,存放在 a2,依次类推,统计共有多少个数,并输出这些数。实验八 结构体 实验(验证性 综合性 实验 2 学时)1、目的要求:(1)掌握结构体的定义、数据输入方法。(2)掌握结构体成员变量的两种访问方法。(3)掌握编写程序完成单链表的建立和查询方法。(4)编写实验报告。2、实验内容(参考实验指导书):(1)编写一个建立单链表的函数,设链表的表元素信息包含学号、姓名、一门课的成绩;写一个按照学号查学生成绩的函数;最后写一个主函数,它先调用建立函数,再调用查询函数,显示查到学生的姓名和成绩。(
14、2)编一程序,能把从终端输入的一个字符串中的小写字母全部转换成大写字母,要求输入的字符的同时指定该字符在字符串中的序号(即字符在字符串中的顺序号,例如第 1 个字符的序号为 1),字符和序号存入结构体中,字符串存入结构体数组中,然后显示结构体数组的结果(用字符!表示输入字符串的结束)。(3)在本实验的实验内容 1 的基础上,实现在链表元素 index 之前插入元素的操作Insert(struct node*head,int index)和删除指定位置元素的操作Delete(struct node*head,int index),并编写主函数测试。实验九 文件操作 实验(验证性 综合性 实验 1
15、 学时)1、目的要求:(1)掌握文件的打开和关闭。(2)精通文件的读写操作。(3)了解文件的定位操作及文件的检测函数。(4)掌握文件的应用。(5)编写实验报告。2、实验内容(参考实验指导书):(1)编写一个程序,读取磁盘上的一个 C 语言程序文件,要求加上注释后再存放到磁盘上,文件可以另外命名。(2)编写一个程序,将文件从第 10 行起存放到中。(3)有一个整数文件,读取其中的数值,如果为奇数加 1,如果为偶数减 1,然后存放到新的文件中去。(4)二进制文件中包含若干个整数,用键盘输入一个整数,请在文件中找出该整数的下一个数并输出。若找不到则输出“Not Found!”。五、实验报告的格式 实
16、验名称(一)实验目的和要求:(二)实验内容:每个实验内容含以下五部分:1、算法描述:2、源代码和说明:3、测试数据:4、运行结果:5、问题及解决方法:(三)实验总结:具体可参考实验指导书 P15P19 页举例。六、考核方式、方法及实验成绩评定方法 1、考核方式、方法:C 语言程序设计实验课成绩单独按五级记分。凡实验成绩不及格者,该门课程必须重修。学生的实验成绩应以平时考查为主,一般应占总分的 20%,其平时成绩又要以实验实际操作的优劣作为主要考核依据。在学期末或课程结束时,为复习和巩固实验教学内容,进一步对学生作补充了解,也可举行一定的实验操作考试,但无论采取何种方式进行考核,都必须按实验课的
17、目的要求,以实际实验工作能力的强弱作为评定成绩的主要依据。因此,最终的集中考试结果只能占总成绩的 20%。2、实验成绩评定方法:评定各级成绩时,可参考以下标准:(一)优秀(很好)能正确理解实验的目的要求,能独立、顺利而正确地完成各项实验操作,会分析和处理实验中遇到的问题,能较好地完成实验报告及其它各项实验作业,有一定设计能力。有良好的实验工作作风和习惯。(二)良好(较好)能理解实验的目的和要求,能认真而正确地完成各项实验操作,能分析和处理实验中遇到的一些问题。能掌握所学实验技能的绝大部分,对难点较大的操作完成有困难。能一般完成实验报告和其它实验作业。有较好的实验习惯和工作作风。(三)中等(一般
18、)能粗浅理解实验目的要求,能认真努力进行各项实验操作,但技巧较差。能分析和处理实验中一些较容易的问题,掌握实验技能的大部分。有 30%掌握得不好。能一般完成各项实验作业和报告。处理问题缺乏条理。工作作风较好。能认真遵守各项规章制度。学习努力。(四)及格(较差)只能机械地了解实验内容,能一般性地按实验步骤完成实验操作,能完成 60%所学的实验技能,有些虽作但不准确。遇到问题常常缺乏解决的办法,在别人启发下能作些简单处理,但效果不理想。能一般完成实验报告,能认真遵守实验室各项规章制度,工作中有小的习惯性毛病。(五)不及格(很差)盲目地操作,只掌握 50%的所学实验技能。有些实验虽能作,但一般效果不
19、好,操作不正确。工作忙乱无条理。一般能遵守实验室规章制度,但常有小的错误。实验报告较多的时候有结果,遇到问题时说不明原因,在教师指导下也较难完成各项实验作业。或有些小聪明但不努力,不求上进。七、实验主要应配套仪器设备及台(套)数(以一个实验教学班 60 人为标准)序号 仪器设备名称 数量 备注 1 计算机 60 台 2 C 语言编译环境软件 1 套 八、主要教材及参考书 1、C 语言程序设计与实践实验指导,谢满得 邵俊 编着,机械工业出版社,2011 年 6 月。2、标准 C 程序设计(第四版),(印)E Balagurusamy 着,金名 李丹程 刘莹 那俊 等译,清华大学出版社,2008 年 6 月。3、C How to Program(4th ed.),HM Deitel&PJ Deitel,清华大学出版社,2002。4、C 程序设计习题解答与上机指导,谭浩强,清华大学出版社,2003。5、C 语言程序设计习题集,陈朔鹰等,人民邮电出版社,2003。6、C 程序设计语言(美)Brian W.Kerninghan 着,徐宝文 译,机械工业出版社,2003。7、C 程序设计教程(美)Deilel 着,薛万鹏 译,机械工业出版社,2003。