《C语言程序设计》课程设计教学大纲
《C语言程序设计》教学大纲
《C语言程序设计》教学大纲第一篇:《C语言程序设计》教学大纲《C语言程序设计》教学大纲第一部分大纲说明一、课程的目的与任务本课程将以结构化程序设计思想指导学习者运用C语言进行程序设计,充分利用C语言的结构性好,书写格式自由简洁,数据类型丰富,表达式类型多样化,程序执行效率高,可移植性好等特点,使学习者养成严谨的程序设计风格和习惯,在程序设计基本技能方面得到良好的训练,为后继课程的学习及今后的实际应用打下良好的基础。
二、课程的基本要求1.教学基本要求和学习方法建议(1)弄清概念、注重实践学习时一定要模仿例题亲自编制一些实用程序,加强对概念的正确认识。
同时要注意上机实践,把不清楚的问题通过上机一一解决。
从而不断增加学习兴趣,提高编程能力。
(2)由浅入深、循序渐进先学习简单的、容易掌握的部分,以后再逐步掌握C语言的精华——指针及各种灵活的表达式。
(3)着重语言的使用由于C语言本身比较复杂,应把学习重点放在语言的使用上,即如何正确使用C语言编写程序,而不把重点放在算法的设计上。
(4)尽量不涉及太多的硬件知识C语言既能编写应用软件,也能编写系统软件,而编写系统软件势必需要一定的硬件知识。
在学习本课程时应尽可能地不涉及太多的硬件知识,以便于理解和掌握。
(5)忽略非主要细节不死抠非主要细节,集中精力放在最基本、最常用部分的学习上,待建立一定的基础以后再深入到一些非主要细节的讨论。
2.教学的重点、难点重点为熟练掌握C语言的数据类型(基本类型、构造类型、指针类型等)和各类运算符,能正确使用表达式实现各种数据的加工。
熟练掌握程序设计的三种基本结构(顺序、选择、循环)的特点,能使用相关语句完成这三种基本程序的设计任务。
掌握C语言的常用的库函数的使用,以及用户函数的定义、调用、参数传递等方法。
培养学生的程序设计能力,初步认识软件开发的基本思想。
难点为掌握阅读和分析程序的方法和技巧,掌握设计和调试程序的方法和技巧。
3.教学计划中前后课程的联系C语言比较复杂、较难掌握,学习者应该先学习计算机基础知识。
C语言程序设计课程设计教学大纲
《C语言程序设计》课程设计教学大纲一、课程的任务与目的对学生《C语言程序设计》知识的全面综合训练,把书上学到的知识用于解决实际问题、培养今后软件开发工作所需的动手实践能力,包括问题分析、总体结构设计,用户界面的设计、程序设计时的基本技能和技巧,以及一整套软件工作规范的训练和团体协作精神的培养。
二、课程内容和基本要求1、问题分析和任务定义对问题的描述应避开具体的算法和涉及的数据结构,它是对要完成的任务作出明确的回答。
强调的是做什么,而不是怎么做。
2、逻辑设计和数据结构的选择为操作对象定义相应的数据结构,以过程化程序设计的思想方法为原则划分各个模块,定义数据的抽象数据类型。
3、详细设计和编码算法的具体描述和代码的书写。
4、上机调试源程序的输入和代码的调试5、实习报告A. 需求分析以无歧义的陈述说明程序设计的任务,强调的是程序要做什么?明确规定:输入的形式和输出、值的范围,输出的形式,程序所能达到的功能,测试的数据:包括正确的输入和错误的输入及其相应的输出结果。
B. 概要设计说明程序中用到的所有抽象数据类型的定义,主程序的流程以及各程序模块之间的层次(调用)关系。
C. 详细设计实现概要设计中定义所有数据类型,对每个操作只需要写出伪代码算法(伪代码算法达到的详细程度建议为:按照伪代码算法可以在计算机键盘直接输入高级程序设计语言程序),画出函数的调用关系图。
D. 调试分析内容包括:调试过程中遇到的问题并且是如何解决的以及对设计实现的回顾讨论和分析;改进设想;经验和体会等。
E. 用户使用说明说明用户如何使用你编写的程序,详细列出每一步的操作步骤。
F. 测试结果列出测试结果,包括输入的数据和相应的输出数据。
这里的测试数据应该完整和严格,最好多于需求分析中所列。
G.附录应附上带详细注释的源程序。
三、与各课的联系先修课程《计算机基础》、《C语言程序设计》四、学时:2周五、教材与参考书六、选题1、为用户提供一个文本编辑器,能实现以下基本要求文件操作:新建、打开、保存、另存为、退出编辑操作:剪切、复制、粘贴、字体设置帮助操作:帮助主题、关于编辑器2、为用户提供一个打字练习及测试系统,能实现以下基本要求图形用户界面速度统计正确率统计3、为用户提供一个学生成绩管理系统,能实现以下基本要求系统管理:用户管理、系统帮助、退出成绩录入:按班级单科录入成绩编辑:按班级单科编辑成绩查询:按班级单科编辑、按学生学号查询各科成绩成绩统计:按班级进行总分、平均分统计并排名。
《C语言程序设计》课程教学大纲(2024)
26
关键知识点回顾
2024/1/28
数据类型、运算符和表达式
01
C语言的基本数据类型,如int、float、char等,以及运算符的
优先级和结合性规则,表达式的求值。
控制结构
02
包括顺序结构、选择结构和循环结构,如if-else语句、switch
语句、for循环、while循环和do-while循环等。
2024/1/28
03
运行时错误
这类错误发生在程序运行时,如空指针引用、数组越界等。调试方法包
括查看错误提示信息、检查相关变量状态、使用调试器等。
24
程序性能优化策略
算法优化
数据结构优化
代码优化
并行计算
针对程序中耗时的算法进行优 化,如减少循环次数、使用更 高效的算法等。
2024/1/28
选择合适的数据结构可以显著 提高程序性能,如使用哈希表 替代数组进行查找、使用二叉 树进行排序等。
2024/1/28
选择结构
介绍C语言中的条件判断语句( if语句、switch语句),以及它 们的使用方法和注意事项。
循环结构
阐述C语言中的循环控制语句( for语句、while语句、dowhile语句),以及循环嵌套的 实现方法。
控制语句的转移
讲解C语言中的break语句、 continue语句以及goto语句等
字符串处理在实际 问题中的应用举例
15
04 数据结构与算法基础
2024/1/28
16
线性表及其操作实现
2024/1/28
线性表的定义和性质
介绍线性表的基本概念,包括元素、长度、位置等,阐述 线性表的特点和性质。
线性表的顺序存储结构
C语言程序设计教学大纲
C语言程序设计教学大纲一、课程介绍1.1课程名称:C语言程序设计1.2课程目标:掌握C语言的基本语法和程序设计思想,能够编写简单的C语言程序。
1.3先修知识:计算机基础知识1.4授课方式:理论授课和实践操作相结合二、教学内容2.1C语言概述2.1.1C语言的历史和发展2.1.2C语言的特点和优势2.1.3C语言的应用领域2.2程序的基本结构2.2.1程序的组成部分2.2.2程序的编译和运行过程2.2.3注释与格式规范2.3基本数据类型和运算符2.3.1C语言的基本数据类型2.3.2常量和变量2.3.3运算符和表达式2.4控制语句2.4.1条件语句2.4.2循环语句2.4.3跳转语句2.5数组与字符串2.5.1数组的定义和初始化2.5.2数组的访问和操作2.5.3字符串的定义和处理2.6函数和库函数2.6.1函数的定义和调用2.6.2函数的参数和返回值2.6.3常用库函数的介绍2.7结构体和指针2.7.1结构体的定义和使用2.7.2指针的基本概念2.7.3指针与数组的关系2.8文件操作2.8.1文件的打开和关闭2.8.2文件的读写和定位2.8.3文件的处理和使用三、教学方法3.1理论授课:通过讲授基本概念、原理和语法规则,帮助学生建立正确的知识框架。
3.2实践操作:通过编写C语言程序练习,巩固学习内容,并培养学生的实际操作能力。
3.3课堂讨论:通过课堂互动和问题解答,激发学生的思考能力和自主学习能力。
四、教学评价4.1平时作业:每周布置一定数量的编程作业,评价学生的代码质量和理解程度。
4.2实验报告:通过完成实验操作和撰写实验报告,考察学生的实践能力和文档写作能力。
4.3考试评测:定期组织考试,考察学生对知识的整体掌握程度和应用能力。
4.4课堂表现:课堂参与和表现,包括问题解答、课堂讨论和小组合作等。
五、参考教材5.1《C程序设计语言》(第2版)-薛宇潇5.2 《C Primer Plus》(第6版)- Stephen Prata六、教学进度安排6.1第1-4周:C语言概述和程序基本结构6.2第5-8周:基本数据类型和运算符6.3第9-12周:控制语句和循环结构6.4第13-16周:数组与字符串6.5第17-20周:函数和库函数6.6第21-24周:结构体和指针6.7第25-28周:文件操作6.8第29周:复习和总结以上是C语言程序设计教学大纲,通过系统的学习和实践,学生将能够掌握C语言的基本语法和程序设计思想,能够编写简单的C语言程序,并为进一步学习其他高级语言打下坚实的基础。
完整版)C语言程序设计教学大纲
完整版)C语言程序设计教学大纲本课程旨在引导学生进入计算机程序设计的广阔空间,培养学生的逻辑思维能力、抽象能力和基本的计算机程序设计能力。
C语言作为载体,使学生对计算机程序设计有一个初步的正确的认识,学会阅读用计算机程序设计语言编写的简单应用程序,掌握结构化程序设计的基本方法和用计算机解决实际问题的基本步骤,训练学生的逻辑思维能力,培养其严谨的思维方式和良好的程序设计风格,为进一步研究其它专业基础课程和专业课程打下良好的基础。
第一章:程序设计和C语言本章主要介绍C语言的历史、特点,以及运行C程序的步骤和方法。
学生将了解C语言的发展和特点,掌握C语言的运行环境,初步了解运行一个C语言程序的过程。
教学重点是C语言的特点和C程序的上机步骤。
第二章:算法-程序的灵魂本章主要介绍算法的概念和特点,以及如何表示一个算法。
学生将掌握用流程图、N-S流程图、伪代码表示算法,理解结构化程序设计方法的概念。
教学重点是用流程图、N-S流程图、伪代码表示算法。
第三章:最简单的C程序设计-顺序程序设计本章主要介绍顺序程序设计的举例,数据的表现形式及其运算,C语句和数据的输入输出。
学生将了解顺序程序设计的基本概念和方法,掌握C语言的基本语句和数据的输入输出。
教学重点是数据的表现形式及其运算。
审定者。
批准者。
校对者:在我们的日常生活中,我们会遇到许多挑战和困难。
有时候我们会感到无法应对这些挑战,但是这不意味着我们应该放弃。
相反,我们应该寻找方法来克服这些困难,变得更加坚强。
生活中的挑战不仅仅是身体上的,也有心理上的。
这些挑战可能来自于我们的工作、家庭、朋友或者其他方面。
但是无论挑战来自哪里,我们都需要找到解决方法。
有时候,这可能需要我们寻求帮助或者寻找支持。
当我们面对挑战时,我们需要保持积极的态度。
我们需要相信自己,相信我们有能力克服任何困难。
我们可以通过思考和行动来找到解决方案,也可以向他人寻求建议和支持。
最后,我们需要记住,挑战和困难是我们成长的机会。
《C语言程序设计》教学大纲
《C语言程序设计》教学大纲C语言程序设计教学大纲一、课程概述1.课程名称:C语言程序设计2.适用对象:计算机科学与技术等相关专业的本科生3.培养目标:通过本课程的学习,使学生能够掌握C语言的基本语法和编程思想,具备独立编写简单C语言程序的能力,并为进一步学习高级编程语言打下基础。
二、课程内容和教学安排1.第一章:课程介绍与概述(2课时)-介绍C语言的背景和重要性-简要介绍C语言的发展历程和特点-介绍课程的目标和安排2.第二章:C语言基础(8课时)-介绍C语言的基本数据类型和变量-讲解C语言的运算符和表达式-介绍C语言的控制结构(分支语句和循环语句)-引导学生编写简单的C语言程序3.第三章:函数和数组(8课时)-介绍C语言的函数的定义和使用-讲解C语言的数组的定义和使用-引导学生编写带有函数和数组的C语言程序4.第四章:指针和字符串(10课时)-介绍C语言的指针的基本概念和使用方法-讲解C语言中的字符串处理函数-引导学生编写带有指针和字符串处理的C语言程序5.第五章:结构体和文件IO(8课时)-介绍C语言中结构体的定义和使用-讲解文件的读写操作-引导学生编写能够处理结构体和文件操作的C语言程序6.第六章:动态内存分配和常用库函数(8课时)-介绍C语言中动态内存分配的概念和使用方法-讲解C语言中常用的库函数的使用-引导学生编写能够使用动态内存分配和常用库函数的C语言程序7.第七章:综合实践项目(8课时)-提供一个综合实践项目,要求学生运用所学知识编写一个较为复杂的C语言程序-引导学生进行项目的需求分析、程序设计和实现8.第八章:复习与考试(4课时)-综合复习前几章的内容-进行期末考试三、教学方法和评价方式1.教学方法:-理论教学结合实践教学,讲解C语言的基本概念和语法规则,并通过编写简单程序进行实践演示和练习-注重培养学生的编程思维和解决问题的能力,进行一定的编程实践和案例分析-鼓励学生通过阅读相关资料和主动思考,提高独立学习和解决问题的能力2.评价方式:-平时成绩(作业、实验报告等)占60%,期末考试占40%-通过课堂互动、作业和实验等方式对学生的学习情况进行评价-关注学生的自主学习和实践能力,鼓励学生积极参与讨论和思考四、教学资源和参考书目1.教学资源:计算机实验室、电子教案、教学PPT等2.参考书目:-《C语言程序设计教程》(谭浩强著)- 《C语言程序设计:现代方法》(King C. K著)。
C语言程序设计课程教学大纲
C语言程序设计课程教学大纲一、引言C语言是一种基础且广泛应用的编程语言。
本课程旨在通过系统性的学习,使学生掌握C语言的基本概念、语法规则以及程序设计方法,培养学生的编程思维和解决实际问题的能力。
二、课程目标1. 理解C语言的发展背景和重要性;2. 掌握C语言的基本语法和常用库函数;3. 能够熟练运用C语言进行程序设计,包括算法设计和程序实现;4. 培养良好的编程风格和规范,提高代码的可读性和可维护性;5. 培养解决实际问题的能力,通过项目实践提升综合应用能力。
三、课程内容1. C语言基础1.1 C语言概述1.1.1 C语言的诞生与发展1.1.2 C语言的特点和应用领域1.2 开发环境的搭建1.2.1 安装C语言开发环境1.2.2 编写、编译和运行第一个C程序 1.3 基本数据类型与运算符1.3.1 基本数据类型的定义和使用1.3.2 算术运算符和逻辑运算符1.4 控制语句1.4.1 分支结构1.4.2 循环结构1.5 数组和字符串1.5.1 数组的定义和使用1.5.2 字符串的处理和操作2. 函数与指针2.1 函数的定义和调用2.1.1 函数的声明和定义2.1.2 函数参数的传递2.2 函数的递归和递推2.2.1 递归函数的特点和应用2.2.2 递推函数的实现和应用2.3 指针的基本概念2.3.1 指针的定义和初始化2.3.2 指针的运算和应用2.4 动态内存分配和释放2.4.1 动态内存的申请和使用2.4.2 动态内存的释放和管理3. 结构体与文件操作3.1 结构体的定义和使用3.1.1 结构体成员的定义和访问 3.1.2 结构体数组的处理和操作 3.2 文件的输入输出操作3.2.1 文件的打开和关闭3.2.2 文件的读写和修改3.3 数据的存储与读取3.3.1 二进制文件的读写操作3.3.2 文本文件的读写操作四、教学方法与评测方式1. 教学方法1.1 理论授课与实践操作相结合,注重理论知识的实际应用;1.2 实验实践、课堂练习和项目实践相结合,培养学生的实际操作能力;1.3 作业布置与批改,帮助学生巩固所学知识。
C语言程序设计教学大纲
《C语言程序设计》教学大纲学分: 学时: 授课三二(上机三二)审核 : 执笔 :面向专业:一,课程定位本课程是计算机技术专业本科生地专业课程。
其任务是,使学生具备程序设计地基本知识,基本理论与基本技能,并具有程序设计与简单地开发能力。
二,教学目地(一)知识教学目地通过本课程地教学,使学生了解C语言程序设计地基础知识,掌握程序设计地基本能力,并为后续地专业课程奠定程序设计基础。
(二)能力培养目地通过本课程地教学,使学生具备顺序程序设计,分支程序设计,循环程序设计地能力,具备使用函数,数组,指针等来分析与解决一般问题地能力。
(三)素质培养目地使学生明确C语言程序设计课程在专业地地位与作用,培养学生严谨地编程惯,系统地程序设计学方法,培养学生热所学专业,刻苦钻研专业知识地品质。
三,学内容及要求(一)学内容与要求第一章C语言程序概述教学要求:一.了解C语言语义规范。
二.掌握C语言地集成环境。
三.掌握程序设计地基本概念。
四.了解程序设计算法。
学内容:一.C语言概述。
二.C语言程序地结构。
三.简单地程序设计。
四.程序设计算法。
五.用程序设计语言描述。
第二章&第三章算法与顺序结构程序设计教学要求:一.了解算法,并掌握基本数据类型。
二.掌握基本运算符与表达式。
三.掌握C语言地顺序结构。
四.掌握基本顺序语句。
学内容:一.常量与变量。
二.整形数据类型。
三.实型数据类型。
四.字符型数据类型。
五.不同字数据类型地混合运算。
六.运算符与表达式。
七.顺序流程结构概述。
八.基本顺序结构语句。
九.输入输出语句。
第四章选择结构程序设计教学要求:一.掌握简单地if分支语句。
二.熟练掌握if-else双分支语句。
三.掌握if-elseif-else多路分支语句。
四.掌握switch-case开关语句语句。
学内容:一.if 分支结构。
二.条件运算与条件表达式。
三.开关语句。
四.分支地嵌套。
第五章循环控制结构程序设计教学要求:一.掌握用三种循环结构解决问题。
工学-(完整版)《C语言程序设计》课程教学大纲
(完整版)《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)难点:算法概念以及对结构化程序设计思想的理解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》课程设计大纲
课程中文名称:C语言程序设计课程设计
课程英文名称:C language programming curriculum design
课程编号:090010031 适用专业:计算机、网络、信管、软件学时数:2周学分数:2
课程类别:必修应开课学期:第三学期
执笔者:安葳鹏审核人:基础教学部
批准人:高岩定稿日期:2013年5月7日
一、课程的目的和意义
《C语言程序设计》课程设计是在学习《C语言程序设计》课程之后进行的一个实践教学环节,学生运用所学的知识,在教师指导下,独立进行。
课程设计的目的和意义是:
1、进一步加深对所学基本理论知识的理解和掌握,完善理论和实践的衔接;进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解;
2、针对C语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
3、掌握C语言的编程技巧和上机调试程序的方法。
4、掌握程序设计的常用算法,培养学生运用所学知识分析问题,解决问题的能力。
二、课程设计基本要求
1.独立、按时、按质、按量完成本课程设计;
2.充分理解并掌握相关理论,熟悉程序设计的控制结构以及设计流程;
3.完成课程设计后,将设计任务书、设计说明书按要求装订成册。
三、设计内容及任务
原则上,学生从以下题目中任选一题进行课程设计。
在课程设计指导老师的指导下,也可以选择其他题目,但要保证工作量,并满足课程设计的相关要求。
1、人机猜数游戏
由计算机“想”一个四位数,请人猜这个四位数是多少。
人输入这个四位数后,计算机首先判断这四个数中有几个猜对了,并且在猜对的数字中又有几位位置也是对的,将结果显示出来,给人以提示,请人再猜,直到人猜出计算机所想的四位数为止。
请编程实现该游戏,游戏结束时,显示人猜一个数用了几次。
提示:用库函数random()产生一个随机数。
2、编一程序,实现将输入的一个无符号整数转换为二进制、八进制和十六进制表示,分别存入字符数组中并输出。
(提示:算法采用模拟人工法。
) 说明:计算机模拟人工是编程中常用的方法,这种方法要求编程者首先分析在人工方式下解决问题的过程,从中找出步骤和规律,然后编写程序,按照人工解决问题的步骤和规律进行操作。
3、计算分数的精确值。
使用数组精确计算M/N(0<M<N<=100)的值。
如果M /N是无限循环小数,则计算并输出它的第一循环节(精度要求小数点后20位),同时要求输出循环节的起止位置(小数位的序号)。
说明:由于计算机内字长有限,常规的浮点运算都有精度限制,为了得到高精度的计算结果,就必须自行设计算法。
提示:可将商存放在一维数组中,进行除法运算时,可模拟人的手工操作,即每次求出商的一位后,将余数乘以10,再计算商的下一位。
若某次余数为0,则为有限不循环小数。
若某次计算后的余数与前面的某个余数相同时,则M/N 是无限循环小数。
4、用梯形法求定积分(数值求解算法)用梯形法编程求函数
f(x)=x^2+2x+1的定积分的值。
提示:把积分区间[a,b]等分为n等分(a,b,n的值由程序输入),可得到若干个小梯形,积分面积就近似为这些小梯形面积之和。
5、约瑟夫问题(掌握一维数组的用法)。
15个基督徒和15个异教徒在海上遇险,必须将一半的人投入大海,其余的人才能幸免于难,于是想了一个办法:30个人围成一个圆圈,从第一个人开始依次报数,每数到第9个人就将他扔入大海,如此循环直到仅余15个人为止。
问怎样排法,才能使每次投入大海的都是异教徒。
说明:①30个人顺序编号,自增量k报数,k%9==0时,此人投入大海。
投入大海标志为置数组元素值为0(或-1)。
投入大海的人不再报数。
程序输出要求:程序运行后,显示原始顺序,每次投入大海的人的信息及剩下人的顺序。
6、文件操作。
从磁盘读入一个文本文件(该文件由单词和空格组成),编程计算该文本文件中有多少个空格和多少个单词(规定单词间以一个或多个空格分开)。
7、数值算法。
用递归法计算解决汉诺塔问题,并能够演示解决汉诺塔问题过程中圆盘搬移过程。
8、某人从2000年1月1日起,开始“三天打鱼,两天晒网”。
从键盘输入任意一天(年月日),问该人是在打鱼,还是在晒网?
9、通讯录管理系统设计(结构体数组、函数、指针、算法、流程结构及文件等的综合应用)
程序说明:有N条通讯记录,每条记录的数据包含手机号码(不重复)、姓名、性别、通讯地址,邮政编码等信息,试设计一管理系统,提供以下功能:(1)主菜单
(2)各菜单项功能
①信息录入:输入手机号码(不重复)、姓名、性别、通讯地址,邮政编码等信息;
②信息查询:(至少一种查询方式)。
按手机号查询记录。
按照姓名查询记录。
③通讯录排序
根据通讯录的手机号或姓名,对记录进行升序或降序排序;
④退出系统:退出整个系统(即主菜单)。
10、学生成绩管理系统设计(结构体数组、函数、指针、算法、流程结构及文件等的综合应用)
程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:
(1)主菜单
(2)各菜单项功能
①成绩录入:输入学生的学号、姓名及三门课的成绩;
②成绩查询:(至少一种查询方式)。
按学号查询学生记录。
查询不及格学生的记录。
③成绩统计:
计算学生的平均分;
根据学生的平均分高低,对学生的数据进行排序后输出;
对学生单科成绩排序,输出学生姓名与该科成绩;
④退出系统:退出整个系统(即主菜单)。
四、课程设计方法及步骤
设计步骤的规范不但可以培养学生科学的工作方法和作风,而且还能有效地减少错误,提高工作效率。
因此必须严格执行良好的实验步骤规范(包括上机操作规范)。
本课程设计的基本步骤与要求是:
1、问题分析及解决方案框架确定
充分地分析和理解问题本身,弄清要求做什么。
在确定解决方案框架过程中,考虑怎样使程序结构清晰、合理、简单和易于调试,并确定每个函数的简单功能,以及函数之间的调用关系。
2、详细设计和编码
确定算法的主要流程,再此基础上进行代码设计,每个明确的功能模块程序代码一般不超过60行,否则要进一步划分。
3、上机前编写程序与检查
上机前程序检查可有效提高调试效率,减少上机调试程序时的错误。
程序检查主要有两种途径:用一组测试数据手工执行程序;通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑,把程序中的明显错误事先排除。
4、上机调试程序
5、完成课程设计报告
①问题描述:题目要解决的问题是什么。
②设计
设计算法:主要算法思想,用算法描述工具表示,如流程图。
调试报告:调试过程中遇到的主要问题,是如何解决的;对设计和编码的回顾讨论和分析,改进设想,经验和体会等。
③附录:源程序清单和结果。
如果题目规定了测试数据,则结果要包含这些测试数据和运行输出,当然还可以含其他测试数据和运行输出。
五、考核与成绩评定
通过程序实现、总结报告和学习态度,并结合学生的动手能力,独立分析、解决问题的能力和创新精神进行综合考评。
成绩分优、良、中、及格和不及格五等。
考核标准包括:
1、程序设计的正确性,程序结构是否合理、编程风格。
(50%)。
2、学生的工作态度、动手能力、创新精神及出勤率。
(30%)。
3、总结报告(20%)。
六、课程设计参考书
《C程序设计》(第二版),谭浩强著,清华大学出版社
《C程序设计题解与上机指导》(第3版),谭浩强著,清华大学出版社
《C语言程序设计》,颜晖、何钦铭著,高等教育出版社
《C语言程序设计实验指导》,颜晖著,高等教育出版社
《C语言程序设计习题指导与练习》,刘宏著,清华大学出版社
《C语言程序设计教程》,吴平、李林主编,科学技术文献出版社
《现代C语言程序设计教程》,徐德民著,南开大学出版社。