#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//算术操作符
// + - * / % 加减乘除取余
/*int main() {
int a = 9 + 2;
int b = 5 - 3;
int c = 3 * 6;
int d = 9 / 2; //没有小数位
float t = 9 / 2.0; //拥有小数位
int e = 9 % 2; //%模运算符 - 取余数
printf("a=%d,b=%d,c=%d,d=%d,e=%d\n", a, b, c, d, e);
printf("t=%f\n", t);
return 0;
}*/
//移位操作符
// << >>
/*int main() {
int a = 2; //因为int是4字节,而1字节又等于8比特,所以转换成二进制为32位:00000000000000000000000000000010 = 2
int b = a << 1; //a向左移一位:00000000000000000000000000000100 = 4
int c = a >> 1; //a向右移一位:00000000000000000000000000000001 = 1
printf("b=%d,c=%d\n", b,c);
return 0;
}*/
//赋值运算符
//+= -= *= /= %=
/*int main() {
int a = 5, b = 5, c = 5, d = 5, e = 5;
a += 2; // += --> a = a + 2
b -= 2; // -= --> b = b - 2
c *= 2; // *= --> c = c * 2
d /= 2; // /= --> d = d / 2
e %= 2; // %= --> e = e % 2
printf("a=%d,b=%d,c=%d,d=%d,e=%d\n", a, b, c, d, e);
return 0;
}*/
//单目运算符
// !
/*int main() {
int a = 0;
int b = 1;
printf("%d,%d\n", !a,!b); // 0为假,非0则为真,即1,反过来如此
if (a) {
//如果a为真,执行代码
}
if (a) {
//如果a为假,执行代码
}
return 0;
}*/
//sizeof是一个单目运算符
/*int main() {
int arr[10];
printf("%d\n", sizeof(arr)); //计算数组的总大小,单位是字节
printf("%d\n", sizeof(arr[0])); //整形数组,每一个元素的大小都为4个字节
int x = sizeof(arr) / sizeof(arr[0]);
printf("%d\n", x);
return 0;
}*/
// ~ 按位取反
/*int main() {
int a = 0;
printf("%d\n", ~a); 0的二进制数按位取反,得到了-1的补码
return 0;
}*/
//++ --
/*int main() {
int a = 10;
int b = ++a; //前置++,先递增,再使用
printf("a=%d , b=%d\n", a, b);
int c = 10;
int d = a++; //后置++,先使用,再递增
printf("c=%d,d=%d\n", c, d);
int e = 10;
int f = --e; //与前置++同理
printf("e=%d,f=%d\n", e, f);
int g = 10;
int h = g--; //与后置++同理
printf("g=%d,h=%d\n", g, h);
return 0;
}*/
//(类型) -- 强制类型转换
/*int main() {
int a = (int)3.14; //将3.14强制转换成整型3
printf("a=%d\n", a);
return 0;
}*/
//逻辑与&& 逻辑或||
/*int main() {
int a = 4;
int b = 7;
int c = a && b; //因为a和b的值都非0(假),所以c的值为1(真)
int d = 0;
int e = 5;
int f = d && e; //因为d的值为0(假),所以f的值为0(假)
printf("%d\n", c);
printf("%d\n", f);
int x = 2;
int y = 5;
int z = x || y; //因为x和y的值只要有一个为1(真),z就为真
int s = 1;
int p = 0;
int g = s || p; //同理
int n = 0;
int m = 0;
int k = n || m;
printf("%d\n", z);
printf("%d\n", g);
printf("%d\n", k);
return 0;
}*/
//条件操作符
//exp1 ? exp2 : exp3
/*int main() {
int a = 4;
int b = 7;
int max = 0;
int min = 0;
max = a > b ? a : b; //大于号比较最大值
min = a < b ? a : b; //小于号比较最小值
printf("max=%d,min=%d\n", max,min);
return 0;
}*/
//逗号表达式
//exp1,exp2,exp3,exp4,...expn
/*int main() {
int a = 2;
int b = 5;
int c = 4;
int d = (a = b + 8, c = a - 4, b = c + 6); //逗号表达式,是从左到右依次计算的
printf("d=%d\n", d); //整个表达式的结果为最后一个表达式的结果
return 0;
}*/
知识回顾5
于 2024-04-18 14:43:45 首次发布