【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
- Android 程序打包及签名
- 韩伟:解谜腾讯游戏海量服务架构
- Message和handler传递对象
- MVC RC2中关于HtmlHelper给DropDownList设置初始选中值的问题
- 结构struct(值类型)在实际应用要注意的二点:
- 王璋:腾讯云为游戏行业提供解决方案
- 利用Reflector把"闭包"看清楚
- CSS伪类的三种写法
- 吴晓斌:"吃鸡"游戏全球多地部署架构分析
- silverlight + wcf(json格式) + sqlserver存储过程分页
- 联众收购多家公司 多枚域名齐助阵
- Android AlertDialog去除黑边白边自定义布局(转)
- “超自然”域名近139万易主
- 服务器磁盘监控脚本分享(含报警邮件)
- 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 数组属性和方法
- 深度学习中7种最优化算法的可视化与理解
- 【基础详解】手磕实现 CNN卷积神经网络!
- 直播间源码android音视频开发
- 批量转化字符编码
- JAR项目部署
- java基础:枚举(你木有见过的船新版本)
- elasticSearch学习(九)
- Linux工具---iptraf 实时地监视网卡流量
- Linux工具---ipcalc简单的IP地址计算器
- 七、玩转Git三剑客-使用GitHub进行团队协作
- 关于mysql的join
- 微信公众号接入智能聊天机器人
- SAP UI5 Diagnostics工具里一个使用面向切片编程(AOP)的一个例子
- SAP CDS view自学教程之九:cube view和query view的实现原理
- 一点多发FTP客户端设计