1.算数操作符
+ - * /
2.移位操作符
>> <<
3.位操作符号
^ |
4.赋值操作符
= += -= /= &= ^= >>= <<= 强制类型转换
a=5,a-=3; //此时a=5-2=3;
a=5,a+=3 //此时a=5+3=8;
5.单目操作符(只有一个操作数)
! - + &取地址符 sizeof ~对一个数进行二进制按位取反 -- ++ * 强制类型转换
int main() {//c语言中,0表示假,非0表示真 int flag=5; if(!flag) { printf("hehe\n"); } retrun 0; }//此时不会运行输出结果为 hehe
0为假
++a与a++的区别
a=1
b=a++; //这个表示b=1,a=2,先进行b=a然后再进行a++操作;
a=1
b=++a; //这个表示b=2,a=2,先进行a++然后再进行b=a操作;
- 强制类型转换
对数的类型进行转换
会发生报错,因为a是整型变量,3.14无法赋值给整型变量a;
不会报错,3.14被强制类型转换为了整型3,这个时候会输出3;
6.关系操作符
> >= < <= != ==
7.逻辑操作符
&&逻辑与 ||逻辑或
8.条件操作符
- exp1?exp2:exp3 (又叫三目操作符)
表达式一如果为真,表达式二计算,表达式三不算,表达式二是整个表达式的结果
表达式一如果为假,表达式三计算,表达式二不算,表达式三是整个表达式的结果
表达内容一样
都是令m=max(a,b);
9.逗号表达式(依次进行)
逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果
(a=5,b=2,a++,a-=b)
a=6 a=4
10.下标引用、函数调用和结构成员
操作数:一个数组名 + 一个索引值
int arr[10];//创建数组 arr[9] = 10;//实用下标引用操作符。 //就是让arr中的第十个数为10
- ( ) 函数调用操作符
#include <stdio.h> void test() { printf("hehe\n"); } int main() { test(); //这个就是相当于调用test1的内容,会打印出hehe return 0; }
- 访问一个结构的成员//暂时还不是很理解
. 结构体.成员名
-> 结构体指针->成员名
#include <stdio.h> struct Stu { char name[10]; int age; char sex[5]; double score; };