C和C++的关系
- C语言是结构化和模块化的语言, 面向过程.
- C++是在C语言的基础上, 增加了面向对象的机制, 并对C语言的功能进行了扩充.
- 变量的定义可以出现在程序中的任何行
- 提供了标准输入输出流对象cin和cout.
- 用const定义常量
- 函数重载, 函数模板, 带默认值的函数
- 引用类型
- 单目作用域运算符
- string类型字符串
- 使用new和delete代替malloc和free函数
开发工具 code::blocks
集成安装后, 注意添加环境变量: D:CodeBlocksMinGWin
第一个程序-Helloworld
#include <iostream>
int main()
{
std::cout << "HelloWorld!" << std::endl;
return 0;
}
命令行运行
程序解析
-
以
#
开头的语句称为预处理器指令 -
#include
语句不是必须的, 但程序中有该语句时, 必须将它放在程序的开始处- 将iostream文件的内容添加到程序中, iostream中包含了有关输入输出语句的函数
-
头文件的命名约定
头文件类型 约定 示例 说明 C旧式风格 以 .h
结尾stdio.h math.h C C++通用 C++旧式风格 以 .h
结尾iostream.h C++可以使用 C++新式风格 没有扩展名 iostream C++使用, 需要使用namespace 转换后的C 加上前缀c, 没有扩展名 cmath cstdio C++使用
-
使用名称空间
std
, 名称空间是一项C++的特性, 用来在编写大型程序时组织源代码-
其他用法:
using namespace std; using std::cin; using std::endl; using std::cout;
-
-
<<
符号表示把字符串HelloWorld!
插入到输出流cout中打印, endl是控制符, 换行( ).- 输出时一个流, 可以理解成从程序流出的一系列字符串
- cout对象表示这种流, 在iostream文件中定义
<<
是插入运算符, 可以将右侧信息插入到流中.
-
return 0表示程序正常结束, 非0表示异常结束. 操作系统支持其他进程来获取别的进程的退出代码.
编码规范
- 每条语句独占一行
- 每个函数都有一个开始和结束花括号, 花括号各占一行
- 函数中的语句相对于花括号进行缩进
- 与函数名相关的小括号周围没有空格
- 注释应该准确, 简洁, 易懂
- 单行注释.
//
开头 - 多行注释,
/*
开头,*/
结尾
- 单行注释.
编译和执行过程
-
编译(预处理->编译->目标文件)
形成目标代码或文件, 目标代码时编译器的输出结果, 常见扩展名为
.o
或.obj
-
链接
将目标代码跟C++函数库相连接, 并将源程序所用的库代码与目标代码合并, 形成最终可以执行的二进制机器码,即可执行程序
-
执行
在特定的机器环境下运行C++应用程序