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语言程序设计》课程教学大纲适用专业信息与计算科学总学时90学分 4一、编写说明(一)本课程的性质、地位和作用本课程属于信息与计算科学的专业课,C程序设计语言的语法规则、数据类型、数据运算、语句、函数、指针、程序结构等方面的学习,掌握应用C语言进行程序设计的技能,为今后进一步学习程序开发以及科学与工程计算的软件开发奠定一个良好的基础。
(二)本大纲制定的依据根据本专业人才的培养目标和人才培养规格所需要的基本理论和基本技能的要求,根据本课程的教学性质、条件和教学实践而制定。
(三)大纲内容选编原则与要求通过对本课程的学习,使学生掌握基本概念、基本原理、基本知识和实际操作能力,重点落实到“用”上。
在对大纲内容选编时,在注重基本原理、基本概念的同时,特别强调实用系统的设计与开发,做到了理论与实践有效结合。
(四)实践环节实验1:C程序的运行环境和运行一个C程序的方法, 2学时主要内容与要求:了解所用的计算机系统的基本操作方法,学会独立使用该系统;了解在该系统上如何编辑、编译、连接和运行一个C程序;通过运行简单的C程序,初步了解C 程序的特点。
实验2:简单的C程序设计,2学时主要内容与要求:掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法;掌握不同类型数值之间赋值的规律;学会使用C的有关算术运算符,以及包含这些运算符的表达式;掌握赋值语句的使用方法;掌握各种类型数据的输入输出方法,能正确使用各种格式转换符。
实验3:逻辑结构、循环控制程序设计,4学时主要内容与要求:了解C语言表示逻辑量的方法;学会正确的使用逻辑运算符和逻辑表达式;熟练掌握if语句和switch语句;熟悉掌握用while 语句,do while语句和for语句实现循环的方法;掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等);进一步学习调试程序。
实验4:数组、函数,4学时主要内容与要求:掌握一维数组和二维数组的定义、赋值和输入输出方法;掌握字符数组和字符串函数的使用;掌握与数组有关的算法(特别是排序算法);掌握定义函数的方法;掌握函数实参与形参的对应关系以及“值传递”的方式;掌握函数的嵌套调用和递归调用的方法;掌握全局变量和局部变量,动态变量、静态变量的概念和使用方法;学习对多文件程序的编译和运行。
《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语言程序设计》课程教学大纲
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,通系电1,力过根保管据护线生高0不产中仅工资2艺料22高试2可中卷以资配解料置决试技吊卷术顶要是层求指配,机置对组不电在规气进范设行高备继中进电资行保料空护试载高卷与中问带资题负料2荷试2,下卷而高总且中体可资配保料置障试时2卷,32调需3各控要类试在管验最路;大习对限题设度到备内位进来。行确在调保管整机路使组敷其高设在中过正资程常料1工试中况卷,下安要与全加过,强度并看工且25作尽52下可22都能护可地1关以缩于正小管常故路工障高作高中;中资对资料于料试继试卷电卷连保破接护坏管进范口行围处整,理核或高对者中定对资值某料,些试审异卷核常弯与高扁校中度对资固图料定纸试盒,卷位编工置写况.复进保杂行护设自层备动防与处腐装理跨置,接高尤地中其线资要弯料避曲试免半卷错径调误标试高方中等案资,,料要编试求5写、卷技重电保术要气护交设设装底备备置。4高调、动管中试电作线资高气,敷料中课并设3试资件且、技卷料中拒管术试试调绝路中验卷试动敷包方技作设含案术,技线以来术槽及避、系免管统不架启必等动要多方高项案中方;资式对料,整试为套卷解启突决动然高过停中程机语中。文高因电中此气资,课料电件试力中卷高管电中壁气资薄设料、备试接进卷口行保不调护严试装等工置问作调题并试,且技合进术理行,利过要用关求管运电线行力敷高保设中护技资装术料置。试做线卷到缆技准敷术确设指灵原导活则。。:对对在于于分调差线试动盒过保处程护,中装当高置不中高同资中电料资压试料回卷试路技卷交术调叉问试时题技,,术应作是采为指用调发金试电属人机隔员一板,变进需压行要器隔在组开事在处前发理掌生;握内同图部一纸故线资障槽料时内、,设需强备要电制进回造行路厂外须家部同出电时具源切高高断中中习资资题料料电试试源卷卷,试切线验除缆报从敷告而设与采完相用毕关高,技中要术资进资料行料试检,卷查并主和且要检了保测解护处现装理场置。设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
C语言程序设计教学大纲
《C语言程序设计》教学大纲课程概述一、《C语言程序设计》是一门研究C语言基本知识与结构化程序设计方法,并采用C语言进行结构化程序设计的专业课程,内容包括C语言的数据类型、程序结构、各种语句、函数、预处理、文件,结构化程序设计方法,以及相应知识的应用等知识。
《C语言程序设计》是计算机科学与技术及相近专业的一门重要基础课程,通过学习该课程,学生在结构化程序设计方法、程序设计语言与程序设计工具软件的使用等方面受到严格、系统的训练,初步掌握计算机软件设计与开发技术,为后续的Visual C++、数据结构、操作系统、数据库及其应用、软件工程等专业课程的学习及以后从事计算机软件开发工作打下扎实的基础。
二、课程目标通过全面、深入、系统地介绍程序设计方法和程序设计语言,使学生初步了解计算机,建立起程序设计的概念,通过学习用C程序设计语言编写程序,初步掌握程序设计方法,养成良好的程序设计风格。
程序设计包括两个方面内容:程序设计方法和程序设计语言。
本课程针对一年级学生初始接触程序设计概念的特点,结合C程序设计语言,通过列举大量的应用实例,初步系统地介绍面向过程、面向模块和结构化程序设计的思想和方法。
在此基础上,结合上机实践,使学生对程序设计有一个比较全面、系统地了解,为学生今后的学习打下扎实的理论基础。
通过本课程的教学,要求学生:1 知道C语言的发展过程、特点,本课程在整个计算机系列课程中的地位、作用和意义;2 理解C语言及结构化程序设计中的基本概念;3 学会使用C语言的数据类型、控制语句、函数定义与调用、预处理命令等知识进行程序设计;4 掌握“自顶向下、逐步求精”这一结构化程序设计的基本方法,并将之应用于程序设计实践;语言进行较复杂的程序设计,解决一些实际的应用问题。
独立完成有一定工C学会运用 5作量的程序设计任务,同时强调好的程序设计风格。
三、教学内容与教学要求本课程的知识与技能要求分为知道、理解、掌握、学会四个层次。
c语言程序设计课程思政大纲
【C语言程序设计课程思政大纲】一、课程简介1.1 课程名称:C语言程序设计1.2 课程性质:专业必修课1.3 学时安排:64学时1.4 学分:3学分1.5 课程概况:C语言程序设计是计算机科学与技术专业的基础课程,旨在培养学生系统掌握C语言程序设计的理论和实际操作能力,为其日后的计算机编程和软件开发奠定坚实的基础。
二、课程目标2.1 知识与能力目标:使学生能够理解并掌握C语言程序设计的基本原理和方法,熟练运用C语言进行程序设计与编程。
2.2 德育与人文目标:培养学生严谨、务实、创新的学术态度,增强责任感和团队合作精神。
2.3 智育与学科目标:提高学生的计算机程序设计能力,为后续学习更高级别编程语言和软件开发打下基础。
三、课程内容3.1 C语言程序设计概述3.1.1 计算机程序设计基础3.1.2 C语言概述与发展历程3.2 C语言程序的基本结构3.2.1 程序的基本框架3.2.2 数据类型与变量3.2.3 运算符与表达式3.3 控制结构3.3.1 顺序结构3.3.2 分支结构3.3.3 循环结构3.4 函数与数组3.4.1 函数的定义与调用3.4.2 函数参数与返回值3.4.3 数组的定义与使用3.5 指针与内存管理3.5.1 指针的概念与使用3.5.2 内存管理与动态内存分配3.6 结构体与文件操作3.6.1 结构体的定义与使用3.6.2 文件的打开与关闭3.6.3 文件数据的读写操作3.7 综合设计与实践3.7.1 大作业设计与实现3.7.2 实际问题的解决与应用四、教学方法4.1 理论教学与实践相结合4.2 个性化辅导与小组合作4.3 多媒体技术与互动教学4.4 课程设计与综合实践五、教学要求5.1 理论通联实际,培养学生的动手能力与创新思维5.2 重视实践操作,注重实际问题的解决能力5.3 注重培养学生的团队合作与交流能力5.4 营造良好的学习氛围,激发学生对计算机编程的兴趣与热情六、考核方式6.1 平时成绩:包括作业完成情况、实验报告、课堂表现等6.2 期中考试:涵盖课程的基本知识点和基本题型6.3 期末考试:综合性考察学生的综合能力和编程实践能力6.4 课程设计:包括小组设计与个人设计两种形式,要求有一定的实际应用性和创新性七、教材与参考书目7.1 主教材:《C程序设计语言》(第二版)著者:Brian W. Kernighan, Dennis Ritchie7.2 参考书目:《C和指针》著者:Kenneth Reek《C Primer Plus》著者: Stephen Prata《C语言程序设计》著者:谭浩强八、总结与展望C语言程序设计课程思政大纲对学生的专业知识和思想品质都有明确的要求。
《C语言程序设计基础》课程教学大纲
《C语言程序设计基础》课程教学大纲一、课程性质、地位和任务《C语言程序设计基础》是计算机类、电子信息类、自动化类等专业必修的基础课程。
C语言具有简洁、类型丰富、结构完整、表达力强、直接操作内存单元、适用于模块化结构等特点,由于它的显著优点,C语言成为许多学校学生学习编程的入门课程。
并且是数据结构、Java、python、单片机等课程的先导课程。
课程的主要任务是引导学生进入精彩的计算机世界,掌握程序设计思维、过程和技巧。
培养学生动手解决问题的能力和创新精神。
二、教学目标及要求通过理论和实践教学,使学生较好地掌握程序设计的基本知识和结构化编程的思想和方法;能够独立或者与其他人合作编写较为复杂的程序;具备初步的程序设计能力,能够灵活运用模块化思想将复杂问题逐步分解,并且编写出相应的程序解决问题。
三、教学内容及安排第一章 C语言概述(2学时)教学目标:掌握C程序的基本结构、熟悉C语言集成开发环境、了解C语言学习方法。
教学内容:1 程序与程序设计语言2 C语言概述3 C语言学习方法4 C语言集成开发环境5 项目介绍6 C语言程序基本结构第二章数据类型、运算符和表达式(4学时)教学目标:掌握数据类型的概念、基本数据类型、变量的定义与使用。
教学内容:1数据类型概述2 常量与变量3 基本数据类型4 运算符、表达式与语句5不同数据类型之间的转换第三章选择结构(4学时)教学目标:掌握关系、逻辑表达式的用法,掌握选择语句的用法。
教学内容:1 关系运算符与关系表达式2 逻辑运算符与逻辑表达式3 if语句4 switch语句5 案例分析第四章循环结构(4学时)教学目标:掌握程序设计中循环的四个要素,掌握for,while,do-while语句的用法,了解break,continue在循环语句中的作用。
教学内容:1 循环结构简介2 while语句3 do-while语句4 for语句5 break语句6 continue语句7嵌套语句8应用举例第五章数组(4学时)教学目标:理解数组的概念,掌握数组的定义和引用。
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 language program designing课程编号:106004课程类型:C1学时/课内实践学时:48/0学分:3适用对象:计算机、自动化、通信、电子专业本科生先修课程:无使用教材及参考书:教材:C程序设计(第四版),谭浩强主编,清华大学出版社参考书:C程序设计习题解答与上机指导(第四版),谭浩强主编,清华大学出版社一、课程的性质、教学目的和任务:C语言是国内外广泛使用的一种计算机语言,它以其丰富灵活的控制和数据结构,简洁而高效的语句表达、清晰的程序结构、良好的移植性、较小的时空开销,已被广泛的应用于系统软件和应用软件的开发中。
本课程是计算机、自动化、通信、电子类专业的一门专业基础课。
课程的主要任务是引导学生进入计算机程序设计的广阔空间、培养学生的逻辑思维能力、抽象能力和基本的计算机程序设计能力。
本课程以C语言为载体,使学生对计算机程序设计有一个初步的正确的认识,学会阅读用计算机程序设计语言编写的简单应用程序,掌握结构化程序设计的基本方法和用计算机解决实际问题的基本步骤,训练学生的逻辑思维能力,培养其严谨的思维方式和良好的程序设计风格,为进一步学习其它专业基础课程和专业课程打下良好的基础。
二、课程内容和基本要求第一章程序设计和C语言1.教学内容:1.1 什么是计算机程序1.2 什么是计算机语言1.3 C语言的发展及其特点1.4 最简单的C语言程序1.5 运行C程序的步骤与方法1.6程序设计的任务2. 教学目的及要求:1)了解C语言的历史、特点2)掌握C语言的运行环境,初步了解运行一个C语言程序的过程3. 教学重点及难点:1)C语言的特点2)C程序的上机步骤第二章算法--程序的灵魂1.教学内容:2.1 什么是算法2.2 简单的算法举例2.3 算法的特性2.4 怎样表示一个算法2.5结构化程序设计方法2.教学目的及要求:1) 掌握算法的概念和特点2) 掌握用流程图、N-S流程图、伪代码表示算法3) 理解结构化程序设计方法的概念3.教学重点及难点:用流程图、N-S流程图、伪代码表示算法第三章最简单的C程序设计——顺序程序设计1. 教学内容:3.1 顺序程序设计举例3.2 数据的表现形式及其运算3.3 C语句3.4 数据的输入输出2. 教学目的及要求:1) 掌握基本数据类型的存储和表示方式,以及不同类型数据转换原则与方法2) 掌握运算符和表达式的使用方法3) 掌握语句的概念和使用方法4)掌握数据输入输出函数的使用,并能够编写简单的顺序结构程序3. 教学重点及难点:1) 基本数据类型的存储和表示方式2) 不同类型数据转换原则与方法3)运算符和表达式的运用4)语句的使用5)输入输出函数的使用第四章选择结构程序设计1. 教学内容:4.1 选择结构和条件判断4.2 用if语句实现选择结构4.3关系运算符和关系表达式4.4 逻辑运算符和逻辑表达式4.5 条件运算符和条件表达式4.6 选择结构的嵌套4.7 用switch语句实现多分支选择结构4.8选择结构程序综合举例2. 教学目的及要求:1) 掌握关系运算符和关系表达式、逻辑运算符和逻辑表达式、条件运算符和条件表达式的使用方法2) 能够运用if语句、switch语句实现选择结构,掌握if语句的嵌套3. 教学重点及难点:1)字三种运算符和表达式的使用2)if语句及if语句的嵌套第五章循环结构程序设计1. 教学内容:5.1 为什么需要循环控制5.2 用while语句实现循环5.3 用do---while语句实现循环5.4 用for 语句实现循环5.5 循环的嵌套5.6 几种循环的比较5.7 改变循环执行的状态5.8 循环程序举例2. 教学目的及要求:1) 熟练掌握三种循环语句的运用2)掌握循环的嵌套3)掌握break和continue语句的运用3. 教学重点及难点:1)三种循环语句的使用2)循环的嵌套第六章利用数组处理批量数据1.教学内容:6.1 怎样定义和引用一维数组6.2 怎样定义和引用二维数组6.3 字符数组2.教学目的及要求:1)掌握一维数组和二维数组的概念、初始化和引用2)掌握字符数组和字符串的应用3)学会使用字符串处理函数3.教学重点及难点:1)数组的初始化、引用2)字符串的处理第七章用函数实现模块化程序设计1.教学内容:7.1为什么要用函数7.2怎样定义函数7.3调用函数7.4对被调用函数的声明和函数原型7.5函数的嵌套调用7.6函数的递归调用7.7数组作为函数参数7.8局部变量和全局变量7.9变量的存储方式和生存期7.10 关于变量的声明和定义7.11 内部函数和外部函数2.教学目的及要求:1) 掌握函数的定义和调用方法2) 掌握函数的嵌套和递归调用3) 了解变量的存储类别和作用域3.教学重点及难点:1)函数的定义和调用2)函数的嵌套调用第八章善于利用指针1.教学内容:8.1 指针是什么8.2 指针变量8.3 通过指针引用数组8.4 通过指针引用字符串8.5 指向函数的指针8.6 返回指针值的函数8.7 指针数组和多重指针8.8 动态内存分配与指向它的指针变量8.9 有关指针的小结2.教学目的及要求:1) 掌握指针、指针变量的区别2) 掌握数组、指针、指针数组的关系3)了解指向函数的指针、返回指针值的函数、指针数组3.教学重点及难点:1)指针的定义、引用2)指针变量3)指针与数组的关系4)指针与函数的关系第九章用户自己建立数据类型1.教学内容:9.1 定义和使用结构体变量9.2 使用结构体数组9.3 结构体指针9.4 用指针处理链表9.5 共用体类型9.6 使用枚举类型9.7 用typedef声明新类型名2.教学目的及要求:1)掌握结构体、共用体、枚举类型的定义和使用方法,类型和变量的区别2)掌握有关链表的操作3.教学重点及难点:1)结构体定义和使用方法2)链表的操作第十章对文件的输入输出1.教学内容:10.1 C文件的有关基本知识10.2 打开与关闭文件10.3 顺序读写数据文件10.4 随机读写数据文件10.5 文件读写的出错检测2.教学目的及要求:1) 掌握文件的定义与分类,文件名的表示,文件的打开与关闭2) 了解顺序/随即读写数据文件的方法3) 解如何对文件进行读写出错检测3.教学重点及难点:文件的打开、关闭、读写三、课程教学基本要求1.课堂讲授:教学方法采用课堂讲授与课件配合使用,使用多媒体教学方式,使学生掌握基本概念和基本操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C程序设计课程教学大
纲
文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]
聊城市技师学院信息工程系
《C++程序设计》课程教学大纲
80学时(上机实验24学时)
一、课程的性质和任务
C++语言是在C语言基础上扩充了面向对象机制而形成的一种面向对象的程序设计语言,它对降低软件的复杂性,改善其重用性和可维护性,提高大型软件的开发效率,具有十分重要的意义。
C++程序设计主要讲授C++语言的基本语法、数据类型、程序的结构与语句、数组、函数、指针、构造数据类型、类和对象、继承与派生、多态性和虚函数、模板、I/O流等方面的问题。
通过本课程的学习,使学生掌握有关面向对象的思想和基本概念,树立面向对象的编程思想,学会程序设计的基本方法和技能,具有用程序设计语言解决实际问题的能力,使学生能编写出符合规范和性能良好的程序,为后续课学习及今后的应用开发打好基础。
二、课程教学内容的基本要求、重点和难点
(一)C++概述
了解程序设计基本概念、程序设计方法,一般问题的计算机求解过程;掌握C++程序结构,main()函数,C++源程序的编辑、编译、链接和运行,VisualC++集成开发环境的安装和使用。
重点: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学时)
要求:理解类模板的概念,掌握类模板的定义、实例化过程,掌握类模板运用。
O流编程(2学时)
要求:理解输入/输出流的概念,掌握读、写、遍历文本文件和二进制文件。
(二)课程设计
要求:学生独立完成教师布置的任务,查阅相关资料、编写程序并写出课程设计说明书。
(三)作业
根据授课进度,布置作业,批改后做集体答疑,讲解作业中出现的问题。
作业
的题型以编写程序为主。
(四)课外
首先完成教师布置的作业,然后利用课余时间进行自主学习,练习编写程序。
五、教学参考书目
《C++程序设计》余苏宁主编高等教育出版社
《C++语言程序设计教程》杨进才沈显君刘蓉编着清华大学出版社
《C++面向对象程序设计教程》(第2版),编着
六、评价方式
笔试成绩:占70%;实验成绩:占30%
大纲制定:贾涛。