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 先算左边