算术操作符
我们这次重点介绍 / (除法) % (取余)
int main()
{
//操作符
printf("%d\n", 7 / 4);//结果是整数
printf("%f\n", 7.0f / 4);//这样子的就是小数
printf("%.2f\n", 7.0f / 4);//这样子的就是两位小数
printf("%d", 7 % 4);//两边只能是整数
return 0;
}
代码的结果为为什么第一个的结果是整数呢,因为除号两边都是整数。
如果想要得到小数,就要像第二个printf一样,把其中一个变成小数即可。当然还可以控制保留几位小数,像第三个语句一样,在前面加上 .2 。
取余号% 两边只能是整数。
单目操作符 : !
int main()
{
//单目操作符 !
int a = 0;
if (!a)
printf("zhen");
return 0;
}
逻辑操作符 与(&&) 或(||)
我们假设输入一个月份,在3~6之间就打印春天
int main()
{
// && || 的误区
int a = 0;
scanf("%d", &a);
if (3 <= a <= 6 )//不能这样写
{
printf("春天");
}
return 0;
}
这样写可以吗,显然是不可以的
int main()
{
// && || 的误区
int a = 0;
scanf("%d", &a);
if (/*3 <= a <= 6*/ a >= 3 && a<= 6)
{
printf("春天");
}
return 0;
}
因为c语言不能写 3<=a<=6 之类的代码
三目操作符
假设输入两个数比较大小,输出最大的
int main()
{
//三目操作符
int a = 0;
int b = 0;
int m = 0;
scanf("%d %d", &a, &b);
if (a > b)
{
m = a;
}
if ( b > a)
{
m = b;
}
printf("%d\n", m);
}
这是最能想到的,如果我们用三目操作符
int main()
{
//三目操作符
int a = 0;
int b = 0;
int m = 0;
scanf("%d %d", &a, &b);
m = a > b ? a : b;
printf("%d\n", m);
}
两个代码是一样的意思,但是三目操作符明显更简洁了。a > b 是真的 m等于a,不然就等于b。
逗号表达式
int main()
{
//逗号表达式
int a = 3;
int b = 5;
int m = 0;
m = (a = a + 2, b = a + b, m = a + b);// 从左到右逐计算,最后一个计算式是整个计算式的结果
printf("%d,%d,%d", a, b, m);
}
逗号表达式的特点是从左到右依次计算,但是最后一个表达式的结果是整个表达式的结果。