一个基本c语言注释用什么字符串,C语言的词法规则京鸿智武 今天提纲:本文主要介绍了C语言中...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
C语言的词法规则
京鸿智武 今天
提纲:本文主要介绍了C语言中的词法规则,包括字符、注释、接续符、标识符
一、字符
1、字符集都包括什么?
标准规定字符集包括英语所有的大写字母和小写字母、数字0~9、以及! ” # % ’ * + , - . / : ; = ? \ ^ _ | ~ <> {} () []等符号。
2、分类
(1)普通字符
由单引号括起来的一个字符;
(2)字符串常量
由双引号将若干个字符括起来;
(3)符号常量
用一个符号名代表一个常量的,称为符号常量;
例如:#define A 1
上面的代码表示,凡是程序中出现A的地方全部替换成1
(4)三字母词(9个)
三字母词是三个字符的序列,合起来表示一个字符,通常在C环境缺少字符的情乱下使用
常见的9个三字母词:
??( 代表 [
??) 代表 ]
??! 代表 |
??< 代表 {
??> 代表 }
??’ 代表 ^
??= 代表 #
??/ 代表 \
??- 代表 ~
(5)转义字符(13个)
当一个字符在一个编程环境中有特殊的意义,而想要使用这个特定的字符时,可能没有办法实现,这时候就提出了转义字符的概念。
下面列出了常见的13个转义字符
\’ 输出字符’
\” 输出字符”
\? 输出字符?
\ 输出字符\
\a 发出警告声音
\b 将当前位置后退一个字符
该程序的输出结果为
\f 将当前位置移动到下一页的开头
该程序的输出结果为
\n 换行符,将当前结果移动到下一行的开头
\r 回车符,将当前的位置移动到本行的开头
\t 水平制表符,将当前位置移动到下一个tab位置
\v 垂直制表符,将当前位置移动到下一个垂直制表对齐处
\ddd 其中一个d代表一个八进制数字,该输出结果是与八进制码对应的字符
\xddd 其中一个d代表一个十六进制数字,该输出结果是与十六进制码对应的字符
二、注释
1、注释方式
C语言中有两种注释方式
(1)/**/
(2)//
2、注释原则
(1)编译器剔除掉注释之后,会用空格来替换原有的注释位置。
(2)编译器把/当作一段注释的开始,将/后面的内容都当作注释内容,直到出现*/为止,表示注释结束。
(3)/总是与离他最近的/进行匹配。
(4)注释/**/不允许嵌套。
(5)只要/和*之间没有空格,编译器就会把他当作注释的开始。
(6)对加注释的几点建议
注释应当简洁明了;
一目了然的代码不加注释;
注释采用英文;
注释可以在代码的同行或者上一行,但不能在代码的下一行。
(7)哪些地方十分有必要加注释
对于全局变量必须加注释;
数值的单位一定要加注释;
对变量的范围给出注释;
对函数的入口出口数据给注释。
三、接续符
C语言中以\表示断行,编译器会自动将\剔除掉,跟在\后面的内容会自动接续到前一行
注:\之前和之后都不能有空格。
四、标识符
标识符就是函数、变量、类型等的名字
1、命名规则
标识符由大小写字母、数字、下划线组成,不能以数字开头。
2、注意事项
(1)标识符虽然没有长度限制,但是编译器会自动忽略第31个字符后面的字符;
(2)ANSI C标准规定,C实现必须能够区别出前6个字符不同的外部名称(由链接器操纵的名字),而且,这个定义中不区分英语字母的大小写。
(3)内部名和外部名
ANSI C标准规定,标识符可以为任意长度,但外部名必须至少能由前6个字符唯一地区分,并且不区分大小写。这里外部名指的是在链接过程中所涉及的标识符,其中包括文件间共享的函数名和全局变量名;
ANSI C标准还规定,内部名必须至少能由前31个字符唯一地区分。内部名指的是仅出现于定义该标识符的文件中的那些标识符。C语言中的字母是有大小写区别的,因此count Count COUNT是三个不同的标识符。
(4)标识符不能和C语言的32个关键字相同,也不能和用户已编制的函数或C语言库函数同名。
(5)看一个关于标识符例题
例:\40的值是多少?\100、\x40、\x100、\0123、\x0123的值又分别是什么?
我们分别将这些例子运行一下:
\40的值
分析:\ddd代表的是八进制数,将其转换为十进制数再查询ASCII表,便可以得到正确结果
八进制数40转换为十进制数是32,通过ASCII字符集查询到是空格字符,因此输出结果为空格;
\100和\x40的值
分析:八进制数100和十六进制数40转换为十进制数是64,通过ASCII字符集查询到是字符@,因此输出结果为@;
\x100的值
分析:由图可知,十六进制数100超出了ASCII所能表示的范围,因此出错;
\0
一个基本c语言注释用什么字符串,C语言的词法规则京鸿智武 今天提纲:本文主要介绍了C语言中...相关推荐
- 一个基本c语言注释用什么字符,C语言的词法规则京鸿智武 今天提纲:本文主要介绍了C语言中...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C语言的词法规则 京鸿智武 今天 提纲:本文主要介绍了C语言中的词法规则,包括字符.注释.接续符.标识符 一.字符 1.字符集都包括什么? 标准规定字符集 ...
- c语言插入特定的字符串,C语言实现:将一个字符串插入到另一个字符串的指定位置...
C语言实现:将一个字符串插入到另一个字符串的指定位置 发布时间:2018-08-22 13:23, 浏览次数:1672 示例一: char *insert(char *s1, char *s2, in ...
- 14c语言合并两个字符串,C语言的标识符和字符数据、字符串数据.ppt
1·2 C语言的标识符和字符数据.字符串数据 本节的任务是掌握用printf()函 数在屏幕的任意位置打印字 符组成的图案. 1·2·1 C语言的字符串数据.字符数据和转义字符 • 例1_1_2 用p ...
- c语言文件打开方式字符串,C语言打开文件-C语言打开文件的方式-C语言以只读方式打开文件-C语言以读写方式打开文件-嗨客网...
C语言打开文件教程 在 在 C 语言中,打开文件使用 fopen C语言fopen函数详解 语法 FILE *fopen(char *filename, char *mode); 参数 参数 描述 f ...
- c语言如何浮点数转换为字符串,C语言把浮点数转换为字符串
1.把float/double格式化输出到字符串 标准的C语言提供了atof函数把字符串转double,但是没有提供把float/double转换为字符串的库函数,而是采用sprintf和snprin ...
- c语言如何赋值空字符串,c语言中如何给字符串数组赋值
c语言中如何给字符串数组赋值 1.问题 这是我写的 struct student { int x; char name[10]; }; void main() { student st: st.nam ...
- c语言不用strcpy复制字符串,C语言不使用strcpy函数如何实现字符串复制功能
前言继承是OOP设计中的重要概念.在C++语言中,派生类继承基类有三种继承方式:私有继承(private).保护继承(protected)和公有继承(public).一.继承规则继承是C++中的重要特 ...
- c语言将字母存入字符串,C语言把资料读入字符串以及将字符串写入文件
C语言把文件读入字符串以及将字符串写入文件 1.纯C实现 FILE *fp; if ((fp = fopen("example.txt", "rb")) == ...
- c 语言比较三个字符串,C语言字符篇(三)字符串比较函数
C语言字符篇(三)字符串比较函数 #include int strcmp(const char *s1, const char *s2); 比较字符串s1和s2 int strncmp(cons ...
- c语言从excal读取字符串,C语言操作EXCEL文件(读写)
C语言操作EXCEL文件(读写) 本文主要介绍通过纯C语言进行EXCEL的读写操作:(修改时间2018.08.28,如果运行结果均是0,请看文章最后一节) C语言读操作 C语言写操作 在之前需要使用C ...
最新文章
- 手把手教你使用Flask轻松部署机器学习模型(附代码链接) | CSDN博文精选
- 后量子密码芯片研究取得重大突破,论文入选ISSCC 2022和CHES 2022
- Lighting System Design UVA - 11400 动态规划
- WebStorm设置自动刷新
- 爱奇艺、优酷、腾讯独播内容均超70%,如果只能三选一,哪家会员最值得买?
- 【OFDM通信】基于块状导频的信道估计算法仿真含Matlab源码
- linux soruce 命令,Linux source命令是干啥的?
- R语言 —— 包(package)的下载和使用
- 华为数字化IT应用工程师面试经历
- HTTP技术快速提升网页的访问速度
- Pandoc安装与使用总结
- Mac 有线网络或WiFi网络共享成WiFiwifi的方法
- 头脑王者类似源码研究
- vue打包上线的代理问题
- linux命令:cp和scp
- 指令(机器指令)格式
- vue背景图片路径问题
- 《从菜鸟到大师-杨老师课程笔记》Python工程师之 01
- ubuntu(18.04LTS)切换 tty终端模式 和图形桌面
- 将物流行业送往智能时代,菜鸟网络的配送车已经上路了
热门文章
- 【论文笔记】Understanding Software Changes: Extracting, Classifying, and Presenting Fine-Grained Source Co
- 计算机控制实验总结电机调速,控制步进电机调速系统实验报告
- 将数组分成两部分,使得 |sum1 - sum2| 最小. LeetCode - 1049
- 基于微信小程序音乐播放器的设计与实现毕业设计源码271156
- 多源复制中单个channal复制异常处理
- win10下Linux子系统(ubuntu)开启并配置(shell主题,设置中文环境,图形界面...)
- 回收宝只要6499买华为Mate40 Pro还送iPhone 12手机:结果被秒杀!
- CentOS 6忘记密码解决方法(三分钟超快o)
- 如何用 Ps 制作毛玻璃穿透效果?
- HttpEntity的类型及其使用(各种继承的使用)