课程详情
课程评价
spContent=本课程适合没有编程基础或者学习了C或者C++语言,仍然不能根据问题独立编写程序的初学者。从理论到实践,从分析问题,寻找解题思路,到编程、调试、运行,都借助于实际案例进行展示。特别是初期的编译错误,后期的运行错误,通过视频一步步的演示学会编程方法与调试技术。
—— 课程团队
课程概述

本课程是程序设计C语言和C++语言的入门课程。兼顾基础理论和编程实践。基础理论浅显易懂,编程案例趣味性强。视频使用当下流行的集成开发环境visual studio 2015进行编程与调试工具。从分析问题,寻找解题思路,到编程、调试、运行,都借助于实际案例进行展示。特别是初期的编译错误的定位与解决策略,后面的运行错误借助调试工具进行查错、纠错等,通过一系列事例一一展开,很容易通过视频一步步的演示学会编程方法与调试技术。而调试技术的掌握是初学者的难点之一。完整的编程过程解决了初学者看教材明白,上机却无从下手的问题。

   不少同学学习C语言的难点在指针与函数。而随后的随处可见的C++的成员函数很自然的就解除函数方面的困惑。指针的难点在于和数组、函数等结合下的变化多端,加上指针使用非常容易出错,这种结合下的错误更多且难以解决。本课程先进行理论讲解,通过指针对内存的实际操作情况进行演示与分析,然后通过由浅入深的编程例题和作业逐渐掌握指针。

  学习C语言后,再学习C++,存在面向过程思想向面向对象思想转变的困难,造成学完C++还不能理解C++特点,也不能正确使用C++进行程序设计。本课程通过用C++语言改写前面C语言案例,对比理解二者的区别,体会C++的优势。然后用一个简单的图形界面游戏逐渐扩展功能,使其具有可玩性,功能的增加,使得C语言完成难度增加,而C++的类、继承、派生等面向对象技术却轻松实现这个游戏。通过编程实战掌握C++语言的优势,通过实际案例掌握面向对象思想,解决学而不知何用的困惑。


授课目标
本课程将使学生掌握程序设计基本思想,掌握自顶向下设计和面向对象开发技术,能够熟练应用C和C++语言进行程序设计。了解计算机及其技术基础,具有良好的程序开发组织管理、协作能力;掌握计算机科学基本思维与基本方法;初步具备应用计算机进行软件开发的能力。
课程大纲
预备知识

计算机的数据存储方式及进制转换

证书要求

完成每一章的课后编程作业及期末编程考试。平时编程作业占60%,期末编程考试占40%。

参考资料

 1. C语言程序设计(第3版)

     陈文宇 等

     电子科技大学出版社 2011.8


2. 《C++语言程序设计教程》(第二版)

     沈显君 杨进才等

     清华大学出版社2010.8




常见问题
  1. 一般的开发环境使用scanf,visual studio 2015要求使用scanf_s函数,目的是为了增加安全性。scanf_s只能用于vs开发环境,不具备可移植性。

  2. c,c++的函数返回类型可以任意,但main函数比较特殊,建议返回int,虽然vs2015开发环境可以返回void类型,且编程也更方便,但从安全性考虑和可移植性考虑,使用int main(...)比较好。

  3. 开发工具devc++也挺好用,还有大量的各种开发工具,但我们课程以vs2015为例,在大部分visual studio各种版本都能够正常运行,但vs系列比较大,占用空间多,同学们可以自由选择。而我们作业系统采用爱课程网提供的在线编辑系统,可以实时得到分数,这个系统不是vs开发环境,因此还请同学们采用标准c或者C++函数,而不是vs的函数完成作业。