C和指针#2.2词法规则
来源:互联网 发布:电脑监控录像软件 编辑:程序博客网 时间:2024/06/16 12:15
一.字符
1.三字母词/三元符(trigrph)
#include<iostream>using namespace std;int main(){ cout<<"??("<<endl; cout<<"??<"<<endl; cout<<"??="<<endl; cout<<"??)"<<endl; cout<<"??>"<<endl; cout<<"??!"<<endl; cout<<"??'"<<endl; cout<<"??-"<<endl;}
输出为
[{#]}|^~
另外”??/”的实际意义是”\”。
cout<<"run(Are U ready ??):"<<endl;
这就是为什么上面这段代码输出为:
run(Are U ready ]:
预防三字母词,加转义符
\?\"\'\\
cout<<"run(Are U ready \?\?):"<<endl;
于是就有了正确的结果:
run(Are U ready ??):
2.换行符’\n’和回车符’\r’
换行符就是另起一行,回车符就是回到一行的开头,所以我们平时所编写的回车符确切来说叫做回车换行符。
'\n'-->'\10'-->换行(newline)'\r'-->'\13'-->回车(return)
只是一个回车符并不能换到下一行,只是到了该行的开头
注意:
在windows下,回车换行符是”\r\n”,但是在linux下是没有’\r’的。
3.\ddd和\xddd
\ddd
ddd代表八进制数,结果为其所代表的字符
\xddd
ddd代表十六进制数,结果为其所代表的字符
cout<<"\55"<<endl; cout<<"\x55"<<endl;
结果为:
-U
二.标识符
标识符(identifier)就是变量、函数、类型等的名字,由大小写字母、数字、下划线组成,不能以数字开头。关键字不能作为标识符使用
注意:
标识符的长度没有限制,但ANSC C标准允许编译器忽略第31个字符以后的字符。同时允许编译器对表示外部的名字(也就是-lname链接器操纵的名字)的标识进行限制,只识别前六位不区分大小写的字符。
但是笔者利用g++测试,没有31个字符的限制。
三.注释
C语言注释采用/**/,不支持嵌套。
C++采用//,支持嵌套。
所有的注释都会被预处理器替换成一个空格。
1 0
- C和指针#2.2词法规则
- C++语言的词法和词法规则
- c语言学习笔记_2基本词法语法规则
- C和指针2.2
- 常用词法规则
- Antlr 中 fragment词法规则
- 纯C实现的词法分析和lex实现的词法分析的对比
- 【C陷阱和缺陷】词法缺陷和语法缺陷
- c和c指针
- 《C 陷进和缺陷》----词法分析中的“贪心法”
- C语言陷阱和缺陷之词法缺陷
- 【C和指针】函数指针
- 【C和指针】const指针
- 《c和指针》函数指针
- c和指针详解------指针
- C 模拟词法分析
- c语言词法分析器
- C语言词法分析器
- __register_chrdev_region分析(简单字符设备驱动在内核的工作原理)
- QSS的使用方法和示例程序
- c程序课后习题219页15题(职工)
- C++11: lambda表达式
- InputStream按指定编码读取解决乱码问题
- C和指针#2.2词法规则
- 高斯消元
- A+B for Input-Output Practice (I) (sdut oj)
- Linux下使用ioctl获取硬件信息------案例一
- python3 发送邮件
- 舞步学院一米骗子,脑残导师骗钱不留情
- fullCalendar改造(修改title样式)
- CodeForces - 272C Dima and Staircase (线段树区间更新)
- 336. Palindrome Pairs