还剩10页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
C和C++程序设计
一、课程概况所属专业软件工程开课单位数学计算机科学学院课程类型专业基础课程课程代码07414060开课学期1学分5学时85核心课程是拟使用教材胡明、王红梅.程序设计基础-从问题到程序(第2版).清华大学出版社.2016年1月国内(外)现有教材
1.裘宗燕.从问题到程序-程序设计与C语言引论(第2版).机械工业出版社.2011年5月
2.鲍春波、林芳、谢丽聪.问题求解与程序设计.清华大学出版社.2015年9月
3.Brian W.Kernighan和Dennis M.Ritchie著,徐宝文、李志译,C程序设计语言(第2版•新版),机械工业出版社,2004年月
4.钱能主编,C++程序设计教程,清华大学出版社(第一版),1999年4月学习参考资料
1.谭浩强,C语言程序设计(第三版),清华大学出版社,2005年7月
2.孟庆昌、牛欣源主编,C语言程序设计上机指导与习题解答(第一版),人民邮电出版社,2003年8月
3.赵英良仇国巍等.C++程序设计教程.清华大学出版社,
2013.
8.
二、课程描述本门课程是软件工程专业基础课,为学习后续课程准备必要的程序设计知识,主要培养学生掌握C/C++语言程序设计的基本思想、基本方法和程序设计过程培养学生阅读和分析、调试程序的方法和技巧,了解并初步掌握实用程序的课后作业完成教材第240页习题11:
2、
3、6o第十二章文件(授课时间第一学期第十四周)教学目标
①了解C文件概述
②掌握文件类型指针;文件的打开与关闭
③掌握缓冲文件系统中有关文件操作的系统函数的使用方法
④掌握对文件进行简单处理实用程序的设计教学重点缓冲文件系统中“文件类型指针”的概念,有关文件操作(打开、关闭、四种形式的读写、定位、出错检测)的系统函数使用教学难点有关文件处理的各种系统函数的使用;特别是读写函数种类较多、功能相近,造成记忆和选择上的困难学时课堂教学3学时,课外自主学习时间不少于3学时教学方法讲授法、演示法主要内容C文件概述;文件类型指针;文件的打开与关闭;文件的读写;文件夹的定位;出错的检测学习方法小组讨论、上机操作课后作业完成教材第261页习题12
三、
1、
4、5o第十三章面向对象程序设计概述(授课时间第一学期第十四周)教学目标初步建立面向对象的程序设计思想和概念教学重点面向对象的基本概念(对象、消息、类)教学难点面向对象的思想学时课堂教学2学时教学方法讲授法、演示法主要内容什么是面向对象?什么是面向对象的程序设计?面向对象系统的特性学习方法上机操作课后作业完成C++课后布置的作业第十四章C++概述(授课时间第一学期第十五周)教学目标掌握C++和C的不同点教学重点输入/输出流的使用;函数重载的概念和重载方法教学难点函数重载的概念和重载方法学时课堂教学2学时教学方法讲授法、演示法主要内容标准输入/输出流(cin和cout)和输入/输出运算符(>>和<<);const和内置(联)函数inline;函数重载;new和delete;引用学习方法上机操作课后作业完成C++课后布置的作业第十五章类和对象及其封装性(授课时间第一学期第十五周)教学目标掌握类和对象的概念、定义、使用和相互关系,类的封装性和友元的作用教学重点类和对象的概念;类的封装性教学难点类的定义方法学时课堂教学3学时教学方法讲授法、演示法主要内容类和对象的概念,相互关系和定义方法;构造函数和析构函数;静态数据成员和静态成员函数;对象指针、参数、成员;友元、友元函数和友元类学习方法上机操作课后作业完成C++课后布置的作业第十六章继承与派生(授课时间第一学期第十六周)教学目标
①了解类层次的概念及如何将概念和实现转变为类的层次的方法;
②掌握单继承的定义格式、成员存取控制和向基类构造函数传递参数的方法;
③了解多继承的定义方式、虚基类和二义性问题教学重点类的继承性设计、派生类的构造函数和析构函数教学难点类的继承性设计学时课堂教学5学时教学方法讲授法、演示法主要内容类的继承性设计;通过继承复用;shape层次结构;受保护成员和继承性;控制继承性;多继承;派生类;访问权限控制;派生类的构造函数和析构函数学习方法上机操作课后作业完成C++课后布置的作业第十七章基本的算法设计技术(授课时间第一学期第十七周)教学目标掌握常用算法的设计方法教学重点蛮力法、穷举法教学难点穷举法、分治法学时课堂教学5学时教学方法任务驱动法、讲授法、演示法主要内容蛮力法、穷举法、递推法、分治法、动态规划法、贪心法学习方法上机操作课后作业综合设计
七、课程内容调整说明增加C++面向对象的内容开发与调试技术,为数据结构、JAVA、汇编语言、操作系统等后续课程的学习打下基础课程的主要内容包括C/C++程序的构成、程序的三大结构、数组、指针、结构体和共用体、文件和面向对象的程序设计思想等
三、课程目标1知识教学目标通过本课程的教学,学生应了解C/C++程序设计的基础知识,掌握程序设计的基本能力,并为后续的专业课程奠定程序设计基础2能力培养目标通过本课程的教学,学生应具备顺序程序设计、分支程序设计、循环程序设计的能力,掌握使用函数、数组、指针等来分析和解决问题的能力3素质培养目标:使学生明确C/C++程序设计课程在专业中的地位和作用,培养学生严谨的学习风气、系统的学习方法,培养学生热爱所学专业、刻苦钻研专业知识的品质
四、教学要求授课教师应根据本要求,认真备课,完成教案与讲稿编写等各项课前准备工作,结合课程特点和学生的实际情况进行教学由于本课程为软件工程专业学生的第一门专业基础课,也是他们第一次接触程序设计课程,因此应注意引导学生很快适应大学的学习,注重编程实践课堂教学应采取多种教学方法相结合讲授法、演示法、练习法和任务驱动法让学生在课堂教学中体会到编程的乐趣,使学生积极参与到课堂教学中,课堂气氛活跃、互动感强每周布置的作业应难度合适,有基础题、拔高题和综合设计题,使得不同层次的学生都能享受到完成作业的成就感学生应做到不旷课、不早退,上课认真听讲,积极与授课教师进行教学互动,每周课后至少花费4个小时的时间复习和预习本课程内容学生应认真独立完成课后作业,多动手实践,学会调试简单程序的技巧
五、考核方式及要求为实现课程教学目标,本门课程考核方式及要求为平时成绩30%,期中成绩10%,期末成绩60%期中考试放在学完“函数”一章内容后进行,用一节课时间考试;期末考试为卷面考试其中平时成绩=作业+随堂测验+考勤+在线测试平时成绩的分布和要求如下1出勤率占30%点到为随机点名,一学期点到不少于3次,其中缺席1次,扣5分,迟到1次,扣3分2随堂测验2次,占20%o学完循环结构和函数一章后,各随堂测验1次分别考核学生对循环结构和函数的掌握情况这两章内容是C语言程序设计的核心内容,通过随堂测验,从而检查学生听课情况及对相关知识的掌握情况,以便对后续教学提供依据3作业10次,占40%每周至少布置作业1次,每次4题左右,采用书面作业或电子作业形式上交4在线测试占10%o检查学生课后自主做在线测试题目的数量,从而考查学生的主观能动性一学期在线测试题目数达到20题为及格
六、课程内容第一章C语言概述授课时间第一学期第四周教学目标
①了解程序、程序设计、高级语言的概念;
②了解c程序的基本结构;
③了解C程序的风格教学重点C程序的基本结构教学难点C程序的基本结构多个函数构成C程序学时课堂教学3学时,课外自主学习时间不少于2学时教学方法讲授法、演示法主要内容1程序设计及编程语言的“代”;2C语言的发展历史和特点;3C程序示例;C程序的编辑、编译和运行学习方法小组讨论、上机操作课后作业完成教材第22页习题1
一、三题第二章程序的灵魂一算法(授课时间第一学期第四周)教学目标
①了解算法的概念;
②理解并掌握一些常用算法;
③掌握用伪代码的方法来描述算法教学重点常见的一些典型算法;流程图描述算法教学难点典型算法的理解学时课堂教学2学时,课外自主学习时间不少于2学时教学方法讲授法、演示法主要内容算法的概念;简单算法举例;算法的特性;怎样表示一个算法学习方法小组讨论、上机操作课后作业完成教材第22页习题1第二题并在下周课前提交第三章数据类型、运算符与表达式(授课时间第一学期第五周)教学目标
①了解C语言的数据类型体系和运算符体系
②理解C语言的字符集、词类和语句的分类
③掌握各种基本数据类型常量的书写方法和变量的定义、赋值、初始化方法
④掌握算术运算符、赋值运算符、逗号运算符及其相应的表达式教学重点基本数据类型常量的书写方法和变量的定义、赋值、初始化、使用方法;基本运算符的运算规则及优先级别;表达式的构成规则和计算教学难点运算符优先级别,混合表达式计算,字符常量与字符串常量学时课堂教学4学时,课外自主学习时间不少于2学时教学方法讲授法、演示法主要内容C语言的数据类型;常量与变量;整型数据;浮点型数据;字符型数据;变量赋初值;算术运算符和算术表达式;赋值运算符和赋值表达式;逗号运算符和逗号表达式学习方法小组讨论、上机操作课后作业完成教材第45页习题2
三、1-3第四章最简单的C程序设计一一顺序程序设计(授课时间第一学期第五到六周)教学目标
①了解C语言中各种语句
②掌握赋值语句
③掌握C语言中的输入输出实现
④掌握顺序程序设计的一般方法教学重点赋值语句;putchar函数;getchar函数;printf函数scanf函数教学难点输入/输出函数中的格式描述符学时课堂教学2学时,课外自主学习时间不少于2学时教学方法讲授法、演示法主要内容C语句概述;赋值语句;字符数据的输入输出;格式输入与输出;顺序结构程序设计举例学习方法上机操作课后作业完成教材第62页习题3
二、
1、
4、5并在下周课前提交第五章选择结构程序设计(授课时间第一学期第六周)教学目标
①掌握关系运算符和关系表达式;逻辑运算符和逻辑表达式
②熟练掌握单分支、双分支、多分支选择语句的格式与功能,能正确选取选择语句来设计选择结构的程序
③掌握switch语句的使用
④掌握选择结构程序设计的一般方法教学重点逻辑运算的“短路”现象;if-else、else if.switch语句的格式和功能教学难点正确选用合适的语句来设计选择结构的程序;switch语句和break语句的使用学时课堂教学3学时,课外自主学习时间不少于3学时教学方法任务驱动法、讲授法、演示法主要内容关系运算符和关系表达式;逻辑运算符和逻辑表达式;if语句;switch语句学习方法小组讨论、上机操作课后作业完成教材第87页习题4:2-4并在下周课前提交第六章循环控制(授课时间第一学期第六到八周)教学目标
①了解循环的基本概念
②熟练掌握while语句、do-while语句、for语句、break语句、countinue语句的格式和功能,并能根据循环结构的要求正确选用循环语句来实现循环
③循环的嵌套教学重点while do-while forbreakcountinue的格式和功能,三种循环结构的程序设计方法教学难点break和continue语句的正确使用,三种循环之间的相互转换学时课堂教学8学时,课外自主学习时间不少于6学时教学方法任务驱动法、讲授法、演示法主要内容while语句;do-while语句;for语句;循环的嵌套;break语句;continue语句;goto语句学习方法小组讨论、上机操作课后作业完成教材第87页习题4:
5、
6、
8、9并在下周课前提交第七章数组(授课时间第一学期第八到九周)教学目标
①掌握一维数组、多维数组(主要指二维)、初始化、数组元素的引用方法
②掌握数组的两种典型处理(查找和排序)
③掌握有关数组问题程序的分析和设计教学重点一维数组、二维数组、初始化和数组元素的使用,数组中的查找和排序教学难点数组中的地址概念学时课堂教学5学时,课外自主学习时间不少于4学时教学方法任务驱动法、讲授法、演示法主要内容一位数组的定义和引用;多维数组;应用举例学习方法小组讨论、上机操作课后作业完成教材第105页习题51-
5、
8、9o第八章函数授课时间第一学期第九到十周教学目标
①熟练掌握用户函数的结构、设计方法和调用方法
②掌握函数调用中数据传递的几种方式
③掌握简单的嵌套调用函数和递归调用函数的分析和设计
④掌握变量生命期和作用域教学重点一维数组、二维数组、字符数组的定义、初始化和数组元素的使用,数组中的查找和排序,字符串处理函数的使用教学重点函数的定义和调用方法,调用函数时数据传递方法,变量的属性和作用域教学难点值传递和地址传递的区别,变量的生命期和作用域学时课堂教学6学时,课外自主学习时间不少于6学时教学方法任务驱动法、讲授法、演示法主要内容函数定义;main函数;函数调用;函数返回值和函数类型说明;函数的递归调用;void类型和可变参数函数;数据存储类学习方法小组讨论、上机操作课后作业完成教材第132页习题61-4;第214页习题10:
1、
3、4第九章指针(授课时间第一学期第十到十一周)教学目标
①掌握所需类型的指针变量的正确定义
②掌握如何将指针变量指向某变量
③掌握利用指针变量来引用所指向的变量或数组
④掌握地址、指针、指针变量的概念教学重点指针变量的定义、初始化和赋值方法,利用指向变量的指针变量来正确引用变量,取变量地址的方法教学难点指针的概念,主函数中参数的引用方法学时课堂教学3学时,课外自主学习时间不少于2学时教学方法讲授法、演示法主要内容什么是指针;指针变量的定义;指针变量的引用;指针变量的运算学习方法小组讨论、上机操作课后作业完成教材第156页习题7:l-6o第十章字符数组(授课时间第一学期第十一周)教学目标
①字符数组的定义、初始化、字符串表示方法
②掌握有关处理字符串的系统函数的使用方法教学重点字符数组的定义、初始化和数组元素的使用,字符串处理函数的使用教学难点字符串与字符数组的区别、存放若干字符和存放字符串的字符数组的差别学时课堂教学3学时,课外自主学习时间不少于2学时教学方法任务驱动法、讲授法、演示法主要内容字符数组的定义和引用;字符数组处理字符串;多维数组;应用举例学习方法小组讨论、上机操作课后作业完成教材第105页习题51-
5、
8、9o第十一章结构体与共用体(授课时间第一学期第十一到十二周)教学目标
①了解结构体类型和共用体类型数据的特点
②熟练掌握结构体类型的定义方法,结构体类型变量、数组、指针变量的定义、初始化和成员的引用方法
③掌握共用体类型的定义方法和对应变量的定义和引用
④掌握枚举型的定义方法和对应变量的定义和引用教学重点结构体类型、共用体类型数据的特点和定义,结构体类型变量、数组、指针变量的定义、初始化和成员引用方法,共用体类型的定义和引用方法教学难点链表数据的处理学时课堂教学4学时,课外自主学习时间不少于3学时教学方法讲授法、演示法主要内容结构体类型及其变量的定义;结构体成员的引用;结构体变量的初始化;结构体数组;结构体和指针;共用体和枚举学习方法小组讨论、上机操作课后作业完成教材第197页习题9
二、2-5并在下周课前提交第十二章再谈指针(授课时间第一学期第十二到十三周)教学目标
①了解指针数组和多级指针的概念
②掌握如何将指针变量指向数组
③掌握利用指针变量来引用所指向的一维、二维数组
④掌握用指针处理链表教学重点利用指向数组指针变量来正确引用数组元素、字符串,指针数组、指向结构体的指针、指针和链表教学难点链表数据的处理、动态存储分配学时课堂教学7学时,课外自主学习时间不少于6学时教学方法讲授法、演示法主要内容指针变量和数组;指针与结构体;动态存储分配学习方法上机操作。