前 言
《程序设计基础》是医学信息工程和信息管理与信息系统专业本科生的一门专业基础课,课程以C++语言作为载体,主要介绍C++语言的基本语法及程序设计的基本思想和方法,以培养学生分析问题和解决实际问题的能力,为后续的课程奠定基础。
【课程目的】培养学生分析问题和解决问题的思维能力,以及运用语言工具解决实际问题的能力,为后续专业课程打下扎实的基础。
【课程内容简介】本课程总学时为114学时 ,其中课堂讲授76学时,实验38学时。主要内容包括程序设计的基础知识、基于过程的程序设计、基于对象的程序设计和面向对象的程序设计。
【教学要求】通过程序设计基础知识和基于过程的程序设计的教学,要求学生牢固掌握C++语言的基本数据类型、复合数据类型、基本控制结构、函数等内容;基于对象的程序设计的教学,要求学生掌握面向对象程序设计中类与对象等基本概念,对面向对象程序构造方法、抽象数据类型、软件重用思想有所了解;通过面向对象的程序设计的教学,要求学生理解继承、多态性等基本概念;理解该学科的基本原理和策略,能够把所学的原理应用到具体的实践中去,能利用C++语言编写程序解决一些具体的问题,培养学生分析和解决问题的能力。
教学目的要求和内容
第一章 C++初步知识
【目的要求】
1.了解C++语言的特点和基本概念。
2.了解简单的C++程序的构成。
3. 掌握C++程序的编辑、编译、链接和运行的过程。
【教学内容】
1.程序设计方法和语言的发展;
2. C++程序的构成;
3. C++程序的编写和实现。
【授课方法与学时】
课堂讲授,2学时。
第二章 数据类型和表达式
【目的要求】
1.掌握整型、字符型、实型等基本数据类型的概念。
2.熟练掌握这些类型的常量和变量的表达方式及运算操作。
3.掌握运算符的运算规则,了解运算符的优先级和结合性。
【教学内容】
1.常量和变量的定义和使用;
2.算术运算符和算术表达式;
3.赋值运算符和赋值表达式;
4.逗号运算符和逗号表达式。
【授课方法与学时】
课堂讲授:3学时。上机:2学时。
第三章 程序设计初步
【目的要求】
1.掌握C++语句的类型;熟练掌握结构化程序设计的三种基本结构。
2.掌握关系运算符、逻辑运算符、条件运算符的运算规则。
3.if语句基本形式、if语句的嵌套,掌握switch语句基本形式、能进行简单选择结构程序设计。
4.掌握while、do-while、for语句的一般形式及使用方法,掌握break、continue语句的一般形式和使用方法,能进行简单的循环结构程序设计。
【教学内容】
1.C++语句;
2.顺序结构程序设计;
3.选择结构程序设计;
4.循环结构程序设计。
【授课方法与学时】
课堂讲授:15学时。上机:8学时。
第四章 利用函数实现指定功能
【目的要求】
1.了解C++语言中函数的特点、掌握函数定义形式、函数的返回值及函数的调用。
2.了解函数的两种传递方式:值传递和地址传递。
3.掌握函数的嵌套及递归调用。
4.了解函数重载的方法。
5.了解函数和变量的作用域与生存期。
【教学内容】
1.函数的定义、函数的返回值及函数的调用;
2.函数的嵌套调用;
3.函数的递归调用;
4.局部变量和全局变量;
5.变量的存储类别;
6.内部函数和外部函数;
7.头文件。
【授课方法与学时】
课堂讲授:8学时。上机:4学时。
第五章 利用数组处理批量数据
【目的要求】
1.掌握数组的基本概念。
2.熟练掌握一维数组和二维数组的使用。
3.掌握字符数组与字符串的关系以及字符串变量的表示。
4.会分析、编写利用数组进行数据存储和处理的简单程序。
【教学内容】
1.数组的基本概念;
2.定义和引用一维数组;
3.定义和引用二维数组;
4.用数组作函数参数;
5.字符数组。
【授课方法与学时】
课堂讲授:8学时。上机:4学时。
第六章 善于使用指针和引用
【目的要求】
1.熟练掌握指针、地址、指针类型、void指针、空指针等概念。
2.熟练掌握指针变量的定义和初始化、指针的间接访问、指针的加减运算和指针表达式。
3.掌握指针与数组、函数、字符串等的联系。
4.掌握动态空间操作。
5.掌握引用参数的使用。
【教学内容】
1.什么是指针;
2.指针与变量;
3.指针与数组;
4.指针与函数;
5.指向数组的指针和指向指针的指针;
6.const、void指针;
7.引用。
【授课方法与学时】
课堂讲授:8学时。上机:4学时。
第七章 用户自定义数据类型
【目的要求】
1.掌握结构的概念和结构类型的定义。
2.掌握结构变量的定义和初始化。
3.掌握结构体成员的访问方法。
4.掌握结构体数组的定义和使用。
5.掌握结构体指针的使用。
6.理解联合类型数据的存储。
7.掌握枚举类型数据的定义形式和使用方法。
【教学内容】
1.结构体变量的定义和使用;
2.结构体数组;
3.指针与结构体;
4.共用体类型;
5.枚举类型;
6.用typedef声明新的类型名。
【授课方法与学时】
课堂讲授:10学时。上机:6学时。
第八章 类和对象的特性
【目的要求】
1.了解面向对象程序设计的基本概念。
2.掌握类的声明和对象的定义方法。
3.掌握类的成员函数的定义和使用。
4.掌握对象成员的引用方法。
5.理解类的封装性和信息隐蔽。
【教学内容】
1.面向对象程序设计的基本概念;
2.类的申明和对象的定义;
3.类的成员函数;
4.对象成员的引用;
5.类的封装性和信息隐蔽。
【授课方法与学时】
课堂讲授:4学时。上机:2学时。
第九章 怎样使用类和对象
【目的要求】
1.掌握构造函数和析构函数的含义与作用、定义方式和实现。
2.掌握对象数组的使用。
3.掌握对象指针的使用。
4.掌握动态对象的建立和释放。
5.了解静态数据成员和静态成员函数的使用。
6.掌握友元函数的含义,友元函数和成员函数的区别。
【教学内容】
1.构造函数;
2.析构函数;
3.对象数组;
4.对象指针;
5.对象的动态建立和释放;
6.对象的赋值和复制;
7.静态成员;
8.友元。
【授课方法与学时】
课堂讲授:4学时。上机:2学时
第十章 运算符重载
【目的要求】
1.掌握运算符重载的概念。
2.掌握重载运算符的实现和特殊运算符的重载。
【教学内容】
1.运算符重载的概念;
2.重载运算符的实现;
3.特殊运算符的重载。
【授课方法与学时】
课堂讲授,4学时。上机:2学时。
第十一章 继承与派生
【目的要求】
1.理解继承和派生的含义。
2.掌握派生类的定义方法和实现。
3.理解公有继承下基类成员对派生类成员和派生类对象的可见性,能正确地访问继承层次中的各种类成员。
4.理解保护成员在继承中的作用,能够在适当的时候选择使用保护成员以便派生类成员可以访问基类的部分非公开的成员。
【教学内容】
1.继承与派生的概念;
2.派生类的声明;
3.派生类的构成;
4.派生类成员的访问属性;
5.;派生类的构造函数和析构函数;
6.多重继承。
【授课方法与学时】
课堂讲授:4学时。上机:2学时。
第十二章 多态性与虚函数
【目的要求】
1.了解多态性的概念。
2.掌握虚函数和纯虚函数的概念。
3.了解抽象类的概念。
4.理解虚函数在类的继承层次中的作用。
【教学内容】
1.多态性;
2.虚函数;
3.抽象类。
【授课方法与学时】
课堂讲授:2学时。
第十三章 输入输出流
【目的要求】
1.了解标准输入流。
2.了解标准输出流。
3.了解文件流。
4.理解虚函数在类的继承层次中的作用。
【教学内容】
1.标准输入流;
2.标准输出流;
3.文件流。
【授课方法与学时】
课堂讲授:4学时。上机:2学时。
课时分配表
教学内容 |
理论学时 |
实验(实践)学时 |
第一章 C++初步知识 |
2 |
|
第二章 数据类型与表达式 |
3 |
2 |
第三章 程序设计初步 |
15 |
8 |
第四章 利用函数实现指定功能 |
8 |
4 |
第五章 利用数组处理批量数据 |
8 |
4 |
第六章 善于使用指针和引用 |
8 |
4 |
第七章 用户自定义数据类型 |
10 |
6 |
第八章 类和对象的特性 |
4 |
2 |
第九章 怎样使用类和对象 |
4 |
2 |
第十章 运算符重载 |
4 |
2 |
第十一章 继承与派生 |
4 |
2 |
第十二章 多态性与虚函数 |
2 |
|
第十三章 输入输出流 |
4 |
2 |
合计 |
76 |
38 |
参考书:
1.谭浩强,c++程序设计,清华大学出版社,2011年8月第2版。
2.吴文虎,徐明星等,程序设计基础(第4版),清华大学出版社出版,2017年2月
3.姜沐著,程序设计基础(C99),东南大学出版社,2015年09月
4.(美)Stephen Prata著,C++ Primer Plus(第6版)中文版,清华大学出版社,2013年04月
(信息工程学院 医学信息工程教研室)