C++语言程序设计基础

本课程为基础篇, 进阶篇见 http://www.xuetangx.com/courses/course-v1:TsinghuaX+00740043_2x_2015_T2+2015_T2/about

清华大学

分享

C++语言程序设计基础
  • 分类: 计算机
  • 平台: 学堂在线
  • 语言: 中文

课程简介

C++是从C语言发展演变而来的一种面向对象的程序设计语言。面向对象的程序设计方法将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体——对象。对同类型对象抽象出其共性,形成类。类通过外部接口,与外界发生关系,对象与对象之间通过消息进行通讯。这样,程序模块间的关系简单,程序模块的独立性、数据的安全性具有良好的保障,通过继承与多态性,使程序具有很高的可重用性,使得软件的开发和维护都更为方便。

由于面向对象方法的突出优点,目前它已经成为开发大型软件时所采用的主要方法。而C++语言是应用最广泛的面向对象的程序设计语言之一。

本课程是一门面向广大初学者的入门课程,自1999年开始在清华大学开设,本课程的教材已经在清华大学等一百多所学校的不同专业中使用,取得了良好的教学效果。

本课程将C++语言作为大学生的计算机编程入门语言,不仅详细介绍语言本身,而且介绍常用的数据结构和算法、面向对象的设计思想和编程方法。课程以面向对象的程序设计方法贯穿始终,每一章都是首先阐述面向对象的程序设计思想和方法,由实际问题入手,然后引出必要的语法知识,在讲解语法时着重从程序设计方法学的角度讲述其意义和用途。

本课程是清华校内同名课程的完整版,内容全面,难度适中,包括了ISO第三版C++标准(C++11)的新内容。

课程分《C++语言程序设计基础》和 《C++语言程序设计进阶》,各8周。

《C++语言程序设计基础》9月11日上线。无先修课程要求,内容包括程序设计基础知识、数据的表示和基本运算、函数与重载、类与对象、数据的共享与保护、数组、指针、字符串。教材:《C++语言程序设计》(第4版)1-6章,《C++语言程序设计(第4版)学生用书》1-6章。

《C++语言程序设计进阶》11月6日上线。要求必须先修《C++语言程序设计基础》或者阅读《C++语言程序设计》(第4版)1-6章。内容包括继承与多态、运算符重载、模板与泛型程序设计、文件I/O、异常处理。教材:《C++语言程序设计》(第4版)7-12章,《C++语言程序设计(第4版)学生用书》7-12章。

课程章节

第一章 绪论
本章概述
计算机系统简介
计算机语言和程序设计方法
面向对象的基本概念
程序的开发过程
计算机中的信息与存储单位
计算机的数字系统
数据的编码表示
实验一:VS开发环境介绍

第二章 C++简单程序设计(一)
导学
C++的特点和程序实例
C++字符集和词法记号
基本数据类型、常量、变量
程序举例
算术运算与赋值运算
逗号运算、关系运算、逻辑运算和条件运算
Sizeof运算、位运算
运算优先级、类型转换
实验二:简单程序设计(上)

第二章 C++简单程序设计(二)
数据的输入和输出
if语句
switch语句
循环结构——while语句
do-while语句
for语句
嵌套的控制结构、其他控制语句
自定义类型
第二章小结
实验二:C++简单程序设计(下)

第三章 函数(一)
导学
函数定义
函数调用
例3-2
例3-3
例3-4
例3-5
例3-6
函数的嵌套调用
函数的递归调用
例3-9
例3-10
实验三(上)函数的应用

第三章 函数(二)
函数的参数传递
引用类型
含有可变参数的函数
内联函数
constexpr函数
带默认参数值的函数
默认参数值例3-15
函数重载
C++系统函数
第三章小结
实验三(下)函数的应用

第四章 类与对象(一)
导学
面向对象程序的基本特点
类和对象
构造函数
析构函数
实验四(上)

第四章 类与对象(二)
类的组合
UML简介
结构体与联合体
枚举类
小结
实验四(下)

第五章 数据的共享与保护
导学
标识符的作用域与可见性
对象的生存期
类的静态成员
类的友元
共享数据的保护
多文件结构和预编译命令
小结
实验五
《C++语言程序设计基础篇》期末考试4.25-4.28

第六章 数组、指针与字符串(一)
导学

第六章 数组、指针与字符串(二)
收起

常见问题

本课程教材是什么?
《C++语言程序设计》(第4版),郑莉等,清华大学出版社;《C++语言程序设计(第4版)学生用书》,郑莉等,清华大学出版社

声明:MOOC中国收录之课程均源自下列机构,版权均归他们所有。本站仅作报道并尊重其著作权益,感谢他们对MOOC事业做出的贡献!(排名不分先后)
  • Coursera
  • edX
  • OpenLearning
  • FutureLearn
  • iversity
  • Udacity
  • NovoEd
  • Canvas
  • Open2Study
  • Google
  • ewant
  • FUN
  • IOC-Athlete-MOOC
  • World-Science-U
  • Codecademy
  • CourseSites
  • opencourseworld
  • ShareCourse
  • gacco
  • MiriadaX
  • JANUX
  • openhpi
  • Stanford-Open-Edx
  • 网易云课堂
  • 中国大学MOOC
  • 学堂在线
  • 顶你学堂
  • 华文慕课
  • 好大学在线CnMooc

Copyright © 2008-2015 MOOC.CN 慕课改变你,你改变世界