1. 运算符和表达式
1.1 赋值
右边的 = 左边的;
赋值的含意 是 将左边的值,存储到右边中。
右边必须是一个 变量。
左边能够是变量,也能够是常量,也能够是一个算式,最终是一个值。
int a = 0;
int b = 100;
a = b;
a = 200;
a = b+200;
复合赋值:
比方:a+=b;等价于 a = a+b;
1.2 算术运算符
根本的:+ – * / %
自增自减:++ —
次要留神的重点:
/ 两个整数相除 只能失去整数局部
1.2.1 除法
/ 两个整数相除 只能失去整数局部
有浮点数参加的除法,能力失去小数局部
1.2.2 取模
% 获取余数 10%3 失去的余数是 1
取模(取余)参加运算的数据只能是 整数
10.8%3 这个语法是谬误的
1.2.3 自增自减
前置还是后置的问题
#include <stdio.h>
#include <stdlib.h>
int main()
{
// 根本应用
int nNum1 = 10;
nNum1++;
printf("%d\n", nNum1);
int nNum2 = 10;
++nNum2;
printf("%d\n", nNum2);
// 前置和后置有什么区别呢???// 区别在于,自增的同时还要参加其余运算,// 前置 是 先自增,再进行其余运算
// 后置 是 先参加其余运算,而后再自增
// 根本应用
int nNum3 = 10;
printf("%d\n", nNum3++);
printf("%d\n", nNum3);
int nNum4 = 10;
printf("%d\n", ++nNum4);
printf("%d\n", nNum4);
// 上面这个会输入什么
int nNum5 = 10;
printf("%d\n", nNum5--);
printf("%d\n", --nNum5);
printf("%d\n", nNum5);
return 0;
}
1.3 取地址运算符
获取变量的地址
比方一个 int 变量是 4 个字节 每个字节都有本人的地址,取地址符获取到的是 第 1 个字节的地址。
1.4 sizeof 运算符
求变量或者某一个数据类型,所占用的字节数
1.5 逗号运算符
起到了一个分隔的作用
逗号优先级最低
int a = 10,20; 运算完之后 a 是 10
int a =(10,20); 运算玩之后 a 是 20 为什么 因为 先算了逗号表达式的值是最左边的数值
1.6 优先级与联合性
先算优先级高的,如果一样高,看联合性
3+5+8 先算右边,再算左边,叫做左联合
c =100
a =b =c 先算左边