【C++简明教程】C++基本语法
程序结构
// C++ 语言定义了一些头文件,这些头文件包含了程序中必需的或有用的信息。
#include <iostream>
// using namespace std; 告诉编译器使用 std 命名空间。
// 命名空间是 C++ 中一个相对新的概念。
using namespace std;
//main () 是程序开始执行的地方
// 主函数,程序从这里开始执行
int main()
{
// 会在屏幕上显示消息 "Hello World"。
cout << "Hello World"; // 输出 Hello World
// 终止 main ( ) 函数,并向调用进程返回值 0。
return 0;
}
语法知识点
分号结尾
在 C++ 中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。
语句块
语句块是一组使用大括号 { }
括起来的按逻辑连接的语句。
{
语句块;
xxx
}
标识符
C++ 标识符是用来标识变量、函数、类、模块,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)。
C++ 标识符内不允许出现标点字符,比如 @、& 和 %。
同时,C++ 还是一门大小写敏感的语言,即 abc 与 ABC 是不同的变量
关键字
下面是 C++ 的一些关键字,这些关键字不能作为常量名、变量名或其他标识符名称。
asm |
else |
new |
this |
---|---|---|---|
auto |
enum |
operator |
throw |
bool |
explicit |
private |
true |
break |
export |
protected |
try |
case |
extern |
public |
typedef |
catch |
false |
register |
typeid |
char |
float |
reinterpret_cast |
typename |
class |
for |
return |
union |
const |
friend |
short |
unsigned |
const_cast |
goto |
signed |
using |
continue |
if |
sizeof |
virtual |
default |
inline |
static |
void |
delete |
int |
static_cast |
volatile |
do |
long |
struct |
wchar_t |
double |
mutable |
switch |
while |
dynamic_cast |
namespace |
template |
三字符组
三字符组就是用于表示另一个字符的三个字符序列,又称为三字符序列。三字符序列总是以两个问号开头。
三字符序列不太常见,但 C++ 标准允许把某些字符指定为三字符序列。以前为了表示键盘上没有的字符,这是必不可少的一种方法。
三字符序列可以出现在任何地方,包括字符串、字符序列、注释和预处理指令。
下面列出了最常用的三字符序列:
三字符组 |
替换 |
---|---|
??= |
# |
??/ |
|
??' |
^ |
??( |
[ |
??) |
] |
??! |
| |
??< |
{ |
??> |
} |
??- |
~ |
如果希望在源程序中有两个连续的问号,且不希望被预处理器替换,这种情况出现在字符常量、字符串字面值或者是程序注释中,可选办法是用字符串的自动接:"...?""?..."
或者转义序列:"...??..."
从 Microsoft Visual C++ 2010 版开始,该编译器默认不再自动替换三字符组。如果需要使用三字符组替换(如为了兼容古老的软件代码)。
空格
空格一般有两个作用:
- 在 C++ 中,空格用于描述空白符、制表符、换行符和注释。空格分隔语句的各个部分,让编译器能识别语句中的某个元素(比如 int)在哪里结束,下一个元素在哪里开始。
int num;
// 在这里,int 和 num 之间必须至少有一个空格字符(通常是一个空白符)
// 这样编译器才能够区分它们。
- 二是美观,有强迫的程序员必须把程序写得工工整整
下面这个注释就问你看得舒不舒服~
注释
C++ 支持单行注释和多行注释。
- 单行注释
//
// 单行注释
- 多行注释 以
/*
开头 以*/
结尾
注释符(/.../)是不可以嵌套使用的。
/*
中间都是注释,编译器会自动忽略
*/
- 条件语句注释
如果一个函数或者解决方案有多种以上,那么你可能需要写多个函数来以示区分,但是使用下面这种注释方法就没有这种烦恼了
下面的代码如果 condition 条件为 true 执行 code1 ,否则执行 code2。不仅可以作为注释使用,还可以作为调试代码使用。
#if condition
code1
#else
code2
#endif
- CentOs7.3 搭建 RabbitMQ 3.6 Cluster 集群服务
- CentOs7.3 搭建 Redis-4.0.1 Cluster 集群服务
- CentOs7.3 搭建 Redis-4.0.1 单机服务
- Shodan新手入坑指南
- 我用过的——Spring定时任务的几种用法
- CentOs7.3 搭建 SolrCloud 集群服务
- CentOs7.3 搭建 Solr单机服务
- CentOs7.3 搭建 ZooKeeper-3.4.9 Cluster 集群服务
- CentOs7.3 ssh 免密登录
- 基础篇章:关于 React Native 之 Touchable 系列组件的讲解
- 基础篇章:关于 React Native 之 Navigator 组件的讲解
- CentOs7.3 搭建 ZooKeeper-3.4.9 单机服务
- Ubuntu 17.04 编译安装 Nginx 1.9.9
- CentOS7.3 安装 iptables 与详细使用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 数据分析师,你是车夫,还是拉车的驴子
- Java常用API(Arrays类)
- Java常用API(Math类)
- Static关键字的使用
- tomcat 并发优化
- Java File类基础解析 使用递归来遍历目录 2
- Java Lambda表达式
- 介绍一款 API 敏捷开发工具
- XSS(跨站脚本攻击)简单讲解
- Java中多线程的使用(超级超级详细)线程池 7
- Python 将土味情话语录设置为桌面壁纸
- Java中多线程的使用(超级超级详细)线程安全原理解析 4
- Java中多线程的使用(超级超级详细) Thead类的使用 3
- Java Properties集合基础解析
- File 类基础解析3 文件过滤器优化