运算符(operator)
// numerator 被除数
// denominator 除数
// quotient 商
// remainder 余数
int n = 20, d=3;
int q = n / d;
int r = n % d;
printf("%d÷%d商为%d,余数%d",n,d,q,r);
应用:%2可以用于奇偶数的判断:
int main(int argc, char** argv) {
for(int i = 0; i<100; i++) {
if(i%2 == 1) {
printf("%d是奇数\n", i);
} else {
printf("%d是偶数\n", i);
}
}
return 0;
}
i++是先用i进行操作,再对i+1;
++i是先对i+1,再用i进行操作;
左值==右值:相等的时候,结果是整数1;不相等的时候,结果是整数0。
int a = 1;
printf("1 == a 结果:%d \n", 1 == a); // 相等
printf("2 == a 结果:%d \n", 2 == a); // 不相等
注意:C语言中,比较“某变量是否等于某值”时,不要使用a == 1的形式,建议使用1 == a的形式。
因为a == 1很容易写成a = 1,这是一个赋值语句(无论a之前等于多少,都会变成1),赋值会成功,返回结果永远是整数1,即会被误判为相等,同时改变了a的值。
而如果1 == a如果写成1=a,不符合语法,编译器会报错。这样可以避免代码出错而自己还不知道。
运算符 | 中 | 英 | 说明 |
---|---|---|---|
&& | 与 | AND | 同真为真 |
|| | 或 | OR | 一荣俱荣 |
! | 非 | NOT |
以&&为例:
两个操作数都为true时,结果才为true;
第一个为false时,结果就必为false,这时不会再判断第二个操作。
int a = 1;
if ( (a < 0) && (a++ < 1) )
{
// Do Nothing
}
结果a没有自增,还是1
扩大2倍 | a<<1 | 缩小2倍 | a>>1 |
---|---|---|---|
扩大4倍 | a<<2 | 缩小4倍 | a>>2 |
扩大8倍 | a<<3 | 缩小8倍 | a>>3 |
扩大16倍 | a<<4 | 缩小16倍 | a>>4 |
原文:https://www.cnblogs.com/tigerlion/p/11191417.html