贝尔实验室20世纪80年代初
(1)文字处理程序及电子表格
(2)编译器
(3)操作系统
(4)大型游戏
《C++ Primer Plus》
《C++面向对象高效编程》
《Visual C++从入门到精通》
《深度探索C++对象模型》
①C语言是结构化和模块化的语言,面向过程。未完全实现解决软件设计危机的目标。
②C++保留了C原有的优点,增加了面向对象的机制,对C的功能做了扩充
①变量的定义可以出现在程序的任意行
②提供看标准输入输出流对象cin,cout
③用const定义常变量
④函数重载,函数模块,常默认值的函数
⑤引用类型
⑥单目作用域运算符
⑦string类型字符串
⑧使用new和delete代替malloc和free函数等
(1)记事本(Notepad++)+命令符
专业大佬的身份标识,上手慢
(2)Visual C++6.0
经典开发工具,与流行操作系统有冲突
(3)VS
功能强大,体积同样庞大
(4)Code::Blocks
目前如日中天的开源免费C/C++开发工具,专业开发人员推荐使用
(1)永远的Hello world
1 #include<iostream> 2 using namespace std; 3 4 int main(void) 5 { 6 cout<<”hello world!”<<endl; 7 8 return 0; 9 }
①以#开头的语句称为预处理指令
②#include语句不是必须的,但是如果一旦程序中有该语句,就必须将其放在程序的开始处
③iostream是input(输入)output(输出),stream是流
④C语言中写为#include<stdio.h>,在C++中也可以这样写:
#include<cstdio.h> #include<cmath>
(即去掉”.h”,加上”c”)
这一行的作用是将iostream文件的内容添加到程序中(iostream中包含了有关输入输出的函数)
using namespace std;
①这一行的意思是使用名称空间std
名称空间是一项C++特性,用于编写大型程序时组织源代码
②std指standard(标准)
cout<<”Hello world!”<<endl;
①<<是插入运算符,表示把字符串”Hello world!”发送给cout打印
这行代码,与其说程序显示了一条信息,不如说它将一个字符串插入到了输出流中
②endl是控制符,表示重起一行(和\n有些相似)
③结果相同的写法:
cout<<”Hello”<<”world!”<<endl;
cout<<”H”<<”ellow world!”<<endl;
(尽量不要这样写,容易被打死)
④原理说明:
从概念上看,输出是一个流,可以理解为从程序中流出的一系列字符
cout对象表示这种流,在iostream文件中定义
cout右边<<符号是插入运算符,可以将右侧信息插入到流中
⑤endl和\n的区别(扩展)
\n比较单纯,说换行就换行,认真做好这一件事
endl不太单纯,它干了两件事:
换行
确保程序立马输出,清空缓冲区
(1)C++编码风格
①每条语句占一行
②每个函数都有一个开始和结束花括号,花括号占一行
③函数中的语句相对于花括号进行缩进
④与函数名称相关的小括号周围没有空白
(2)书写注释是一个良好的编程习惯
①有助于代码的阅读
②注释语句应准确,易懂,简洁
③单行注释:以”//”开头
④多行注释:以”/*”开头,”*/”结尾
①编译
预处理>编译>目标文件
形成目标代码/文件。目标代码是编译器的输出结果,常见扩展名为”.o”或”.obj”
②连接
将目标代码跟C++函数库相连接,并将源程序所用的库代码与目标代码形成最终可执行的二进制机器代码(可执行程序)
③执行
在特定的机器环境下运行C++应用程序
①分析错误
②设置断点
③启动调试
④单步运行
⑤观察变量
⑥发现问题
⑦修正代码,重新运行
原文:https://www.cnblogs.com/qinenxi/p/13363198.html