《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语言的基本知识和基本语法,较好地训练学生解决问题的逻辑思维能力以及编程思路和技巧,使学生具有较强的利用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)难点:算法概念和对结构化步伐设计思想的理解。
《C语言程序设计》课程教学大纲
《C语言程序设计》课程教学大纲一、课程任务:1、课程性质:《C语言程序设计》是专业基础课,是数据结构、操作系统、面向对象程序设计等课程的前导课程,也是一门实践性很强的课程。
2、主要内容:C语言程序设计初步,基本符号与关键字,常量、变量、运算符与表达式,程序控制结构,函数,编译预处理,数组,指针,结构体与共用体,文件,屏幕函数等。
3、基本要求:通过本课程的学习,使学生了解算法的基本概念,能够比较熟练地掌握C语言的语法规则及程序设计的基本方法与编程技巧,了解进行科学计算的一般思路,培养学生应用计算机解决和处理实际问题的思维方法与基本能力,并初步积累编程经验,会根据算法编制相应的程序,并初步掌握软件开发过程的基本技巧,同时也为后继课程的学习打下坚实的基础。
二、教学内容第1章C语言概述1.教学目的与要求:1)了解C语言的背景2)掌握C语言程序的结构3)领会C语言程序设计的风格2.教学内容1)C语言的发展与特点2) C语言的基本符号与关键字3) C语言程序…4) Turbo C集成环境与程序的上机操作…3.重点:1)C语言的发展与特点2)C语言的基本符号和关键字3)C语言程序结构及特点4)C语言程序编辑、编译与运行4.教学难点:1)C语言的基本符号和关键字2)C语言程序结构及特点3)C语言程序编辑、编译与运行第2章数据类型、表达式极其运算1.教学目的与要求:1)了解基本类型及其常量的表示法2)掌握变量的定义及初始化方法3)掌握运算符与表达式的概念4)领会C语言的自动类型转换和强制类型转换及赋值的概念2.教学内容:1)C语言的数据类型2)常量3)变量…4)运算符及表达式5)赋值运算符和赋值表达式6)指针运算…7)其它运算符及其表达式3.重点1)C语言的数据类型2)常量3)变量4)运算符及表达式5)赋值运算符和赋值表达式4.教学难点1)赋值运算符与赋值表达式2)自加和自减运算符3)逗号运算符与逗号表达式4)常用运算符和优先级第3章顺序结构程序设计1.教学目的与要求:1)了解结构化程序设计的基本概念及C语句2)掌握赋值语句3)掌握数据的输入和输出4)领会程序设计的一般方法2.教学内容:1)结构化程序设计的基本概念及C语句2)赋值语句…3)数据的输入和输出4)程序设计的一般方法……3.教学重点:1)赋值语句…2)数据的输入和输出3)程序设计的一般方法4.教学难点1)赋值语句…2)数据的输入和输出3)程序设计的一般方法第4章选择结构程序设计1.教学目的与要求1)掌握关系运算符和关系表达式2)掌握逻辑运算符和逻辑表达式3)掌握条件语句4)掌握多分支语句2.教学内容:1)关系运算符和关系表达式2)逻辑运算符和逻辑表达式3)条件语句4)多分支语句3.重点:1)条件表达式2)If语句3)Switch语句4)选择结构程序设计4.难点:1)Switch语句2)选择结构程序设计第5章循环结构程序设计1.教学目的与要求1)熟练掌握while语句…do while语句 for语句2)领会三种循环的比较3)理解多重循环…4)了解break、continue在循环语句中的作用2.教学内容:1)while语句…2) do while语句3)for语句4)三种循环的比较5)重循环…6)循环中用到的其它语句…7)程序设计举例3.重点:1)While 及do while语句2)For语句3)Continue\break\goto4)循环程序设计4.难点:1)Break语句2)Goto语句3)多重循环程序设计第6章数组和指向数组的指针1.教学目的与要求:1)了解一维数组、二维数组的基本概念2)掌握数组类型变量的定义与引用3)掌握数组元素的引用4)理解数组的指针和只想数组的指针变量2.教学内容:1)一维数组的定义与引用2)二维数组的定义与引用3)字符数组4)数组与指针3.重点:1)一维数组、二维数组的定义与引用2)字符数组的定义与引用、常用字符串处理函数及字符处理函数、、3)数组的指针和只想数组的指针变量4.教学难点:1)二维数组和多维数组2)字符数组3)数组的指针和只想数组的指针变量第7章函数与指针1.教学目的与要求:1)掌握函数的定义与调用2)掌握函数参数的传递方式3)领会变量存储类型的概念及各种存储类型变量的生存期和有效范围4)领会函数的嵌套调用与递归调用5)领会函数与指针的应用2.教学内容:1)函数的定2)函数的参数和函数的值3)函数的调用4)函数的嵌套调用5)函数的递归调用…6)指针与函数7)变量的作用域与存储类别8)内部函数和外部函数9)宏定义…3.重点:1)函数的定义2)函数的参数及返回值3)函数的调用4)数组作为函数参数5)局部变量和全局变量6)变量的存储类别4.难点:1)函数的参数及返回值2)函数的调用3)数组作为函数参数4)变量的存储类别5)指针与函数的应用第8章结构体与共用体1.教学目的与要求:1)掌握结构体和共用体类型的说明、结构体和共用体变量的定义及初始化方法2)掌握结构体与共用体变量成员的引用3)领会存储动态分配和释放4)领会链表的基本概念和基本操作5)领会枚举类型变量的定义6)了解typedef的作用2.教学内容:1)结构体类型的说明及结构体类型变量的定义2)结构体变量的引用3)结构体变量的初始化4)结构体数组5)指针与结构体数组6)链表7)共用体8)枚举类型9)typedef3.重点:1)结构体的基本概念、结构类型及变量的定义、结构数组2)用指针处理链表3)共用体及枚举类型的基本概念、typedef的基本概念4.难点:1)结构体变量的定义和引用;结构体变量与指针;2)链表的概念,链表操作;第9 章文件1.教学目的与要求:1)掌握标准设备输入/输出函数的使用2)掌握缓冲文件系统的使用2.教学内容:1)文件类型指针2)文件的打开与关闭3)文件的读写3.重点:1)文件的基本概念;2)文件的打开、关闭、常用读写方法。
2024年《C语言程序设计》课程教学大纲
课程结构采用理论与实践相结 合的方式,包括课堂讲授、实 验操作和课后作业等环节。
通过案例分析、算法实现等方 式,加深学生对C语言的理解 和掌握。
6
02 C语言基础知识
2024/2/29
7
C语言概述
C语言的历史与发展
介绍C语言的起源、发展历程以及在 计算机科学领域的重要地位。
C语言编程环境搭建
2024/2/29
选择结构
介绍C语言中的条件判断语句( if语句、switch语句),以及它 们的使用方法和注意事项。
循环结构
阐述C语言中的循环控制语句( for语句、while语句、dowhile语句),以及循环嵌套的 实现方法。
控制语句的转移
讲解C语言中的break语句、 continue语句以及goto语句等
通过改进代码实现方式提高性 能,如避免不必要的函数调用 、减少全局变量的使用、使用 位运算替代算术运算等。
25
利用多核CPU或GPU进行并行 计算,可以显著提高程序运行 速度。需要注意的是,并行计 算需要合理设计算法和数据结 构,以避免竞态条件和死锁等 问题。
07 课程总结与展望
2024/2/29
深入剖析二叉树的遍历方法,包括 前序遍历、中序遍历和后序遍历等 ,以及遍历算法的实现和应用。
19
05 文件操作与数据存储管理
2024/2/29
20
文件基本概念及操作
文件定义与分类
阐述文件在计算机中的概念,包括文 本文件、二进制文件等类型。
文件指针与文件操作函数
介绍如何在C语言中使用文件指针进 行文件的打开、关闭、读写等操作。
常见错误类型及调试方法
01 02
语法错误
《C语言程序设计课程设计》-课程教学大纲
《C语言程序课程设计》课程教学大纲一、课程基本信息二、实验性质、地位和任务《C语言程序课程设计》是一门实用性和实践性很强的课程,所以本课程的课程设计环节占有非常重要的地位。
它是电子信息工程专业在C语言程序设计结束后的一门重要实践性课程,是为加强学生用程序设计的思想分析和解决问题的能力。
三、实验目的和要求1、实验目的在全面掌握《C语言程序设计》课程知识点的前提下,培养学生分析实际问题的能力。
设计的主要目的和任务为:(1)巩固和加深学生对C语言程序设计课程的基本知识的理解和掌握;(2)利用C语言进行简单软件设计的基本思路和方法;(3)掌握程序项目开发的一般步骤;(4)掌握书写程序设计说明文档的能力。
2、实验要求(1)作好实验前准备工作,对讨论的课程设计问题应事先进行初步设计与算法设计,以提高上机效率。
(2)上机实验时一人一机,独立上机。
对程序调试过程中出现的问题应尽量独立解决,以训练学生分析问题和解决问题的能力。
(3)应按时完成课程设计任务。
(4)课程设计完成后应分析实验结果,找出存在的问题,寻找出解决问题的办法并解决问题,从而提高程序设计的能力。
四、实验项目和学时分配1、问题分析和任务定义(4学时)(1)内容:根据设计题目的要求,充分分析和理解问题,明确问题要求做什么,限制条件是什么。
(2)要求:掌握问题分析的方法,以无歧义的陈述说明程序设计的任务;了解以用例图来明确系统功能的方法。
(3)重难点:以无歧义的陈述说明程序设计的任务;对问题作透彻分析,避免出现需求分析错误。
(4)说明:本阶段是解决“做什么”的问题,就是要全面理解用户的各项要求,并准确表达所接受的用户需求。
2、逻辑设计和数据结构的选择(4学时)(1)内容:为操作对象定义相应的数据结构,以结构化程序设计的思想方法为原则划分各个模块,定义数据的抽象数据类型。
(2)要求:掌握逻辑设计和数据结构选择的方法。
(3)重难点:逻辑设计和数据结构选择。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序课程设计》课程教学大纲一、课程基本信息二、实验性质、地位和任务《C语言程序课程设计》是一门实用性和实践性很强的课程,所以本课程的课程设计环节占有非常重要的地位。
它是电子信息工程专业在C语言程序设计结束后的一门重要实践性课程,是为加强学生用程序设计的思想分析和解决问题的能力。
三、实验目的和要求1、实验目的在全面掌握《C语言程序设计》课程知识点的前提下,培养学生分析实际问题的能力。
设计的主要目的和任务为:(1)巩固和加深学生对C语言程序设计课程的基本知识的理解和掌握;(2)利用C语言进行简单软件设计的基本思路和方法;(3)掌握程序项目开发的一般步骤;(4)掌握书写程序设计说明文档的能力。
2、实验要求(1)作好实验前准备工作,对讨论的课程设计问题应事先进行初步设计与算法设计,以提高上机效率。
(2)上机实验时一人一机,独立上机。
对程序调试过程中出现的问题应尽量独立解决,以训练学生分析问题和解决问题的能力。
(3)应按时完成课程设计任务。
(4)课程设计完成后应分析实验结果,找出存在的问题,寻找出解决问题的办法并解决问题,从而提高程序设计的能力。
四、实验项目和学时分配1、问题分析和任务定义(4学时)(1)内容:根据设计题目的要求,充分分析和理解问题,明确问题要求做什么,限制条件是什么。
(2)要求:掌握问题分析的方法,以无歧义的陈述说明程序设计的任务;了解以用例图来明确系统功能的方法。
(3)重难点:以无歧义的陈述说明程序设计的任务;对问题作透彻分析,避免出现需求分析错误。
(4)说明:本阶段是解决“做什么”的问题,就是要全面理解用户的各项要求,并准确表达所接受的用户需求。
2、逻辑设计和数据结构的选择(4学时)(1)内容:为操作对象定义相应的数据结构,以结构化程序设计的思想方法为原则划分各个模块,定义数据的抽象数据类型。
(2)要求:掌握逻辑设计和数据结构选择的方法。
(3)重难点:逻辑设计和数据结构选择。
(4)说明:本阶段的主要任务是把需求分析得到得数据流图转换为软件结构和数据结构。
设计软件结构的具体任务是:将一个负责系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。
数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。
总体设计建立的是目标系统的逻辑模型,与计算机无关。
3、详细设计和编码(8个学时)(1)内容:算法的具体描述和代码的书写(2)要求:掌握在逻辑设计基础上作详细设计的方法,把详细设计的结果进一步求精为程序设计语言程序。
同时加入一些注解和断言,使程序中逻辑概念清楚。
(3)重难点:在逻辑设计基础上作详细设计并编码实现。
(4)说明:本阶段主要任务是设计每个模块的实现算法、所需的局部数据结构。
详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。
4、上机调试(8个学时)(1)内容:源程序的输入和代码的调试(2)要求:能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。
调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果。
理解算法的时间、空间复杂性的分析方法。
了解对代码重构的一般方法。
(3)重难点:掌握调试工具的各种功能。
5、编写课程设计报告(8个学时)(1)内容:按照给定的报告模板,编写课程设计报告(2)要求:设计报告书封面和正文格式符合武汉工商学院课程设计、实习报告书封面与正文标准格式要求。
五、实验项目主要内容要求学生从以下5题中选做1题(一)职工信息管理系统开发职工信息包括职工号,姓名,性别,年龄,学历,工资,住址,电话等(职工号不相等)。
试设计一职工信息管理系统,使之能够提供下列功能:(1)系统以菜单方式工作(必做)。
(2)职工信息录入功能(职工信息用文件保存)(必做)。
(3)职工信息浏览功能(必做)。
(4)职工信息查询功能,查询方式:(至少完成一项)1)按学历查询2)按职工号查询3)按电话号码查询(5)职工信息删除,修改功能(可选项)。
其中:职工号系统随机生成,范围在2014000—2014999内。
(二)学生成绩管理系统开发学生信息至少包括学号,姓名,性别,计算机分数,数学分数,英语分数等(学号不得相等)。
该系统需要能够提供下列功能:(1)系统以菜单方式工作(必做)。
(2)学生信息录入功能(学生信息用文件保存)(必做)。
(3)学生信息浏览功能(能查看所有同学的记录)(必做)。
(4)学生信息查询功能,查询方式:(至少完成一项)1)按学号查询2)按姓名查询(5)成绩排序统计功能:(至少完成一项)1)按照指定的要求对学生记录进行排序2)按照指定的学科对成绩进行统计,需要提供该门成绩的:最高分、最低分、平均分、及格率及在五个分数段的学生人数比率([0,59],[60,69],[70,79],[80,89],[90,100])(6)学生信息删除,修改功能(可选项)。
其中:学号系统随机生成,范围在2014000—2014999内。
(三)通讯录管理系统开发制作一个通讯录程序,该程序具有查找、添加、修改、删除功能。
通讯录包括:姓名,电话,街道,城市,省,邮编等。
(最多存放500条信息)该系统需要能够提供下列功能:(1)系统以菜单方式工作。
(2)创建通讯录。
(信息用文件保存)(3)添加通讯录:在已有通讯录的末尾,写入新的信息,并返回选单。
(4)查询:(按照姓名或电话号码查询),如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。
(5)修改:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。
(6)删除:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。
(7)显示:显示通讯录中的所有记录。
(8)退出:退出选单。
(四)学生选修课查询系统开发假定有100门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期及课程的大致内容描述等信息,学生可查询这些课程的相关信息。
试设计一选修课查询系统,使之能提供以下功能:(1)系统以菜单方式工作。
(2)课程信息录入功能(课程信息用文件保存)。
(3)课程信息浏览功能:显示所有课程的所有信息。
(4)查询功能:(至少一种查询方式)1)按学分数查询2)按开课学期查询3)按课程编号查询(5)修改课程信息:对某门课程信息进行修。
(6)删除课程:将某门课程的信息删除。
(7)退出。
其中:课程编号随机生成,范围在2001—2099内。
六、考核方式、方法及实验成绩评定方法1、考核方式、方法设计成绩是依据在设计中的表现综合评定,包括:平时成绩(设计纪律+设计演示、答辩)(60%);设计报告(40%)。
2、实验成绩评定方法评定各级成绩时,可参考以下标准:(1)优秀(90分及以上)能正确理解课程设计项目的目的和要求,能独立、顺利而正确地完成各项基本要求,会分析和处理实验中遇到的问题,能运用数据结构课程所学知识较好的解决实际问题,能较好地完成实验报告及其它各项实验作业,有一定创造精神和能力。
有良好的实验工作作风和习惯。
(2)良好(80分—89分)能理解课程设计项目的目的和要求,能认真而正确地完成各项基本要求,能分析和处理实验中遇到的一些问题。
能运用数据结构课程所学知识的解决实际问题,对难点较大的部分完成有困难。
能一般完成实验报告和其它实验作业。
有较好的实验习惯和工作作风。
(3)中等(70分—79分)能粗浅理解课程设计项目目的和要求,能认真努力进行各项基本要求。
能分析和处理实验中一些较容易的问题,掌握本课程中大部分知识。
能一般完成各项实验作业和报告。
处理问题缺乏条理。
工作作风较好。
能认真遵守各项规章制度。
学习努力。
(4)及格(60分—69分)只能机械地了解课程设计项目目的和要求,能一般性地完成各项基本要求,有些功能虽然完成但不准确。
遇到问题常常缺乏解决的办法,在别人启发下能作些简单处理,但效果不理想。
能一般完成实验报告,能认真遵守实验室各项规章制度,工作中有小的习惯性毛病(如工作无计划,处理问题缺乏条理)。
(5)不及格(60分以下)盲目地操作,只能完成部分课程设计项目基本要求,但一般效果不好,操作不正确。
工作忙乱无条理。
一般能遵守实验室规章制度,但常有小的错误。
实验报告较多的时候有结果,遇到问题时说不明原因,在教师指导下也较难完成各项实验作业。
或有些小聪明但不努力,不求上进。
七、使用教材及实验指导书、主要参考书1、使用教材及实验指导书:教材:胡成松,2015年7月,C语言程序设计,机械工业出版社(该教材以案例式的思想来进行编写,全书以“学生信息管理系统”贯穿,能较好的掌握语法知识的同时,培养学生系统设计的能力。
)2、主要参考书目:[1] 苏小红主编,2013年10月,C语言大学实用教程(第3版),电子工业出版社[2] 谭浩强,2010年3月,C程序设计(第五版),清华大学出版社。