- 一、算术运算符
- 二、赋值运算符
- 三、sizeof运算符
- 1 用于数据类型(数据类型必须用括号)
- 2 用于变量(变量可用/不用括号)
- 四、运算符的优先级
- 五、关系运算符
一、算术运算符
例如:A=18;B=5
| 运算符 | 描述 | 实 例 |
|---|---|---|
| + | 两个数相加 | A+B得到23 |
| - | 两个数相减 | A-B得到13 |
| * | 两个数相乘 | A*B得到90 |
| / | 两个数相除 | A/B得到3.6 |
| % | 余数运算符,整除后的余数 | A%B得到3 |
| ++ | 自增运算符,整数值增加1 | A++得到19 |
| – | 自减运算符,整数值增减1 | A–得到17 |
用例:
#includeint main() { double A = 18; double B = 5; printf("A = %fn", A); printf("B = %fn", B); printf("A + B = %lfn", A + B); printf("A - B = %lfn", A - B); printf("A * B = %lfn", A * B); printf("A / B = %lfn", A / B); printf("A %% B = %dn", int((int)A % (int)B)); A++; B--; printf("A++ = %lfn", A); printf("B-- = %lfn", B); return 0; }
注: A++(本次使用后自增);
++A(本次使用前自增);
int A = 18;
int B = 5;
printf("A++ = %lfn", A++); //输出:18
printf("B-- = %lfn", B--); //输出:5
printf("++A = %lfn", ++A); //输出:19
printf("--B = %lfn", --B); //输出:4
二、赋值运算符
| 运算符 | 描述 | 实 例 |
|---|---|---|
| = | 简单的赋值运算符,把右边操作数的值赋给左边 | C= A + B 将把 A + B的值赋给操作数 |
| += | 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数 | C += A 相当于 C = C+A |
| -= | 减且赋值运算符,把右边操作数减去左边操作数的结果赋值给左边操作数 | C -= A 相当于 C = C-A |
| *= | 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数 | C = A 相当于 C = CA |
| /= | 除且赋值运算符,把右边操作数除以左边操作数的结果赋值给左边操作数 | C /= A 相当于 C = C/A |
| %= | 求余数目赋值运算,求两个操作数的余赋值给左边操作数,浮点数不适用于取余数 | C %= A 相当于 C = C % A |
-sizeof是C语言的关键字,用于计算变量(或数据类型)在当前系统中占用内存的字节数。
-sizeof不是函数,产生这样的疑问是因为sizeof的书写向函数,sizeof有两种写法
//不同操作系统数据类型占用的字节不同 #include四、运算符的优先级int main() { printf("sizeof char: %lld n", sizeof(char)); printf("sizeof int: %lld n", sizeof(int)); printf("sizeof long long : %lld n", sizeof(long long)); unsigned int A = 2; double B = 1.2; printf("sizeof A: %lld n", sizeof(A)); printf("sizeof D: %lld n", sizeof B); //sizeof返回的是一个64位 (8bytes)的无符号整型,所以占位符应该是%lld }
- 不用刻意去记优先级,可以使用括号;
| 关系 | 数学中的表示 | C语言中的表示 |
|---|---|---|
| 小于 | < | < |
| 小于等于 | ≤ le ≤ | <= |
| 大于 | > | > |
| 大于等于 | ≥ ge ≥ | >= |
| 等于 | = | == |
| 不等于 | ≠ ne = | != |
- C语言的基本操作数据类型有char,int,double,我们暂时认为只有char和int适用于上述关系运算符,double关系运算符以后再讨论。



