《C语言程序设计》课程设计指导书(2008)
- 格式:doc
- 大小:380.00 KB
- 文档页数:10
第一章C语言及程序设计概述本章要求:了解C语言的特点、C语言与其它高级语言相比有什么异同;了解C程序在PC机上的建立、编译和运行过程;了解C语言程序设计思想的基本篇;重点:①C语言的主要特点;②C语言在PC机上的运行过程及上机操作过程;③常用算法的应用难点:无一、C语言概述C语言是目前国际上在各种计算机运行较为广泛流行的一种高级语言.主要表现为:C语言:适合于作为系统描述语言—-可用来写系统软件。
具有高级语言的特点,又有低级语言(汇编语言)的特点。
C语言:是AT&T贝尔实验室的Dennis Ritchie在1972年发明的。
C语言:是在B语言的基础上发展起来的.(ALGOL 60)C语言:最早开始是用于UNIX操作系统。
(C语言和UNIX是相辅相成的)DBASE 、Microsoft Exel 、 Microsoft Word、PC—DOS等,则是用C语言加上若干汇编子程序编写的。
1983年:——制定的新标准,称为(美国国家标准化协会)ANSI C1987年:—-Turbo C1.0 (Borland) 1988年:TC 1.5(图形和文本窗口)1989年:——Turbo C2。
0 (DOS操作系统、查错、Tiny模式生成com文件)1991年:—-Turbo C++(3.0) 支持windows 3.X说明:Turbo C语言可以在程序的任何地方嵌入汇编代码,提高速度,可以直接使用存储器和寄存器。
二.C语言的特点1.语言简洁、紧凑、使用方便、灵活C语言:——共有32个关键字,9种控制语句;程序书写自由,主要用小写字母表示;2.运算符丰富C语言的运算符包含的范围很广泛,共有34种运算符;即:把括号、赋值、强制类型转换都作为运算符处理3.有丰富的数据类型整型、实型、字符型、数据类型、指针类型、结构体类型、共用体(联合)类型等。
实现复杂的数据结构(链表、树、栈、图)的运算。
4.具有结构化的功能,用函数作为程序模块,实现程序的模块化5.语法限制不太严格,程序设计自由度大.(放宽了语法检查)例:1)对数组下标越界不作检查,由程序编写者自己保证程序的正确;2)整型数据、字符型数据、逻辑型数据可以通用。
A11网络《C语言程序设计》课程设计——指导书课程设计题目:电子通讯录系统课程设计班级:A11网络课程设计时间:2012.6.18 ~ 2012.6.22指导老师:肖丽娜一、课程设计目的和意义:1、通过本次课程设计,锻炼学生应用C语言的语法规则和已经掌握的一些较为简单的算法,自己解决一个较简单的课题,初步积累编程经验。
2、通过学习掌握程序设计的方法与编程技术,学会良好的程序设计风格,为计算机在不同领域的应用打下坚实的基础。
3、要求学生能利用计算机解决实际问题。
从分析问题入手,设计可行的算法,进而编出相应的C程序。
强调上机实践过程,从实际应用出发,上机实验环境用TURBO C。
二、时间安排课程设计时间为1周。
三、设计题目、任务及要求题目:电子通讯录系统自学C语言中有关链表及外部文件的内容,独立设计上述应用系统,并编程实现以下功能:①信息录入录入通讯录信息(包括姓名、部门、电话)。
②信息查询输入姓名,查询与姓名相对应的部门和电话信息。
并按可选的自定义规则进行排序。
③信息删除与修改输入姓名,删除该姓名的通讯信息;输入姓名,查询并显示出该姓名的通讯信息信息,并在此基础上进行修改。
④信息保存将姓名、部门及电话信息保存于外部存储器的文件中。
要求:①根据以上功能需求,定义通讯录信息结构,并采用链表结构对数据进行存储;②为了保证所有的数据可以长期被使用,要求程序能将录入数据存储在外部数据文件中,具体数据格式自定;③提供友好的用户界面,方便用户操作。
四、设计和调试过程规范化要求设计步骤的规范不但可以培养学生科学的工作方法和作风,而且还能有效地减少错误,提高工作效率。
因此必须严格执行良好的实验步骤规范(包括上级操作规范)。
本课程设计的基本步骤是:1、问题分析及解决方案框架确定充分地分析和理解问题本身,弄清要求做什么(What to do?)。
在确定解决方案框架过程中(How to do?),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。
《C语言程序设计课设》课程设计指导书一、课程设计的目的(1)加深对讲授内容的理解,尤其是一些语法规则。
(2)熟悉C语言程序设计的结构化编程的思想,掌握数据的基本类型、自定义类型、函数、文件和指针等知识,能运用这些知识进行综合编程,熟练应用。
(3)能够综合运用所学知识,编程解决实际问题。
(4)培养团队分工合作的意识,最终使学生提高编程技能和解决实际问题的能力。
二、课程设计基本要求2.1.组织管理1.由院、系指派经验丰富的专业教师担任指导教师。
2.课程设计实行课程负责人与指导教师共同负责制。
3.课程负责人主要进行课设的命题、指导教师的考核、技术把关和全面管理。
4.指导教师全面负责所承担班级的课程设计指导、管理和考核评定工作。
2.2设计要求1.自选题目、小组管理、团队合作、小组评测。
2.模块化程序设计。
3.锯齿型书写格式。
4.必须上机调试通过。
三、选题要求:每个题目限定1-2人,每人必须负责一部分功能,并独立完成,推举出一个组长,负责任务分工,汇总到班长处,然后交给指导教师。
四、设计报告格式及要求:1、题目2、设计目的3、总体设计(程序设计组成框图、流程图)4、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)5、运行结果及分析6、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施7、课程设计心得及体会8、源程序清单和执行结果:清单中应有足够的注释五、课程设计成绩评定5.1基本要求:(1)每个人必须有程序运行结果;(2)每个人必须交《C语言课程设计》报告5.2、成绩评定和打分标准由指导教师对学生在课程设计期间的表现,所完成的设计报告的质量、设计结果的验收和答辩情况进行综合考核。
具体评定标准如下:(1)上机考勤:注重平时上机考勤与遵守纪律情况20%(2)结果验收:学生能运行、讲述或调试自己的程序,回答教师提问,每个人必须有程序运行结果40%(3)小组自评成绩结果10%(4)设计报告:每个人必须交《C语言课程设计》报告和《C语言课程设计》日志30%以上四项缺一不可,否则不能到得相应学分依据上述考核内容,最后采用优(>90分)、良(80~89分)、中(70~79分)及格(60~69分)、不及格(<60分)五级记分制评定学生课程设计成绩。
计算机软件基础实验指导书计算中心辽宁工业大学2008年12月目录实验一熟悉C语言编程环境 (1)实验二基本数据处理 (8)实验三计算分段函数 (11)实验四指定次数的循环 (15)实验五分支结构程序设计 (18)实验六循环结构程序设计(一) (24)实验七循环结构程序设计(二) (29)实验八循环结构程序设计(三) (34)实验九循环结构程序设计(四) (39)实验十函数程序设计(一) (43)实验十一函数程序设计(二) (50)实验十二一维数组程序设计 (57)实验十三二维数组程序设计 (63)实验十四字符数组程序设计 (70)实验十五指针程序设计 (76)实验十六结构程序设计 (87)实验十七文件 (93)实验一熟悉C语言编程环境【实验目的】1、熟悉C语言编程环境,掌握C程序在Visual C++ 6.0环境下的编辑、编译、连接和运行。
2、能够编写简单的C程序。
3、掌握程序的调试方法,能够找出并改正程序中的语法错误。
【实验内容】一、在Visual C++ 6.0编程环境下的操作步骤用一个示例详细介绍C语言源程序在Visual C++ 6.0编程环境下,操作的整个过程。
【示例】在屏幕上显示你的学号、姓名和专业源程序:/*在屏幕上显示你的学号、姓名及专业*/#include "stdio.h"void main(){printf("\t08001020\t张楠\t车辆工程\n");}操作步骤:(1)启动VC++。
执行“开始”“程序”“Microsoft Visual Svtudio 6.0”“Microsoft Visual C++ 6.0”命令,进入VC++编程环境(如图1-1所示)。
图1-1 VC++窗口(2)新建文件。
执行“文件”“新建”命令,单击“文件”选项卡(如图1-2所示),选列表中的“C++ Source File”,在“文件”文本框中输入2-1.c,在“C目录”文本框确定存放位置,然后单击确定。
《C语言程序设计教程》第一章教案设计【教学目标】1. 理解C语言的发展历程和特点。
2. 掌握C语言的基本语法和结构。
3. 能够编写简单的C语言程序。
【教学内容】1. C语言的发展历程和特点。
2. C语言的基本语法和结构。
3. 简单的C语言程序编写。
【教学步骤】1. 引入C语言的发展历程和特点,让学生了解C语言的重要性和应用领域。
2. 讲解C语言的基本语法和结构,包括变量、数据类型、运算符等。
3. 通过实例讲解如何编写简单的C语言程序,让学生掌握基本的程序结构。
【教学评价】1. 学生能够描述C语言的发展历程和特点。
2. 学生能够掌握C语言的基本语法和结构。
3. 学生能够编写简单的C语言程序。
《C语言程序设计教程》第二章教案设计【教学目标】1. 掌握C语言的变量和数据类型。
2. 理解C语言的运算符和表达式。
3. 能够进行基本的数学运算和逻辑运算。
1. C语言的变量和数据类型。
2. C语言的运算符和表达式。
3. C语言的基本数学运算和逻辑运算。
【教学步骤】1. 讲解C语言的变量和数据类型,让学生掌握如何声明和使用变量。
2. 讲解C语言的运算符和表达式,让学生了解不同运算符的使用方法和优先级。
3. 通过实例讲解如何进行基本的数学运算和逻辑运算,让学生掌握运算符的实际应用。
【教学评价】1. 学生能够正确声明和使用变量。
2. 学生能够理解和使用不同的运算符。
3. 学生能够进行基本的数学运算和逻辑运算。
《C语言程序设计教程》第三章教案设计【教学目标】1. 掌握C语言的控制语句。
2. 理解C语言的条件语句。
3. 能够编写简单的循环程序。
【教学内容】1. C语言的控制语句。
2. C语言的条件语句。
3. C语言的循环语句。
1. 讲解C语言的控制语句,让学生了解如何进行跳转和分支。
2. 讲解C语言的条件语句,让学生掌握如何根据条件进行分支。
3. 通过实例讲解如何使用循环语句编写循环程序,让学生掌握循环的使用方法和退出条件。
c语⾔程序设计实验指导书《C 语⾔程序设计》实验指导书实验⼀C 程序的运⾏环境⼀、实验⽬的1、了解所⽤的计算机系统的基本操作⽅法,学会独⽴使⽤该系统;2、了解在该系统上如何编辑、编译、连接和运⾏⼀个C 程序;3、通过运⾏简单的C 程序,初步了解C 程序⼆、实验预习1、认真阅读简单的C 程序介绍,C 程序上机步骤部分内容;2、编写好所需要的程序,程序的书写应该清楚整洁,⼀般检查应该是没有明显的错误。
如果在程序中有疑问的地⽅,可以标记起来,以便于上机调试时予以注意。
初学者特别忌讳上机前⾃⼰不编写程序,到时随便地抄别⼈的程序。
三、实验指导1、输⼊并运⾏⼀个简单的程序,从⽽熟悉所⽤系统的上机⽅法与步骤。
(1)选择“File”—“New”—“Win32 console application”,输⼊⼯程名称,确定。
直接选择第⼀项“An empty project”,点击“Finish”。
“File”—“New”—File框下⾯选择⽂件类型“C++ Source File” ,输⼊⽂件名称,点击“OK”。
(2)输⼊下⾯的程序(例题1.1)#includevoid main( ){printf("This is a C program.\n");}(3)选择“Build”菜单下“Compile”选项,快捷键为Ctrl+F7。
编译过程将源代码转化成⽬标⽂件格式,后缀名为.o。
选择“Build”菜单下“Build”选项,快捷键为F7。
如果出现“出错信息”,则应找出原因并改正之,再进⾏编译构建。
(4)如果编译⽆错误,选择“Build”菜单“Execute”选项,运⾏程序,快捷键为Ctrl+F5,观察分析运⾏结果。
2、输⼊并编辑⼀个C 程序(1)同上,新建⼯程和⽂件。
(2)输⼊以下程序(例题1.2,但故意漏打或打错⼏个字符)#includevoid main( ){int a,b,sum ;a=123 ;b=456 ;sum=a+b ;printf("sum is %d\n",sum);}(3)以下步骤同上⼀例题3、输⼊并运⾏⼀个需要在运⾏时输⼊数据的程序(1)清空编辑窗⼝,输⼊下⾯的程序(例题1.3)。
(完整版)《C语言程序设计》课程教学大纲《C语言程序设计》课程教学大纲一、课程教学目的本课程系统学习C语言的基本知识和基本语法,较好地训练学生解决问题的逻辑思维能力以及编程思路和技巧,使学生具有较强的利用 C 语言编写软件的能力,为培养学生有较强软件开发能力打下良好基础。
二、课程教学要求通过本课程的学习,应熟练掌握 C 语言中的基本知识、各种语句及程序控制结构,熟练掌握C 语言的函数、数组、指针、结构体、链表等数据结构的基本算法;并能熟练地运用 C 语言进行结构化程序设计;具有较强的程序修改调试能力;具备较强的逻辑思维能力和独立思考能力。
三、课时分配本学科计划学时为246学时,其中理论与实训课时比例为7:3。
四、课程教学重、难点课程教学重点:掌握C语言变量类型及不同类型常量的表示;标准的输入输出函数的使用;运算符及常用数学函数的使用;控制流程、数组和指针的使用;结构体、链表的构造使用;函数结构、函数参数传递及递归等方面的知识;基本的文件操作。
难点:指针的使用、结构体链表的构造和使用及函数的参数传递。
五、课程教学方法(或手段)本课程实践性较强,故采用讲授和上机操作相结合的方式进行教学。
六、课程教学内容第一章C语言概述1.教学内容(1) 编程历史的回顾、程序设计介绍(过程式,面向对象,函数式,逻辑式);(2) C语言的历史背景、特点;(3) C语言源程序的格式和程序结构;(4) C程序的上机步骤。
2.重、难点提示(1)重点:掌握简单的C程序格式,包括main()函数、数据说明、函数开始和结束标志等;(2)难点:编程入门以及对语言的理解。
第二章算法1.教学内容(1) 算法的概念及特性;评价算法优劣的方法(时间和空间);(2) 简单算法举例;(3) 算法的表示(自然语言、流程图、N-S流程图);(4) 结构化程序设计的基本思想及基本步骤。
2.重、难点提示(1)重点:算法流程图三种基本结构(以后各章学习中利用流程图强化对程序的理解);(2)难点:算法概念以及对结构化程序设计思想的理解。
《高级语言程序》课程设计指导书刘焕军广东工业大学自动化学院二00八年十二月印刷目录高级语言程序设计课程设计指导书 (1)附录课程设计报告结构及要求 (3)封面格式 (4)选题范围 (5)C语言程序设计设计项目名称:C语言程序设计所属课程名称:C语言程序设计设计计划学时:16学时(1周)一、设计目的1、进一步掌握和利用C语言进行程设计的能力;2、进一步理解和运用结构化程设计的思想和方法;3、初步掌握开发一个小型实用系统的基本方法;4、学会调试一个较长程序的基本方法;5、学会利用流程图或N-S图表示算法;6、掌握书写程设计开发文档的能力(书写课程设计报告);二、设计要求和设计指标(参考附录题目范围)三、考核形式考核办法:结合课程设计报告和平时情况评定。
评分标准:报告占60%,平时占20%,答辩占20%。
课程设计分很难、难、中、易四个难度。
合格为60分,评分等级为优秀、良好、中等、及格、不及格五个级别。
难度不同的课程设计,视完成的情况给分,若完成指定的功能,按对应的标准给分,难度越大,分数愈高,若在完成指定功能的基础上,还添加扩展功能,有创意,并且成功实现,给与一定的加分;未完成或有错误,酌情给分。
难易程度最高评定等级最高得分范围如未完成基本功能很难优秀90-100 酌情给分难优秀80-89 酌情给分中良好75-79 不及格易中70-84 不及格四、课程设计要求独立完成,严禁抄袭,如发现雷同,一经证实,相关人都按作弊处理,没有成绩,并且上报学校。
五、应提交材料1、课程设计报告(不少于3000字)1)课程设计题目、内容、要求。
封面格式见附页。
2)总体设计(包含几大功能模块)。
3)详细设计(各功能模块的具体实现算法——流程图)4)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。
5)调试分析(包含各模块的测试用例,及测试结果。
)6)总结(课程设计完成了哪些功能,有没有什么扩展功能还有哪些地方需要改进,及通过一周的课程设计有何收获,调试程序的体会等)2、源程序每个同学提交源程序(*.c)、应用程序(*.exe)、保存学生成绩信息的文件score.dat和课程设计报告文档(*.doc)。
在统一答辩完成后,每班交一张光盘,包含所有学生的资料,每个学生的资料放在以“学号姓名”命名的文件夹中。
六、思考题1、说明程序总体设计的基本思想有哪些?2、能否通过改进设计方法提高设计效率?附录课程设计报告结构及要求(课程设计报告要求打印,用小4号宋字,行距1.5倍,A4纸,上下左右各留边距20mm。
)(1)封面(按学校统一规定格式)封面包括:题目、学院、专业、班级、学号、学生姓名、指导教师及时间(2)任务书(按学校统一规定格式,由指导教师填写)(3)摘要(仅对论文)摘要是论文内容的简短陈述,一般不超过400字。
关键词应为反映论文主题内容的通用技术词汇,一般为4个左右。
(4)目录目录的三级标题建议按1……、1.1……、1.1.1……的格式编写。
目录参考:1.设计目的与要求2.总体设计(包含几大功能模块)3.详细设计(各功能模块的具体实现算法——流程图)4.数据结构设计描述,各模块(函数)的功能介绍,参数说明等。
5.调试分析(包含各模块的测试用例,及测试结果。
)6.总结(课程设计完成了哪些功能,有没有什么扩展功能还有哪些地方需要改进,及通过一周的课程设计有何收获,调试程序的体会等)7.答辩记录(正文处请留出适当空白)8.教师意见(正文处请留出十行空白)(5)正文正文应按目录中编排的章节依次撰写,要求计算正确,论述清楚,文字简练通顺,插图简明,书写整洁。
(6)参考文献参考文献必须是学生在课程设计中真正阅读过和运用过的,文献按照在正文中的出现顺序排列。
课程设计课程名称___C语言程序设计___题目名称______________________ 学生学院____ 自动化学院_ ____ 专业班级_ 电气工程及其自动化07( )班_ 学号______________________学生姓名______________________ 指导教师_______刘焕军_________2008年12月29 日第一套:通讯录管理系统(很难)设计一个《学生通讯录管理系统》,在链表程序的基础上,增加查询功能,设计要求如下:1、文件功能1)存储文件使用指定文件名或默认文件名;2)可以不保存输入记录,但需要确认是否保存输入记录;3)如果已有文件,只能在其后追加;4)新增记录可以不存入原文件中,可以用原来的文件覆盖内存的内容;2、输入功能1)可以从文件中读入;2)可以直接从键盘输入;3、删除记录1)可以按“姓名”或“电话”方式删除记录并更新内存链表内容;2)能给出被删除的信息,输出没有找到的信息;3)如果已经是空表,上出时应给出信息并返回主菜单;4)如果没有要删除的信息,输出没有找到的信息;5)删除操作仅限于内存,只有执行保存记录时,才能覆盖原记录;4、查询记录1)可以按“姓名”或“电话”方式查询记录;2)能给出查询记录的信息;3)如果查询的信息不存在,输出没有找到的信息;5、更新记录功能1)可以随时修改、排序或插入新记录,其中排序、修改和插入可以选择可按姓名或电话进行操作;2)姓名可由16位字符和数字的混合编码组成;3)电话号码可由18位字符和数字组成;6、输出记录功能1)将输出信息加上输出信息信息栏,例如:姓名电话性别年龄生日宿舍李四 1234 男 21 7月1日东二3332)可以将记录存盘,保存到文件以上功能的功能选择需要在屏幕上列出各个选择项,然后接受键盘的输入作选择。
但如用菜单实现将有加分。
7、测试程序1)应列出测试大纲对程序进行测试;2)应保证测试用例测试到程序的各种边缘情况。
第二套学生成绩管理系统(难)设计一个学生成绩管理系统,对上学期的本班的学习成绩进行管理,可以用数组来设计这个程序,具有查询和检索功能,并且能够对指定文件操作,也可将多个文件组成一个文件。
1、设计内容1)每一条记录包括一个学生的学号、姓名、性别、各门课成绩(上学期的科目)、平均成绩。
2)输入功能:可以一次完成若干条记录的输入。
3)显示功能:完成全部学生记录的显示。
4)查找功能:完成按姓名或学号查找学生记录,并显示。
5)排序功能:按学生平均成绩进行排序。
6)插入功能:按平均成绩高低插入一条学生记录。
7)将学生记录存在文件student.dat中。
8)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!2、设计要求已知有存储本班学生记录(包括学号、姓名、科目成绩、性别、)的文件student.dat,所有学生以学号从小到大排序(该文件自行建立)。
要求编程序实现查询、排序、插入、删除诸功能。
具体要求如下:1)要求显示如下界面a)****************************************a)1--------------查询b)2--------------排序c)3--------------插入d)4--------------删除b)****************************************c)通过选择1-4来确定要做哪一个操作。
2)若选1,则出现如下界面a)****************************************a) 1.1----------按学号查询b) 1.2----------按姓名查询c) 1.3----------按成绩查询b)****************************************c)通过选择1.1-1.3来确定要做哪一个操作,其中:按姓名查询用顺序法实现;按成绩查询实现查询成绩小于m分的学生;找到该生将学生记录输出到屏幕,若查无此人,输出相关信息。
3)若选2,则按成绩从大到小排序,姓名,学号顺序也随之调整。
4)若选3,将一个新学生记录按学号顺序插入,并把结果保存到文件student.dat中。
5)若选4,删除指定学生的记录,并把结果保存到文件student.dat中。
6)不同的模块都要有出错处理,并能给出出错提示。
如输入数据错误,文件操作错误等等7)以上各个功能均编写成子函数,由主函数调用实现。
8)利用结构体数组实现学生成绩的数据结构设计;9)完成设计任务并书写课程设计报告。
第三套学生信息管理系统(中)将本班学生的信息(每个学生至少包括学号、姓名、科目成绩(至少两门)、学分、平均分),存放于文件stduent.txt中。
A.要求编写函数fun1对10个学生按某科成绩升序或降序(可选择)排序,并将结果(包括名次、学号、姓名、成绩、学分、平均分)存放于文件score.txt中。
B.编写函数fun2,用二分法查找score.txt中某科某个成绩,并将结果打印出来。
第四套学生基本信息系统(易)1.将本班学生的信息(每个学生至少包括学号、姓名、科目成绩(一门)、学分),存放于文件student.txt。
要求编写函数fun找出所有及格的同学,并将他们的信息存放在文件score.txt中,并且输出结果。
附:2.用两种简便、直观的方法实现将任意两个文件的内容进行交换。
要求其中的一种方法不能使用该两个文件以外的任何文件。
备注:1和2都要实现第五套编制一个五子棋游戏(很难)编程模拟完成五子棋游戏。
1.初始化功能,初始化屏幕,画出一个围棋棋盘,其中player1先行。
2.实现下棋操作,用上下左右键在围棋盘上移动,按确认键后确定落棋。
3.程序可以对双方下棋的结果做出判断,并显示获胜信息。
4.可以提示轮到哪方下棋(player1或player2)。
注意该程序需要用到图形功能,需自学图形系统函数和键盘输入。
第六套编制万年历程序(难)编写一个万年历程序,能显示日历,查询任意日期。
1.日历初始化和显示。
能根据系统日期进行初始化,并显示当前月份的月历,并突出显示当前日期。
2.日期查询,可以输入一个日期,然后查询并正确显示日期所在月份的月历,并突出显示查询日期,如果输入日期不正确给出提示。
3.支持键盘操作,按上下键更改年份,按左右键更改月份,按上下翻页键更改突出显示日期,按空格键可以返回初始状态更改后能将更新后的月份显示出来。
注意键盘操作的实现及字体颜色的改变。