作者:冯老师,华清远见教育科技集团讲师。
C语言的符号:
关键字:
组成了C语言的命令骨干,用来表示特定的功能或运算,是C语言中内置的标志符,不可被用户重新定义或重名。
int char short long float double signed unsigned void
register extern static auto
if else switch case default while do for continue break return goto
sizeof volatile const
typedefstruct union enum
标识符:
由用户自定义的符号,用来标志一个函数、变量、别名等特殊含义。
定义规则如下:
1.只能由英文大小写、数字、下划线组成。
2.不能以数字开头。
3.不能与关键字重名。
4.长度不能超过256个字符(gcc中的要求,非标准)。
间隔符:
在词与词之间添加,方便做词法分析。
由空格、换行、制表、注释等组成。
运算符:
用作数据运算。
+ - * / % <<>> ++ --
~ | & ^
! && ||
>>= == <<= !=
. -> [] ()
,
* &
标点:
{} ;,"" ''
C语言的数据:
变量:数值可以变化的值,通常用来临时保存数据参与运算。
存储类型数据类型标识符; (其中存储类型可以不写,让编译器自动识别)
存储类型数据类型标识符1,标志符2,标识符3 ... ;
常量:固定不变的值,在整个程序运行过程中值不会改变。
数字型常量: 10 20 3.14
字符型常量: 'a' 'b' 'c' '0'
字符串常量: "hello world" "12678"
C语言的语句:
整数型:
char:
大小: 一般1B
取值范围: 有符号:-128 ~ 127
无符号: 0 ~ 255
short:
大小: 一般2B;>= 2B <= int
取值范围:
有符号: -32768 ~ 32767
无符号: 0 ~ 65535
int:
大小: 一般4B,跟机器字长相关,int>= short <= long
取值范围:
有符号: -2G ~ 2G
无符号:0 ~ 4G
long:
大小: 一般4B,跟机器字长相关, long >= int
取值范围:
有符号: -2G ~ 2G
无符号:0 ~ 4G
浮点型:浮点数按照科学计数法来表示,gcc中遵循IEEE标准。
float:单精度浮点数
大小: 4B
精度: 6 ~ 7 位
范围: +-38次方
double:双精度浮点数
大小:8B
精度: 15 ~ 16 位
范围: +-308次方
C语言的运算符:
任何运算都不会更改原操作数的值,自增/自减和赋值除外。
算术运算:
+ - * / % ++ --
关系运算:
>>= <<= == !=
逻辑运算:
&& || !
位运算:
& | ~ ^ >><<
赋值运算:
= += -= *= /= %= &= |= ^=
特殊运算:
() [] . ->,?:
算术运算:
整数 / 整数: 取整
整数 / 浮点数: 除法
浮点 / 浮点: 除法
浮点数不能参与取模运算!
逻辑运算:
真值表:
&&:真 真真
真假假
假真假
假假假
||: 真真真
真假真
假真真
假假假
逻辑运算的短路特性:在逻辑运算中,当左表达式已经可以决定整个表达式的结果时,则右表达式不进行运算。
关系运算:
>>= <<= == !=
位运算:
& | ~ >><< ^