本文主要是介绍C++词法记号规则之标识符 关键字 操作符 分隔符 空白符,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
C++学习笔记 词法规则之标识符 关键字 操作符 分隔符 空白符
标识符
标识符是标识变量名,符号常量名,函数名,数组名,类型名,文件名的有效字符数列。
1、由字母、数字、下划线、美元符组成,第一个字符必须为字母、下划线或者美元符$开头(关于美元符号$可以做为变量名这个问题已经在VC++中调试验证)。
2、大写字母、小写字母被认为是两个不同的字符。
3、不能用C++关键字作为名称,如:class,const等
关键字keyword(保留字)
关键字是C++预定义的单词,即预先规定的具有固定含义的一些单词,也称为保留字。关键字不能用来做标识符(如变量名、函数名)。因为这些标识符已经被 C ++语言使用或者保留了,所以使用保留标识符来做自定义变量或者函数等的标识符可能会引起意想不到的问题。
使用关键字来做变量名是一种语法错误,在VC++中调试编译会报错,不能通过编译!
C++中共有73个关键字,根据其内容可分为:
基本的数据类型关键字:void, int, char, float, double, bool
类型修饰关键字:long, short, singed, unsigned
布尔型字面值:true, false
非常重要的变量声明修饰符:const, inline
存储类别关键字:auto, static, extern, , register
控制结构关键字:for, while, if, else, do
switch语句关键字:switch, case, default
路径跳转关键字:break, continue, return, goto
动态创建变量关键字:new, delete
长度运算符:sizeof
复合类型关键字:class, struct, enum, union, typedef
与类成员相关关键字:this, friend, virtual, mutable, explicit, operator
派生类继承方式:private, protected, public
模板:template, typename
命名空间:namespace, using
异常处理:catch, throw, try,
各种操作符的替代名:and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq, xor, xor_eq
其他不常用的:asm, export, typeid, volatile(列了69个,还差4个)……
ISO C++98/03关键字共63个
ISO C++11关键字共73个。
ISO C++11新关键字
alignas
constexpr
char16_t 和 char32_t
decltype
nullptr
noexcept
static_assert
auto
操作符
操作符又成为运算符、操作运算符,是用于实现各种运算的符号。
优先级 | 操作符 | 描述 | 例子 | 结合性 |
1 | () | 调节优先级的括号操作符 | (a + b) / 4; | 从左到右 |
2 | ! | 逻辑取反操作符 | if( !done ) ... | 从右到左 |
3 | ->* | 在指针上通过指向成员的指针访问成员的操作符 | ptr->*var = 24; | 从左到右 |
4 | * | 乘法操作符 | int i = 2 * 4; | 从左到右 |
5 | + | 加法操作符 | int i = 2 + 3; | 从左到右 |
6 | << | 按位左移操作符 | int flags = 33 << 1; | 从左到右 |
7 | < | 小于比较操作符 | if( i < 42 ) ... | 从左到右 |
8 | == | 等于比较操作符 | if( i == 42 ) ... | 从左到右 |
9 | & | 按位与操作符 | flags = flags & 42; | 从左到右 |
10 | ^ | 按位异或操作符 | flags = flags ^ 42; | 从左到右 |
11 | | | 按位或操作符 | flags = flags | 42; | 从左到右 |
12 | && | 逻辑与操作符 | if( conditionA && conditionB ) ... | 从左到右 |
13 | || | 逻辑或操作符 | if( conditionA || conditionB ) ... | 从左到右 |
14 | ? : | 三元条件操作符 | int i = (a > b) ? a : b; | 从右到左 |
15 | = | 赋值操作符 | int a = b; | 从右到左 |
16 | , | 逗号操作符 | for( i = 0, j = 0; i < 10; i++, j++ ) ... | 从左到右 |
ps.关于运算符的优先等级,C++标准也会不时地新增和修改,需要及时关注
其中,C++语言支持5种数学运算符——加减乘除,以及取模。
加addition,表示符号+
减subtraction,表示符号-
乘multiplication,表示符号*
除division,表示符号/
取模module,表示符号%
加减乘除运算,它们和一般的数学运算符没有区别。
取模运算(module),是用百分号(%)表示的,它的意思是取两个整数相除的余数。例如,变量a= 15 % 4,变量a的值将会为结果3,因为3是15除以4的余数。
分隔符
分隔符是用于分隔各个词法记号或程序正文的符号。如空格 TAB 回车CR 换行LF 括号( ) 中括号 [ ] 花括号{ } 分号: 逗号, 运算符(+ -*/%) ! ^ & * = | ~ \ ; ' " < > ? ' . # ,都是 c++ 语言里的分隔符。
其中 ! % ^ & * ( ) – + = { } | ~ [ ] \ ; ' : " < > ? , . / #也称标点符号,即标点和特殊字符。
空白符
空白符是空格、制表符(TAB键产生的字符)、换行符(Enter键所产生的字符)和注释的总称
这篇关于C++词法记号规则之标识符 关键字 操作符 分隔符 空白符的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!