C++语言程序设计基础 (自主模式)

自主模式

  • 什么是随堂模式?

    随堂模式课程一般为每学期一轮次,课程每周更新,作业、考试有截止时间,由课程提供方老师、助教指导,课程完结,成绩由老师确认后,统一发放证书。

  • 什么是自主模式?

    自主模式课程常年开放加入,课件全部开放,作业、考试无截止时间,有学堂在线招募选拔的助教指导,考核通过即可自动获得证书。

来自于: 清华大学 | 分类: 计算机(360)

课程描述

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

什么是认证证书?
免费学习
认证学习
名师签名
实名认证
权威性
纸质证书
付费购买
免费赠送

课程简介

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

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

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

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

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

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

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

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

展开

课程章节

第1章 绪论
导学
计算机系统简介
计算机语言和程序设计方法的发展
面向对象的基本概念
程序的开发过程
信息的表示和储存
实验指导
讨论区
第2章 C++简单程序设计(一)
导学
C++语言概述
基本数据类型、常量、变量
运算与表达式
实验二:简单程序设计(上)
讨论区
第2章 C++简单程序设计(二)
数据的输入和输出
选择结构
循环结构
自定义类型
第2章小结
实验二:C++简单程序设计(下)
第2章编程作业
讨论区
选做题(不计分)
第3章 函数
导学
函数定义
函数调用
嵌套与递归
函数的参数传递
引用类型
含有可变参数的函数
内联函数
constexpr函数
带默认参数值的函数
函数重载
C++系统函数
第3章小结
实验三(上)函数的应用
实验三(下)函数的应用
第3章编程作业
选做题
讨论区
第4章 类与对象
导学
面向对象程序的基本特点
类和对象
构造函数
析构函数
类的组合
UML简介
结构体与联合体
枚举类
第4章小结
实验四(上)
实验四(下)
第4章编程作业
讨论区
第5章 数据的共享与保护
导学
标识符的作用域与可见性
对象的生存期
类的静态成员
类的友元
共享数据的保护
多文件结构和预编译命令
第5章小结
实验五
第5章编程作业
讨论区
第6章 数组、指针与字符串(一)
导学
数组的定义与初始化
数组作为函数的参数
对象数组
基于范围的for循环
指针的定义和运算
综合实例
实验六(上)
讨论区
第6章 数组、指针与字符串(二)
指针与数组
指针与函数
对象指针
动态内存分配
智能指针
vector对象
对象复制与移动
字符串
第6章小结
综合实例
实验六(下)
第6章编程作业
选做题
讨论区

授课教师

  • 郑莉清华大学 计算机科学与技术系 教授

    郑莉,教授,清华大学计算机科学与技术系。国家精品资源共享课负责人;北京市计算机教育研究会副理事长。全国高等学校计算机教育研究会常务理事。全国高等院校计算机基础教育研究会常务理事;文科计算机基础教学指导分委员会专家;ISO国际标准组织专家及标准编辑;全国信息技术标准化技术委员会教育技术分技术委员会委员兼秘书长。主要从事计算机教育及教育信息化研究,主持和参加多项国家863、支撑计划课题和教育部课题。 主编出版教材20部,其中《C++语言程序设计》获教育部自然科学奖和国家级精品教材称号。起草教育信息化相关国家标准5部、国际标准1部。 获国家级教学成果奖、北京市教学成果奖、教育部自然科学奖、教育部科技进步奖、北京市科技进步奖、电子学会科技进步奖等9项国家级、教育部、北京市奖励。 在清华校内开设本科生课程:《计算机程序设计基础》、《C++语言程序设计》和《Java语言程序设计》;研究生课程有面向对象的软件开发技术(英语)。

  • 李超清华大学 信息技术研究院 副研究员

    李超,博士,清华大学副研究员、清华大学信息技术研究院WEB与软件技术研究中心副主任,中国计算机学会高级会员、中国计算机学会信息存储技术专委委员,国家标准化管理委员会全国文献影像技术标准化技术委员会(SAC/TC86/SC6)委员。 研究领域包括海量数据存储、组织与管理,及其在数字图书馆/档案馆/教育/健康/金融等领域的应用。主持及参与多项国家973、863、科技支撑、自然基金等纵向项目及横向合作项目。获国家档案局优秀科技成果三等奖,北京市档案局优秀科技成果一等奖。已发表学术论文50余篇、获得授权发明专利10余项。在教学方面,从事计算机基础课教学,2010年春任《计算机程序设计基础》合教教师,负责完成了课程题库建设;现任国家级精品课《面向对象的程序设计》主讲教师(校内课程名:C++语言程序设计,负责人:郑莉),和郑莉老师合作编著的《C++程序设计》受到北京市精品教材建设项目的支持,在2012年由机械工业出版社作为高等院校计算机精品教材系列出版;2014年秋季学期被信研院推荐为优秀青年教师候选人。在其他学术兼职方面,任ICADL、IEEE Healthcom、SSS、ICSH、NCIS等国内外学术会议的组委会、程序委员会成员或审稿人。

精华笔记

精华笔记正在评选中,去看看全部笔记

常见问题

本课程教材是什么?

《C++语言程序设计》(第4版),郑莉等,清华大学出版社;《C++语言程序设计(第4版)学生用书》,郑莉等,清华大学出版社