SPOC学校专有课程
计算机程序设计(VC++)
分享
spContent=计算机已经是“无所不能”,而每一项神奇的功能背后都有一系列计算机程序在运行。如今,电脑、智能手机的普及,每个人都可为计算机创造更加神奇的功能。学习程序设计,你也做得到。 C++语言是编程人员最广泛使用的工具之一。学好c++,可以很容易地触类旁通其他程序设计语言,如Java和C#等。
—— 课程团队
课程概述

    本课程以C++语言为载体,讲授计算机程序设计,为更好地利用计算机解决工程实践、科学研究和日常生活中的问题打下基础。
    从程序设计方法角度分,计算机语言有面向过程的和面向对象的。面向过程的思想是将任务分解成一系列的函数,函数通过相互调用联系起来完成任务。面向对象的思想是将任务分解成一系列对象,对象具有功能。对象间通过消息传递信息,触发事件,完成任务。面向对象的语言被认为具有更好的重用性、可维护性和可扩展性。C++是面向对象的语言。但也要注意,面向过程和面向对象不是截然分开的,不是对立的。面向过程是面向对象的基础。本课程前半部分的编程思想仍是面向过程的,这对初学者更容易入门;后半部分是面向对象的,为进一步学习奠定基础。
    学习程序设计,要学习语言的语法,更重要的是求解问题的算法思想。语法的学习需要多尝试,算法的学习需要多思考。学习程序设计,就要多编程。

授课目标

本课程旨在培养学生能够熟练掌握VC++语言的基本要素,能进行基本的结构化程序设计和面向对象的程序设计的能力。通过本课程的理论学习和实践训练,学生应获得如下学习成果:

1.掌握程序设计的基本思想,掌握常用的算法。

2.准确、完整地理解VC++语言的语法规则,掌握VC++所有语句的通用书写格式、执行过程和功能,掌握VC++编译预处理命令的格式和功能。

3.掌握VC++语言的数据类型、运算符、流程控制语句及程序结构;

4.能运用结构化程序设计思想,正确地阅读程序、分析程序和设计编写程序;

5.掌握VC++面向对象的基本特征,包括类、对象、派生类、继承、多态性、虚函数、模板和流类库;

6.能理解面向对象的程序设计思想,正确地阅读程序、分析程序和设计编写程序。


成绩要求

此线上环节主要以单元测验为主,以客观题形式考核,占总评成绩的25%;

对于慕课堂班级,线上线下混合翻转的参与情况,占总评成绩的15%;

期末线下考试成绩,占总评成绩的60%。


课程大纲
预备知识

本课程面向零基础同学。学习过“大学计算机基础”或其他计算机课程对学习有帮助,但不是必要的。

参考资料

教材和教学参考书

教材:

钱能.C++程序设计教程(第3版)通用版.北京:清华大学出版社.2019.7.ISBN 978-7-302-52126-6
参考书:

[1] 赵英良 仇国巍等. C++程序设计教程. 清华大学出版社,2013.8. ISBN 978-7-302-33057-8

[2] 赵英良 卫颜俊等. C++程序设计实验指导与习题解析. 清华大学出版社,2013.8. ISBN 978-7-302-33058-5

[3]谭浩强.C++程序设计(第3版).北京:清华大学出版社.2019.12.ISBN 978-7-302-40830-7

[4]谭浩强.C++程序设计题解与上机指导(3)北京:清华大学出版社.2019.11.ISBN 978-7-302-40842-0

[5] 明日科技.Visual C++从入门到精通(5).北京:清华大学出版社.2019.11. ASIN  B08237X1LX

常见问题

Q: 本课程的选课条件是什么?
A: 本课程预计的主要对象是大学本科生,但不限于大学生。只要你有热情,有决心,就能学好。如果在大学学了“大学计算机基础”或接触过其他语言的程序设计,对本课学习会有所帮助,但这不是必要的,更不是充分的。

Q:如何学好程序设计?

A:建议同学们在学习程序设计过程中,注意运用下面三种设计方法:
1、模仿设计
同学们初学程序设计,首先是模仿设计。所谓模仿就是参照某个成功的程序,做一些微小局部的改动,程序总体结构不变。
例如教材讲述了求1+2+3+……+100的程序编写,你可以模仿连加程序,尝试编写连乘1*2*3*……*10的程序。这个模仿只进行两个变化,一是加号改乘号;二是结果变量初始值由0改为1;三是循环截止由100改为10。
又例如教材介绍了两数求最大的程序,你可以模仿尝试编写求最小的程序。变化是小于号改为大于号。
又例如教材介绍日期结构体的程序,你可以模仿尝试编写时间结构体的程序,变化是输出日期和时间的格式不一样。
又例如教材介绍学生类的程序,你可以模仿尝试编写职员类的程序,比如仅仅变化学生的成绩属性为职员的薪水属性。
通过这样的模仿可以尽快掌握程序设计的基本方法。
2、多解设计
一题多解是程序设计的特色之一。同样一个问题可以设计出多种求解算法,自然可以编写设计出许多种程序,都能正确求解这个问题。当然这些程序之间比较,可能一些程序运行速度快,一些程序占用空间少。例如求1+2+3+……+100的问题,就可以设计出三种不同算法:一是直接用公式计算;二是从头循环加到尾部;三是从尾部循环加到头。这样就可以编写设计出三个不同的程序。在学习程序设计时,不能满足于一种求解程序,而应该多做变换,比如语句变换,C++有三种循环语句,可以尝试相互代换。又比如数据类型或结构变换,这样就可以设计不同的程序,然后分析每个程序的时空效率。
3、分解设计
    程序设计说穿了,就是让计算机按照你事先安排好的步骤进行求解工作。一个问题分几步求解,是由你来设计的。如何将问题分解成一个一个较小的子问题,是程序设计的核心。至于每个子问题涉及哪些数据类型?是采用函数结构,还是采用哪几条语句?就相对容易清晰了。同学们要善于分解,通过反复的训练,提高分解问题的能力。(顾老师)

Q:学习编程需要准备什么东西?
A:你可以拥有一台电脑,但不是必须的。学校的机房也是很好的去处,只要有电脑用就可以。对电脑的配置也没有要求,当前能用的电脑都可以。最好有个U盘之类的存储装置,将自己平时练习的程序保存下来,以备以后参考。保存在网上、保存在邮箱中也是不错的选择。教材或参考书应该有一本,一是编程前要阅读学习,二是在编程中经常需要查阅。

Q:学习C++程序设计使用什么软件好?
A:编程软件常常是各有优点。我们课程使用的是Microsoft Visual C++6.0,也可以使用DEV C++。有时间都熟悉一下是很好的选择,因为在考试、竞赛、招聘中会遇到各种不同的环境。


Q: win10如果不能运行VC++6.0怎么办?
A: 由于vc++6.0已经很早了,所以Windows10会出现各种不兼容问题,最主要的就是不能打开。现在提供一种办法,不是修改兼容性,而是替换文件,方法已经使用多次。链接下面的网址,按网页中介绍的方法去处理,就OK了。

https://www.jb51.net/os/win10/615453.html


Q: VC++6.0打开文件就出现闪退情况,怎么解决?

A:我们平时使用的都是经典的VC++6.0,总是遇到打开文件崩溃(闪退)的问题。

这里我们有一个工具FileTool.exe可以到我的资源去下载:https://download.csdn.net/detail/u014449366/9811319

破解步骤可以参考百度:https://jingyan.baidu.com/article/215817f7ca44841edb142346.html?qq-pf-to=pcqq.c2c


Q:课程结束后如何查看课程内容?

A:登录中国大学MOO C→ 点头像 → “我的课程” →已结束


Q:如何查看已结束的课程?

A:课程介绍页→课程图标下方(右上,开课时间上方)→“第**次开课”→选择“第1次开课”。