问题
浮点数类型,2.0
因为两个数都是整数,因此除法得到一个被截断的整数,然后再转化为浮点数,所以为2.0
想得到2.5-->(float)25/10
显而易见,结果本应当是-10
但是由于函数的调用顺序是不确定的,所以可能有一下结果
2 - 3*4
2 - 4*3
3 - 2*4
3 - 4*2
4 - 3*2
4 - 2*3
即三个func()的调用顺序不确定
用于操纵特殊的一位的时候
如果要挑剔的话,应该是if更慢一些,因为多了赋值i的语句
leap_year = (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
// 即当能够整除400时,就为1
// 当不能整除400,又可以整除4,不能整除100时也为1
// 当既不能整除400,又不能整除4,或者能整除4,也能整除100,就为0
将打印出In Range,这是因为1 <= a是真的并且等于1,这个表达式之后测试 1 <= 10也是对的
左式为真返回值为1,1<=10也为真,所以打印In range
while (a = f1(x), b = f2(x + a), c = f3(a, b), c > 0)
{
statement
++x;
}
不能,若数组的数据之和为0,但是数据不全为0时就不正确
a. -25 b. -25, b = -24 c. 9, a = 9 d. 1 e. 4 f. -5 g. 40 h. -4 i. 1 j. 10, b = 10 k. 0 l. 2 m. -19 n. -17 o. 24 p. 0 q. 1 r. 10 s. 12, a = 12 t. 4, b = 4 u. -4, b = -4 v. 4, a = 4 w. 1, d = 1 x. 3, a = 3, b = 3, c = 3 y. -27, c = -15, e = -27 z. -65 aa. -1 bb. 1 cc. 1 dd. 1 ee. 0 ff. 1 gg. 0 hh. -25590 ii. 1 jj. 1, a = 11 kk. 0, b = -24 ll. 1, b = -24 mm. 17, c = 3 nn. 20 oo. 80, a = 80, d = 2
a. a+b/c b. (a+b)/c c. a*b%6 d. a*(b%6) e. a + b == 6 f. ! ( a >= ’0’ && a <= ’9’ ) g. ( a & 0x2f ) == ( b | 1 ) && ~ c > 0 h. ( a << b ) – 3 < b << a + 3 i. ~ a ++ j. ( a == 2 || a == 4 ) && ( b == 2 || b == 4 ) k. a&b^(a|b) l. a+(b+c)
声明一个有符号数,赋值一个负数,右移一位后结果如果是负数则为算数移位,否则为逻辑右移
编程练习
void main()
{
int a = 0;
while ((a = getchar()) !=EOF)
{
if (a >= 'A' && a <= 'Z')
putchar(a + 32);
else
putchar(a);
}
}
void main()
{
int a = 0;
while ((a = getchar()) !=EOF)
{
if (a >= 'A' && a <= 'M' || a >= 'a' && a <= 'm')
putchar(a + 13);
else if (a >= 'N' && a <= 'Z' || a >= 'n' && a <= 'z')
putchar(a - 13);
else
putchar(a);
}
}
unsigned int reverse_bits(unsigned int value) { unsigned int dst = 0; int i = 0; for (i = 1; i !=0; i<<=1) { dst <<= 1; if (value & 1) dst |= 1; value >>= 1; } return dst; }