一、往日回顾
1.1 、linux 基本命令
mkdri 创建文件夹
rmdir 移除文件夹
rm 移除文件
touch 创建文件
rm -r 强制移除
1.2 、C语言变量和数据类型(64位机器)
整型
有符号数(抽一位给符号位,0正数,1负数,补码表示)
char 字符型 1字节 范围:-128 ~ 127
short 短整型 2字节 范围:-32,768 ~ 32,767
int 整型 4字节 范围:-2,147,483,648 ~ 2,147,483,647
long 长整型 4字节 范围:-2,147,483,648 ~ 2,147,483,647
无符号数
unsigned char 字符型 1字节 范围: 0 ~ 255
unsigned short 短整型 2字节 范围: 0 ~ 65,535
unsigned int 整型 4字节 范围: 0 ~ 4,294,967,295
unsigned long 长整型 4字节 范围: 0 ~ 4,294,967,295
83c8620417b3f61.png)
浮点型
float 单精度浮点型 4 字节 范围: 1.2E-38 ~ 3.4E+38 精度:6 位
double 双精度浮点型 8 字节 范围: 2.3E-308 ~ 1.7E+308 精度:15 位
long double 超精度浮点型 16 字节 范围: 3.4E-4932 ~ 1.1E+4932 精度:19 位
注意,各种类型的存储大小与系统位数有关,但目前通用的以64位系统为主。
以下列出了32位系统与64位系统的存储大小的差别(windows 相同):
二、运算符
2.1 算术运算符
a=1,b=2
a+b=3 把两个操作数相加
a-b=-1 把两个操作数相减
a*b=6 把两个操作数相乘
a/b=0 把两个操作数相除 (对于整型,结果只保留整数部分)
a%b=1 a对b取余 (只对于整型进行操作)
++a/b=(a+1)/b=1 自增运算 (先+1,再运算)
a++/b=(a/b)=0,a=a+1=2 自增运算 (先运算,再+1)
--a/b=(a-1)/b=0 自减运算 (先-1,再运算)
a--/b=(a/b)=0,a=a-1=0 自减运算 (先运算,再-1)
2.2 关系运算符
在C语言中,0是假,1是真,其余是真
a=1,b=2
== 检查两个操作数的值是否相等,如果相等则条件为真。 (a == b) 为假。
!= 检查两个操作数的值是否相等,如果不相等则条件为真。 (a != b) 为真。
> 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 (a > b) 为假。
< 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 (a < b) 为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 (a >= b) 为假。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 (a <= b) 为真。
2.3 赋值运算符
= 简单的赋值运算符,把右边操作数的值赋给左边操作数 C = A + B 将把 A + B 的值赋给 C
+= 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数 C += A 相当于 C = C + A
-= 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数 C -= A 相当于 C = C - A
*= 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数 C *= A 相当于 C = C * A
/= 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数 C /= A 相当于 C = C / A
%= 求模且赋值运算符,求两个操作数的模赋值给左边操作数 C %= A 相当于 C = C % A
<<= 左移且赋值运算符(相当于自乘2) C <<= 2 等同于 C = C << 2
>>= 右移且赋值运算符(相当于自除2) C >>= 2 等同于 C = C >> 2
&= 按位与且赋值运算符 C &= 2 等同于 C = C & 2
^= 按位异或且赋值运算符 C ^= 2 等同于 C = C ^ 2
|= 按位或且赋值运算符 C |= 2 等同于 C = C | 2
2.4 逻辑运算符
&& 与运算 全真为真,其余为假
|| 或运算 全假为假,其余为真
! 非运算 真为假,假为真
2.5 其它运算符
sizeof() 返回变量物理大小。
& 返回变量物理地址。
* 对当前地址取存储的变量
? : 条件表达式 如果条件为真 ? 则值为 X : 否则值为 Y
2.6 运算符优先级
说明:
同一优先级的运算符,运算次序由结合方向所决定。
简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符