C语言的关键字,运算符,标识符
2016-09-14 14:52
288 查看
关键字
数据类型修饰相关
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语言 关键字、标识符、注释
- 《C语言》-(关键字、标识符命名规范)
- 李洪强iOS开发之零基础学习iOS开发【02-C语言】03-关键字、标识符、注释
- Java语言基础(关键字、标识符、注释、常量、变量、运算符)
- 黑马程序员—C语言—(关键字、标识符、数据、常量、变量、注释)
- Java语言基础组成——关键字,标识符,注释,常量和变量,运算符
- java入门-标识符、关键字、基本数据类型、变量与常量、运算符
- 黑马程序员——Java基础语法(一)—关键字、标识符、数据类型、运算符
- Java入门_1(关键字、标识符、注释、常量、运算符)
- C语言的32个关键字、9种控制语句、34个运算符
- 数据类型/强制类型转换 和运算符---标识符规则/关键字 a++和++a区别
- 黑马程序员——C语言------关键字、标识符、注释、数据类型
- 黑马程序员——Java语言基础(一)---关键字、标识符、注释、常量、变量、运算符
- Java语言基础组成——关键字,标识符,注释,常量和变量,运算符
- 标识符命名规则 || 形参和实参 || 全局变量和局部变量的区别 || C语言中关键字 || for循环次数的控制
- C语言中的ASCII、关键字和标识符的应用
- JAVA基础2-标识符、关键字、数据类型与运算符
- C语言的32个关键字,9种控制语句,34种运算符
- 20140401学习_Java关键字标识符与运算符
- 黑马程序员——Java语言基础——02.java语言基础组成(1)关键字、标识符运算符等