15.在某系统中,等式15*4=112成立,则系统采用的进制是?(正解:6进制)
A.6进制 B.9进制 C,8进制 D.16进制
解析:(考点:求进制)
第一步:(较简单的数)两数的个位数相乘对n取余使余等于其总值的个位数
eg:针对上述式子115*4=112,说出在N进制下等式成立。
则解:5*4=20;
20%n==2;
由上述可求得 n=6;
故而求得是在6进制下成立。
第二步:(较难的数)将n带进式子解出n的值(适当时候用排除法)
eg:假设在n进制下,下面的等式成立,567*456=150216,则求n 的值。(正解:18进制)
A,9 B,10, C,12 D,18
解:①7*6=42,42%n==6; 排除B
②将n进制带入式子中,得到:(5n^2+6n+7) * (4n^2+5n+6)=n^5+5n^4+2n^2+n+6
等号左边得:20n^4+49n^3+88n^2+71n+42
等号右边得:n^5+5n^4+2n^2+n+6
a,两边同时%n,得到42%n==6;
b,两边同时除以n在对n取余(71+42/n)%n==(1+6/n)%n;
因为(1+6/n)%n==1;
故而(71+42/n)%n==1,将选项带进去进行验算得到n=18;
综上所述:采取的进制是18进制,等式成立。
17.定义有:a=1,b=2,c=3,d=4,那么如下表表达式的值是多少?(正解:1)
表达式:a<b?a:c<d?a:d
解析:(考点:运算符)
原式等价于a<b?a:(c<d?a:d)
①c<d?a:d;输出为a,值为1;
②a<b?a:1;输出值为a,值为1.
注意:
考比较符,例如:< 和>一般是考连续比较;
双目运算符一般考优先级,即 判断?真:假
19,有如下代码:
#define M(x,y,z) x*y+z
void main()
{
int a=1,b=2,c=3;
printf("%d\n",M(a+b,b+c,c+a));
}
以上程序输出结果为多少(正解:12)
解析:(考点:宏)
宏:字符替换,一处换,处处换。
形式:#define PI 3.14159
① ② ③
①宏的标记;
②宏的名称;
③宏的量(用来替代的量);
上述式子将M替换成了x*y+z,则程序得:a+b*b+c+c+a,代入相关值计算得到12.(没有括号提升优先级)