[精选]《C++程序设计》课程教学大纲资料
《C程序设计》教学大纲
《C程序设计》课程教学大纲一、课程基本信息课程名称:C语言程序设计课程类别:专业核心课(必修课)适用专业:计算机科学与工程及相关专业课程简介:《C程序设计》是计算机专业最最基本的课程之一。
本课程旨在让学生掌握一门最常用的程序设计语言—C语言,掌握结构化程序设计的思想,掌握最基本通用算法以及它们的应用,以及软件开发的完整过程。
本课程含有上机36学时。
每章结束后都有一些上机题,以加深对所学内容的理解以及养成动手的习惯。
最后还有一个较大型的作业,把所学的内容串联起来,综合应用。
通过本课程的学习,希望学生能够扎实掌握程序设计的基本技能,养成良好的程序设计风格,具备自主开发一个简单项目的能力。
课程总学时:90学时(理论:54学时、实践:36学时)周学时:5学时教材名称:《第一行代码——C语言(视频讲解版)》,翁惠玉编著,人民邮电出版社,2018年参考书目:《程序设计基础》吴文虎清华大学出版社Programming in C Stephen G. Kochan 人民邮电出版社The art and science of C Eric S. Roberts 机械工业出版社知识结构:理论知识60%+实践能力40%成绩评估:总成绩(100%)=平时成绩40%+期末成绩60%平时成绩(40%)=作业+实验;期末成绩(60%)=考试方式(笔试)二、课程教育目标(一)在知识方面教学目标:通过本课程的学习,学生应掌握如下知识:1.C语言的语法;2.过程化程序设计;3.通用的算法设计思想;4.软件开发的完整过程。
(二)在能力方面教学目标:通过本课程的学习,学生应该具备如下的能力:1.基本的算法设计能力;2.利用某个编程环境编译、链接、和调试程序的能力;3.熟练应用C语言编写程序的能力;4.运用软件工程思想开发简单软件的能力。
(三)在素质方面教学目标:通过本课程的学习,学生能够培养1.计算思维能力;2.应用计算机分析问题和解决问题的能力。
《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程序设计》教学大纲一、课程概述《C 程序设计》是一门面向计算机及相关专业学生的基础课程,旨在培养学生的程序设计思维和基本编程能力。
通过本课程的学习,学生将掌握 C 语言的基本语法、数据类型、控制结构、函数、数组、指针、结构体等重要概念和编程技巧,能够运用 C 语言解决实际问题,并为后续学习其他编程语言和专业课程打下坚实的基础。
二、课程目标1、知识目标掌握 C 语言的基本语法规则和数据类型。
理解程序设计中的控制结构,如顺序、选择和循环。
熟悉函数的定义、调用和参数传递。
了解数组、指针、结构体等复杂数据类型的使用。
2、能力目标能够运用 C 语言编写简单的程序,解决实际问题。
具备良好的程序设计思维和逻辑推理能力。
能够阅读和理解他人编写的 C 程序代码。
具有一定的程序调试和错误处理能力。
3、素质目标培养学生的创新意识和团队合作精神。
提高学生的自主学习能力和解决问题的能力。
培养学生严谨的科学态度和良好的编程习惯。
三、课程内容1、 C 语言基础C 语言的发展历程和特点。
C 程序的基本结构和编译运行环境。
数据类型(整型、浮点型、字符型等)。
变量和常量的定义与使用。
2、控制结构顺序结构程序设计。
选择结构(if 语句、switch 语句)。
循环结构(for 循环、while 循环、dowhile 循环)。
嵌套的控制结构。
3、函数函数的定义和调用。
函数的参数传递(值传递和地址传递)。
函数的返回值。
函数的递归调用。
4、数组一维数组和二维数组的定义、初始化和使用。
数组作为函数参数。
字符数组和字符串处理函数。
5、指针指针的概念和定义。
指针与变量的关系。
指针与数组的关系。
指针作为函数参数。
6、结构体结构体的定义和使用。
结构体数组和结构体指针。
7、文件操作文件的打开与关闭。
文件的读写操作。
四、教学方法1、课堂讲授通过讲解、演示和案例分析,向学生传授 C 语言的基本概念和编程技巧。
2、实践教学安排实验课程,让学生通过实际编程练习,巩固所学知识,提高编程能力。
《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语言程序设计》课程教学大纲
文件定位与随机访问
讲解如何在文件中进行定位,实现随 机访问文件内容的功能。
数据存储管理策略
数据存储基本概念
阐述数据存储在计算机中的概念,包括内存 、硬盘等存储介质的管理和使用。
数据压缩与加密
讲解数据压缩和加密的原理和方法,以及它 们在数据存储中的应用。
数据存储格式与转换
介绍不同数据格式之间的转换方法,如文本 格式与二进制格式之间的转换。
选择合适的数据结构可以显著 提高程序性能,如使用哈希表 替代数组进行查找、使用二叉 树进行排序等。
通过改进代码实现方式提高性 能,如避免不必要的函数调用 、减少全局变量的使用、使用 位运算替代算术运算等。
利用多核CPU或GPU进行并行 计算,可以显著提高程序运行 速度。需要注意的是,并行计 算需要合理设计算法和数据结 构,以避免竞态条件和死锁等 问题。
域。
学习C语言有助于理解计算机底 层原理,提高编程能力和问题解
决能力。
掌握C语言为后续学习其他编程 语言和数据结构、算法等课程打
下基础。
教学目标与要求
01
掌握C语言的基本语法、 数据类型、运算符、控 制结构等基础知识。
02
能够熟练使用C语言进行 程序设计,包括顺序、 选择、循环等结构。
03
了解C语言的内存管理、 指针、文件操作等高级 特性,并能够应用于实 际编程中。
07 课程总结与展望
关键知识点回顾
数据类型、运算符和表达式
01
C语言的基本数据类型,如int、float、char等,以及运算符的
优先级和结合性规则,表达式的求值。
控制结构
02
包括顺序结构、选择结构和循环结构,如if-else语句、switch
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
聊城市技师学院信息工程系
《C++程序设计》课程教学大纲
80学时(上机实验24 学时)
一、课程的性质和任务
C++语言是在C语言基础上扩充了面向对象机制而形成的一种面向对象的程序设计语言,它对降低软件的复杂性,改善其重用性和可维护性,提高大型软件的开发效率,具有十分重要的意义。
C++程序设计
主要讲授C++语言的基本语法、数据类型、程序的结构与语句、数组、函数、指针、构造数据类型、类和对象、继承与派生、多态性和虚函数、模板、I/O 流等方面的问题。
通过本课程的学习,使学生掌握有关面向对象的思想和基本概念,树立面向对象的编程思想,学会程序设计的基本方法和技能,具有用程序设计语言解决实际问题的能力,使学生能编写出符合规范和性能良好的程序,为后续课学习及今后的应用开发打好基础。
二、课程教学内容的基本要求、重点和难点
(一)C++概述
了解程序设计基本概念、程序设计方法,一般问题的计算机求解过程;掌握C++程序结构,main()函数,C++源程序的编辑、编译、链接和运行,VisualC++6.0集成开发环境的安装和使用。
重点:C++程序结构,main()函数,C++语言程序上机调试步骤和方法。
难点:C++程序结构。
(二)数据类型、运算符与表达式
掌握基本数据类型的定义和使用,熟练掌握整型与实型数据的输入与输出,字符型数据的输入与输出。
掌握常用运算符和表达式的使用,包括算术运算符、关系运算符、逻辑运算符、自增自减运算符、赋值运算符及其表达式的使用,了解运算符的优先级。
了解标识符的构造规则,理解强制类型转换的使用。
重点:数据输入输出中格式控制符的使用,基本数据类型的表示范围对使用的影响。
难点:数据类型转换,运算符的混合使用。
(三)程序的结构与语句
掌握表达式语句和结构化程序设计的三种基本结构,包括顺序结构、选择结构和循环结构,熟练掌握选择结构中的if-else 语句和switch 语句,循环结构中的while 语句和for 语句,了解do-while 语句。
理解break 语句与continue 语句使用上的区别。
重点:掌握三种基本结构,混合使用三种基本结构解决实际问题。
难点:循环结构的嵌套使用。
(四)函数熟练掌握函数的定义和使用方法;掌握函数参数传递的方式;理解函数的作用范围;掌握函数重载、
递归函数。
了解预处理和函数原型的使用;了解变量的作用域和存储类型。
重点:掌握函数的声明、定义、调用和返回;掌握函数参数传递的两种方式对程序运行结果的影响;函数重载。
难点:理解按地址传递函数参数,递归函数的使用。
(五)数组熟练掌握一维数组和二维数组的定义、初始化和数组元素的引用方法;掌握一维数组的基本操作和基
本算法,能应用一维数组进行线性查找和排序。
熟练掌握字符数组的定义、初始化与引用;掌握字符数组的输入与输出。
了解数组的存储结构。
重点:一维数组定义及使用方法,并应用一维数组解决实际问题。
难点:理解字符数组与字符串的区别和它们的使用。
(六)指针正确理解指针变量和地址的概念;掌握指针变量的定义与运算;掌握通过指针引用变量的方法;掌握
通过指针引用数组元素的方法。
重点:指针定义与运算,指针与数组,指针变量作为函数的参数。
难点:运用指针表达复杂的数据结构,动态分配内存。
(七)构造数据类型掌握结构体类型定义和结构体类型变量的引用;掌握结构体数组和结构体指针的定义、初始化与使用;能够正确引用结构体成员;了解共用体;了解枚举型。
重点:结构体类型定义、结构体类型变量的引用;结构体数组,指向结构体的指针。
难点:结构体数组。
(八)类与对象理解类的基本概念,熟练掌握类的定义方法;理解信息隐藏、封装和抽象数据类型等基本概念以及它
们与类的关系;了解对象、方法和消息等基本概念,能熟练定义和运用对象、方法;掌握方法的定义和引用,方法重载,const 对象和const 成员函数;了解构造函数和析构函数的特点,理解构造函数和析构函数的功能,熟练掌握构造函数和析构函数的定义和使用方法;理解复合类的含义,掌握复合类、复合类构造函数的定义和使用方法;理解指向对象的指针、指向类成员的指针和this 指针的概念,掌握前两种指针的定义方法以及这三种指针的使用方法;掌握成员对象和对象数组;掌握静态类成员,接口和实现的分离,友元。
重点:类的定义方法;构造函数和析构函数的定义和使用方法;静态成员和堆对象的概念和编程。
难点:构造函数和析构函数的定义和使用方法;this 指针的概念;静态成员。
(九)继承与派生理解继承与派生的概念,理解继承是如何提高软件可重用性的;掌握派生类的定义方法,能通过继承现有的类建立新类;理解派生类的继承特性并会运用;熟练掌握派生类构造函数和析构函数的概念和编程;理解多继承的概念和编程,理解虚基类的概念,掌握虚基类的使用方法。
重点:继承与派生的概念、派生类构造函数和析构函数的概念和编程。
难点:派生类构造函数和析构函数编程。
(十)多态性理解虚函数、动态多态性和动态联编的概念;了解虚函数和动态联编对实现动态多态的作用;掌握虚
函数的声明、定义方法和访问属性;理解纯虚函数和抽象类的概念,掌握纯虚函数和抽象类的定义方法;了解抽象类和具体类的区别;理解虚析构函数的概念和作用,掌握其声明和使用方法;理解动态联编的实现机理,学会使用动态多态特性。
重点:虚函数、纯虚函数与抽象类。
难点:纯虚函数与抽象类的概念和编程。
(十一)运算符重载了解运算符重载的必要性,理解运算符重载的概念;掌握运算符重载的规则,能够对一般的运算符进
行重载。
重点:运算符重载编程。
难点:运算符重载编程。
(十二)模板理解类模板的基本概念,能用类模板创建相关的类;能区分类模板和模板类;熟练掌握类模板编程;
理解函数模板的基本概念,能用函数模板创建相关的函数;能区分函数模板和模板函数;掌握函数模板编程。
重点:类模板编程。
难点:类模板编程。
(十三)I/O 流与文件系统
了解文件流类的继承关系;掌握使用ofstream 类建立文件、打开文件和读文件;掌握使用ifstream 类打开文件和写文件;掌握使用文件流读写文本文件;掌握使用文件流读写二进制文件。
重点:I/O 流编程。
难点:I/O 流编程。
四、课程其他教学环节要求
(一)实验环节
1. 控制语句编程(4学时)
要求:熟练使用if语句和switch语句编程;熟练掌握while循环和for循环语句的编程;熟练掌握循环语句的嵌套编程;熟练掌握三种基本结构的混合使用编程。
2. 函数编程(2学时)
要求:函数的定义和调用,函数原型的使用;函数参数的传递,对比传值与传参;递归函数和函数重载。
3. 数组编程(2学时)
要求:一维数组的应用;字符数组的应用;掌握数组应用的一般方法。
4. 指针编程(2学时)
要求:指针引用变量,指针变量作为函数的参数;指针引用数组元素,指针与数组的区别与联系。
5. 结构体编程(2学时)
要求:结构体数组的定义、初始化与使用;结构体指针的定义、初始化与使用。
6. 类与对象编程(4学时)
要求:掌握类的定义,根据具体需求设计类,深入理解类的封装性,会根据类创建各种对象,掌握对象的各种成员的使用方法,通过定义构造函数实现对象的初始化。
7. 继承与派生编程(2学时)
要求:掌握继承与派生的概念与使用方法,掌握继承中的构造函数与析构函数的调用顺序,为派生类设计合适的构造函数初始化派生类;理解多继承的概念和编程,理解虚基类的概念,掌握虚基
类的使用方法。
8. 多态性编程(2学时)
要求:理解多态性的概念,掌握如何用虚函数实现动态联编,掌握如何利用虚函数;理解纯虚函数和抽象类的概念,掌握纯虚函数和抽象类的定义方法;理解虚析构函数的概念和作用,掌握其声
明和使用方法。
9. 模板编程(2学时)
要求:理解类模板的概念,掌握类模板的定义、实例化过程,掌握类模板运用。
10. I/O 流编程(2 学时)
要求:理解输入/ 输出流的概念,掌握读、写、遍历文本文件和二进制文件。
(二)课程设计要求:学生独立完成教师布置的任务,查阅相关资料、编写程序并写出课程设计说明书。
(三)作业根据授课进度,布置作业,批改后做集体答疑,讲解作业中出现的问题。
作业的题型以编写程序为主。
(四)课外首先完成教师布置的作业,然后利用课余时间进行自主学习,练习编写程序。
五、教学参考书目
《C++程序设计》余苏宁主编高等教育出版社2004.1
《C++语言程序设计教程》杨进才沈显君刘蓉编著清华大学出版社2006.12
《C++面向对象程序设计教程》(第2版)陈维兴,林小茶编著清华大学出版社2004.8
六、评价方式
笔试成绩:占70%;实验成绩:占30%
大纲制定:贾涛。