1. 1-20的两个数把和告诉A,积告诉B,A说不知道是多少,B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少?
答案:2和3
2 爸爸,妈妈,妹妹,小强,至少两个人同一生肖的概率是多少?
1-12*11*10*9/12*12*12*12 = 1-55/96 = 41/96
3, 计算 a^b << 2
答案:
运算符优先级:括号,下标,->和.(成员)最高;
单目的比双目的高;
算术双目的比其他双目的高;
位运算 高于 关系运算;
关系运算 高于 按位运算(与,或,异或);
按位运算 高于 逻辑运算;
三目的只有一个 条件运算,低于逻辑运算;
赋值运算仅比 , (顺序运算)高。
在此题中,位左移”<<” 优先级高于按位异或”^”,所以b先左移两位(相当于乘以4),
再与a异或。
例如: 当 a = 6; b = 4 时; 则 a^b<<2 = 22
4 如何输出源文件的标题和目前执行行的行数?
答案: printf(”The file name: %d\n”, __FILE__);
printf(”The current line No:%d\n”, __LINE__);
ANSI C标准预定义宏:
__LINE__
__FILE__
__DATE__
__TIME__
__STDC__ 当要求程序严格遵循ANSI C标准时该标识符被赋值为1
__cplusplus__ 当编写C++程序时该标识符被定义
5 a[3][4]哪个不能表示 a[1][1]: *(&a[0][0]+5) *(*(a+1)+1) *(&a[1]+1) *(&a[0][0]+4)