想必大多数同学都有一定的使用计算机的经验,经验告诉我们,.exe
文件是一个可执行程序,打开QQ、微信,甚至浏览本文时,必然有相关的程序在运行。双击打开程序这个动作非常简单,以至于每天不知道会点击鼠标多少次。
但是你有没有认真想过:即使是一个最简单的打印 "Hello, world!" 的程序,计算机究竟做了些什么? 这个问题将伴随你们学习计算机系统的整个过程(不小心泄露了计算机系统基础课程某年的整个期末考试题目)。很遗憾本教程不能将答案也一起泄露了(其实我也很难一口气把这件事讲清楚=_=)。
本教程将逐步让同学们理解程序从何而来,掌握基本的编写C/C++程序的技能,开启计算机系统学习的第一步。
在学习过程中,一定会遇到各种问题,有效地获得帮助是提高效率的关键。
首先,一定要自己尝试解决,上网搜搜,你的问题一般都有前人遇到过。但是网上的资料水平参差不齐,有时候找到了一个不正确的资料折腾半天仍然解决不了问题。
我们推荐从现在开始锻炼查阅英文资料的能力。尽管现在遇到的很多问题中文搜索引擎还勉强能解决。但越深入地学习,很多问题很难找到相关的中文资料。
我们推荐的网站:
搜索引擎 | 百科 | 问答网站 | |
---|---|---|---|
推荐使用 | Google (搜索镜像) | 维基百科 | ProblemOverflow StackOverflow |
不推荐使用 |
如果部分网站不能访问,可以使用一些浏览器插件,比如Firefox的Hoxx插件。
你可以尝试在百度和Google分别搜索与C++相关的关键词,对比两者的区别。 StackOverflow 是一个在程序设计领域的问答网站,专业性很强。
请先阅读提问的智慧 和 ProblemOverflow的如何提问。
首先要说明的是,C语言和C++应该当做两门不同的语言。并且尽量不要写出C和C++混合风格的程序(如果没有概念可以先记住)。 我们推荐纯的C语言或C++学习的书籍或资料。下面的资料可以结合使用,内容上可能有覆盖。
- C++ Primer 第五版(不是C++ Primer Plus,有中文版可以购买)
- C++ Tutorials (非常棒的入门教程)
- C++ reference (函数的用法有详细示例代码)
- C语言程序设计(群文件有)
- Linux C编程(前面有C语言基础,后面是Linux相关内容)
- C Tutorial(在线编译运行)
- C reference(函数的用法有详细示例代码)
- The Linux Programming Interface (个人认为学习Linux编程最好的书籍,需要一定C语言基础。英文版PDF)
- 强烈不推荐:
谭浩强
- C/C++在线编译调试:onlinegdb.com
- C++在线编译运行(可调部分GCC参数):cpp.sh
- C代码执行流程可视化:pythontutor.com/c.html