C语言的关键字,运算符,标识符
关键字
数据类型修饰相关
auto按照自动的方式进行变量的存储
const定义常量或常参数
extern声明外部变量或函数
register指定变量的存储类型是寄存器变量
static指定变量的存储类型是静态变量,或指定函数是静态函数
volatile变量的值可能在程序的外部被改变
数据类型相关
char字符型数据
short定义短整型变量或指针
int整型数据
long长整型数据
signed有符号的整型数据
unsigned定义无符号的整型变量或数据
float单精度浮点型数据
double双精度浮点型数据
struct结构体型数据
enum枚举型类型
union联合型数据
void空型数据
typedef为数据类型定义别名
流程控制相关
continue结束本次循环进入下一次循环
break跳出循环或switch语句
switch定义switch语句
case定义switch中的case子句
default定义switch中的default子句
do定义do-while语句
while定义while或do-while语句
if定义if语句或if-else语句
else定义if-else语句
for定义for循环语句
goto定义goto语句
预处理相关
#include包含头文件
#define定义宏
#undef取消已经定义的宏
#if定义条件编译的条件
#ifdef定义条件编译的条件
ifndef定义条件编译的条件
#elif定义条件编译的条件
#endif结束条件编译
其他
return从函数返回
运算符
| 优先级 | 运算符 | 含义 | 操作数数目 | 结合方向感 |
|---|---|---|---|---|
| 1 | () [] -> . | 括号(函数等),数组,两种结构成员访问 | 双目 | 左-右 |
| 2 | ! ~ ++ -- + - |* & (类型) sizeof | 否定,按位取反,自增,自减,正负号,间接,取址,类型转换,求大小 | 单目 | 右-左 |
| 3 | * / % | 乘,除,取模 | 双目 | 左-右 |
| 4 | + - | 加,减 | 双目 | 左-右 |
| 5 | << >> | 左移,右移 | 双目 | 左-右 |
| 6 | < <= >= > | 小于,小于等于,大于等于,大于 | 双目 | 左-右 |
| 7 | == != | 等于,不等于 | 双目 | 左-右 |
| 8 | & | 按位与 | 双目 | 左-右 |
| 9 | ^ | 按位异或 | 双目 | 左-右 |
| 10 | | | 按位或 | 双目 | 左-右 |
| 11 | && | 逻辑与 | 双目 | 左-右 |
| 12 | || | 逻辑或 | 双目 | 左-右 |
| 13 | ? : | 条件 | 三目 | 右-左 |
| 14 | = += -= *= /= &= ^= |= <<= >>= | 各种赋值 | 双目 | 右-左 |
| 15 | , | 逗号(顺序) | 双目 | 左-右 |
()括号运算符,表示一个标识符代表一个函数,fcnname()。 还可用于划分优先级,即1+23,如果不记得先算+还是先算,那就写成1+(23)或(1+2)3。最后,括号还可以用于C的强制类型转换。
[] 数组运算符,表示一个标识符代表一个数组,arrname[]。从数组中取一个元素,arr[2]
->成员访问,用于通过指针变量访问成员,ptr->member等价于(*ptr).member
.成员访问,访问复合数据类型的成员
~按位取反,1变0,0变1
++自增运算符,将变量自身的值加一,分为前++和后++,前++是先执行自增使用增加后的值进行运算,后++是先进行运算,语句执行完毕后再进行++,效率不如前++,因为需要将变量的值临时复制一份
*取值运算符,声明某一类型的变量。取一个指针变量指向的值
&取址运算符,取一个变量的地址
<< 左移运算符,将操作数的二进制数据向左移一位,低位补0。当然是对补码移动,但对原码还是补码进行左移其结果都相当于将数据乘以2的n次方
<<右移运算符,将操作数的二进制数据向右移一位,带符号右移时高位补0,右移n位相当于除以2的n次方,不带符号时高位补符号位,此时非负数还是相当于除以2的n次方,负数就不是了
&按位与,有0出0,全1出1
^按位异或,不同为1,相同为0,使用异或交换两个数:a^=b;b^=a;a^=b;
|按位或,有1出1,全0出0,
&&逻辑与,全真为真,有假为假,C语言中用1表示负真异,0表示非负假同
?:条件运算符,C语言中唯一一个三目运算符,表达式A?表达式B:表达式C表示对表达式A的值进行判断,如果A为真,则执行表达式B,否则执行表达式C
标识符
C语言里使用名称区分不同内容,诸如变量名,函数名etc这些名称叫做标识符(Identifier),实际开发总是采用驼峰式或者下划线式来书写标识符,标识符的长度没有限制,但是编译器只会截取一部分使用
它的编写规则:
- Keyword不能当标识符
- 第一个字符应该是 英文字母、下划线
- 后面的每个字符可以是 英文字母、下划线、阿拉伯数字字符
- 大小写敏感
C语言的关键字,运算符,标识符的更多相关文章
- 第二十一节:Java语言基础-关键字,标识符,注释,常量和变量,运算符
Java语言基础-关键字,标识符,注解,常量和变量,运算符 class Demo { public static void main(String[] args){ System.out.printl ...
- Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)
Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...
- java基础基础总结----- 关键字、标识符、注释、常量和变量、运算符、语句、函数、数组(三)
Java语言基础组成:关键字.标识符.注释.常量和变量.运算符.语句.函数.数组 一.标识符 标识符是在程序中自定义的一些名称,由大小写字母[a-zA-Z],数字[0-9],下划线[ _ ],特殊字符 ...
- 【Go语言系列】2.2、Go语言基本程序结构:关键字与标识符
什么是标识符 标识符用来命名变量.类型等程序实体.标识符是指Go语言对各种变量.方法.函数等命名时使用的字符序列,标识符由若干个字母.下划线_.和数字组成,且第一个字符必须是字母.通俗的讲就是凡可以自 ...
- C语言关键字、标识符和注释
一.关键字 C语言提供的有特殊含义的符号,共32个. 在Xcode中关键字全部高亮显示,关键字全部都为小写.如return.int等. 二.标识符 定义:标识符是程序员在程序中自定义的一些符号和名称. ...
- 李洪强-C语言关键字、标识符和注释
一.关键字 C语言提供的有特殊含义的符号,共32个. 在Xcode中关键字全部高亮显示,关键字全部都为小写.如return.int等. 二.标识符 定义:标识符是程序员在程序中自定义的一些符号和名称. ...
- C语言第三节关键字、标识符、注释
学习语法之前的提醒 C语言属于一门高级语言,其实,所有高级语言的基本语法组成部分都是一样的,只是表现形式不太一样 就好像亚洲人和非洲人,大家都有人类的结构:2只 手.2只脚.1个头,只是他们外表不太一 ...
- C语言入门:03.关键字、标识符、注释
一.学习语法之前的提醒 (1)C语言属于一门高级语言,其实,所有高级语言的基本语法组成部分都是一样的,只是表现形式不太一样 (2)就好像亚洲人和非洲人,大家都有人类的结构:2只 手.2只脚.1个头,只 ...
- 一.C语言:关键字、标识符和注释
一.关键字 C语言提供的有特殊含义的符号,共32个. 在Xcode中关键字全部高亮显示,关键字全部都为小写.如return.int等. 二.标识符 定义:标识符是程序员在程序中自定义的一些符号和名 ...
- 「C」关键字、标识符、注释、内存分析、数据、常量、变量
一.关键字 C语言提供的有特殊含义的符号,共32个. 一般在Xcode中关键字全部显示紫褐色,关键字全部都为小写.如int.return等. 二.标识符 标识符是程序员在程序中自定义的一些符号和名称. ...
随机推荐
- 每天一个linux命令(29):chgrp命令
在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理.可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别码都可以.Chgrp命令就是change group的 ...
- 12.创建一个Point类,有成员变量x,y,方法getX(),setX(),还有一个构造方 法初始化x和y。创建类主类A来测试它。
package java1; public class Point { int x; int y; Point(int x,int y) { this.x = x; this.y = y; } pub ...
- MongoDB更新文档
说明:来看一下关系型数据库的update语句 UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某 其中where子句就类似查询文本,定位要更改的子表,set子句类似于修改器,更 ...
- How to load a local .CSS file & JavaScript resources using iPhone UIWebView Class
This post will cover the basic setup and creation of an application with web content for iPhone that ...
- Open Cascade DataExchange IGES
Open Cascade DataExchange IGES eryar@163.com 摘要Abstract:本文结合OpenCascade和Initial Graphics Exchange Sp ...
- [OpenCV] Samples 09: image
根据需求,转化为不同的颜色格式,split后处理各自通道. plImage <==> Mat 格式转换 Mat --> plImage 简单写法: IplImage copy = m ...
- Javascript定时器(一)——单线程
一.JavaScript 引擎是单线程的 可以从下面的代码中看到,第一个用setTimeout中的代码是死循环,由于是单线程,下面的两个定时器就没机会执行了. <script type=&quo ...
- ViewPager的缓存机制
1.实现Viewpager的页面懒加载: 在某些情况下,例如使用ViewPager查看多张大图,此时多张图片不能一次性载入,只有在浏览该页面时才载入(或者预先载入下一页面)页面的具体内容. 2.可控V ...
- 24个 HTML5 & CSS3 下拉菜单效果及制作教程
下拉菜单是一个很常见的效果,在网站设计中被广泛使用.通过使用下拉菜单,设计者不仅可以在网站设计中营造出色的视觉吸引力,但也可以为网站提供了一个有效的导航方案.使用 HTML5 和 CSS3 可以更容易 ...
- 借助 CSS Colorguard 来避免使用重复的颜色
每一个 CSS 项目开始时愿望都是很美好的,但不可避免地,多人协作的项目相互之间可能重复使用了相似的颜色,而你从来不知道它们的存在.CSS Colorguard 帮助您保持您想要的颜色设置,当你添加的 ...