算术操作符
#include<stdio.h>
//操作符,了解其特点用法
//算数操作符+ - *(忽略) / %(重点)
int main() {
int a, b = 0;//初始化
float c = 0;
a = 7 / 2;
b = 7 % 2;//取模,取余数
c = 7 / 3.0;
printf("%d\n", a);//得出结果为3,可知剩余的其余数被忽略了
//当除号两端都为整形的时候执行的是整形除法
// 如果两端只要有一个浮点数,则就执行浮点数除法
//如c,结果为2.33333若两边为7,3则结果为2.000000
printf("%d\n", b);//为1
printf("%f\n", c);
return 0;
}
+ - * / %
赋值操作符
#include<stdio.h>
//操作符,了解其特点用法
//算数操作符+ - *(忽略) / %(重点)
//赋值操作符= += -= *= .....
int main() {
int a, b = 0;//初始化
a = a + 3;
a += 3;
a = a - 3;
a -= 3;//以上可以看出赋值操作符的对应关系,可以替换为*%等等
}
双目操作符
//操作符,了解其特点用法
//算数操作符:+ - *(忽略) / %(重点)
//赋值操作符:= += -= *= .....
//单目操作符:!(逻辑取反)-(负值)+(无区别)sizeof(若后跟变量,括号可省)
// --(可前后置) ++(同前)
int main() {
int a = 1000;
printf("%d", sizeof (int));//4
printf("%d", sizeof (a));//4
printf("%d", sizeof a);//答案为4,可去符号应证了sizeof为单目操作符
return 0;
}
#include<stdio.h>
//操作符,了解其特点用法
//算数操作符:+ - *(忽略) / %(重点)
//赋值操作符:= += -= *= .....
//单目操作符:!(逻辑取反)-(负值)+(无区别)sizeof(若后跟变量,括号可省)
// --(可前后置) ++(同前)
int main() {
int a,b=0;
a = 1999;
b = a++;//先赋值再加一
printf("%d\n", b);//1999
a = 1999;
//先加一再赋值
b = ++a;
printf("%d\n", b);//2000
a = 1999;
b = --a;//先减一再赋值
printf("%d\n", b);//1998
a = 1999;
b = a--;//先赋值再减一
printf("%d\n", b);//1999
return 0;
}
(类型)强制类型转化
逻辑与或
#include<stdio.h>
//逻辑或&&两个都满足,逻辑与||只要一个满足
int main() {
int a, b = 0;
a = 1;
b = 1;
if (a&&b) {
printf("haha");
}
else if (a || b) {
printf("hehe");
}
return 0;//注意else if要在if为假的情况下才执行,直到某个为真不再执行
}
三目操作符?:
#include<stdio.h>
//逻辑或&&两个都满足,逻辑与||只要一个满足
int main() {
//三目操作符 判断条件?正确执行:错误执行
int a, b = 0;
a = 8;
b = 9;
a = a > b ? a = a : a = b;
printf("%d", a);//9
return 0;
}
逗号表达式
#include<stdio.h>
//逻辑或&&两个都满足,逻辑与||只要一个满足
int main() {
//逗号表达式
int a = 10;
int b = 8;
int c = 9;
a = (c = a + b, b = b + c, c + b);//从左到右依次运算,表达式的值等于最右边的表达式
printf("%d", a);
return 0;
}
下标引用操作符
#include<stdio.h>
//逻辑或&&两个都满足,逻辑与||只要一个满足
int main() {
//下标引用操作符[]其中左边与内部为操作数
int arr[5] = { 1,2,3,4,5 };
int a = 0;
a=arr[4];//从左到右依次运算,表达式的值等于最右边的表达式
printf("%d", a);
return 0;
}
函数调用操作符