《程序设计基础》教学大纲
一、课程信息
开课单位 |
信息科学与工程学院 |
课程代码 |
GE01019 |
课程名称 |
程序设计基础 |
英文名称 |
Program Design Basis |
任课教师 |
段伟 |
职务职称 |
讲师 |
课程性质 |
公共通识 |
学 分 |
3.5 |
总 学 时 |
48+32 |
先修课程 |
计算机概论 |
开课学期 |
2012-2013春季 |
适应专业 |
理工科各专业 |
二、课程内容
(一)课程教学目标
通过本课程的学习,使学生掌握C语言的基本内容,具有运用C语言编程的初步能力。数据是程序加工的对象,C语言中有众多数据类型,要求掌握不同数据类型变量的定义和使用。程序是对数据进行加工的工具,而C语言的语句则是构成程序的基础,要求掌握各种语句的含义和使用方式。学生编程能力的培养也是本课程的重点。通过大量的应用实例,使学生能用C语言来编写出解决具体问题的程序。
(二)基本教学内容
第一部分:模块化程序设计基础,由第1章的函数组成。主要介绍C语言程序基本单元的设计方法,这也是模块化程序设计的基本方法。这部分的内容奠定了C语言模块化程序设计的基础,通过学习,读者可以设计具有独立功能的函数。有利于培养解决问题的能力。
第二部分:应用程序设计的基础,由第2章~第6章组成。主要介绍数组、指针、结构、文件和位运算等基础知识,为程序中数据的存储和提取提供更多更方便的元素和方法,通过学习这部分的知识,读者可以进一步掌握自定义函数的设计,采用更多更丰富的方法处理程序的复杂数据,学会使用不同的数据存储方式和数据提取方式,掌握基本的算法设计,并能将算法通过程序来实现,培养分析问题的能力,为应用软件的程序设计奠定基础。
第三部分:C++程序设计的基础,由第7章~第9章组成。主要介绍从C语言过渡到C++的新增语法功能和面向对象程序设计的基本方法。通过学习,使读者了解到C语言和C++语言的关系,了解面向对象程序设计的基本方法,进一步提高分析问题和解决问题的能力,为后续的深入学习奠定基础。
第1章、函数与宏定义
教学目的与要求: 熟练掌握函数的定义与使用方法,了解宏定义与预处理
教学重点:掌握函数定义的一般形式;函数的调用的几种形式;函数嵌套调用的一般过程;数组名作为函数的参数的一些特点;局部变量与全局变量的概念及它们的使用特点。
教学难点:不同的函数参数传递方法在程序中应用的结果判定;利用函数调用方法实现程序设计中涉及的参数定义、参数传递以及返回值问题;函数调用的理解。
教学内容: ⑴ 函数的定义;⑵ 函数的调用(一般调用、嵌套调用、递归调用),return语;⑶ 参数的传递方式:形式参数与实在参数;⑷ 局部变量与全局变量;⑸ 变量的动态存储与静态存储;⑹ 内部函数与外部函数。(7)预处理的概念与特点;(8) 符号常数和宏的定义;(9) “文件包含”处理。
第2章、数组
教学目的与要求: 掌握一维和二维数组的定义和数组元素的引用方法。
教学重点: 函数传递一维和二维数组,用字符数组表示字符串,字符串处理函数
教学难点: (1)对数组名特殊含义的理解;(2)字符数组与其它数组的区别;(3)字符串处理函数在字符串处理中的应用。
教学内容: 数组定义、数组元素的引用、字符数组与字符串。
第3章、指针
教学目的与要求: 掌握指针的概念和定义方法、指针的操作符和指针的运算、指针与数组及字符串的关系、指针作为函数的参数。
教学重点: 指针的概念,利用字符指针存取字符串,指针与数组的关系,变量的指针作为函数参数。
教学难点:(1)对指针数据类型的理解;(2)二维数组的地址和指针概念;(3)字符数组和字符指针的区别与联系;(4)指向数组的指针和指针数组的区别
教学内容: 指针变量的定义与初始化,指针变量的操作,指向数组的指针变量的使用,指针数组,指针作为函数的参数。
第4章、构造数据类型
教学目的与要求: 掌握结构体类型说明和结构类型变量、数组、指针的定义方法及使用,引用结构体中的成员,链表的构成算法。
教学重点: 结构体和共用体类型的定义和应用场合,结构体变量、结构体数组和结构体指针作函数参数。
教学难点: (1)嵌套结构体的成员引用、结构体指针变量的成员引用;(2)向函数传递结构体指针的方法;(3)对结构体和共用体占用字节数的理解;对共用体的共用内存的理解。
教学内容: 结构型变量的定义和引用,共用型的定义和引用,枚举型和用户自定义类型。
第5章、文件操作
教学目的与要求:掌握C语言中文件和文件指针概念,文件的打开、读写与关闭方式,各种文件函数的使用方法。
教学重点: 文件的概念民,文件的使用。
教学难点: (1)对流的概念的理解;(2)文件读写函数的区别及其灵活运用;(3)文件操作的错误处理。
教学内容: 文件概述、文件型指针定义和引用、操作文件的常用函数的使用。
第6章、位运算
教学目的与要求: 掌握位运算的概念和方法
教学重点: 位运算符
教学难点: 位运算实现对某些位的操作
教学内容: 位运算的概念、位运算及位运算赋值操作、位段
第7章、C++中新增语法功能
教学目的与要求: 熟悉Visual C++6.0编译系统的使用方法,掌握C++语言的单行注释符和C++语言的输入输出流、单目运算符和const限定符的使用方法及新增函数功能。
教学重点:内联函数、引用变量和引用参数
教学难点: 函数重载
教学内容:C++语言的单行注释符和C++语言的输入输出流、单目运算符和const限定符的使用方法及新增函数功能。
第8章、类与数据抽象(一)
教学目的与要求: 熟悉类与对象的定义,掌握类与对象的使用方法,掌握数据成员与成员函数的访问方式和作用域。
教学重点: 类与对象的使用方法
教学难点:数据成员与成员函数的访问方式和作用域。
教学内容: 类与对象的定义、类与对象的使用方法、数据成员与成员函数的访问方式和作用域。
第9章、类与数据抽象(二)
教学目的与要求: 掌握构造函数和析构函数的使用方法、调用顺序。
教学重点: 相同类的对象之间的赋值操作
教学难点: 类的复合操作
三、学时分配
课程主要内容 |
学 时 |
备注 |
回顾C语言的基本概念 |
2 |
|
第1章 函数 |
8 |
|
第2章 数组 |
8 |
|
第3章 指针 |
8 |
|
第4章 结构数据类型 |
8 |
|
第5章 文件操作 |
2 |
|
第6章 位运算 |
2 |
|
第7章 C++中新增语法功能 |
4 |
|
第8章 类与数据抽象(一) |
3 |
|
第9章 类与数据抽象(二) |
3 |
|
合计 |
48 |
|
四、考核方式
本课程通过以下方面进行考核:平时成绩 (30%) 作业、上机、课堂学习。
期中成绩 (20%) 闭卷笔试。期末考试 (50%) 闭卷机考。
五、教材及参考书
教 材:C/C++语言程序设计教程___从模块化到面向对象(第3版) 人民邮电出版社李丽娟 编著
参考书:C程序设计(第4版)清华大学出版社 谭浩强编著 第4版 (2010年6月1日)
C++程序设计基础(第3版)出 版 社:电子工业出版社 著 译 者:周霭如
计算机二级考试相关书籍
六、授课手段
根据不同的教学环境,采用多媒体技术和传统的方法授课。 教师引导学生主导讨论 ,教师辅导,学生自主学习等多种方式授课.