考研的备考中,对于历年真题的复习,也是提升考试分数的重要方法。为了让大家更好的积累学习,小编为大家整理了历年考研真题,下面是关于“设有宏定义#define MAX(x,y) (x)>(y)”,希望对大家有更好的帮助。
4、设有宏定义#define MAX(x,y) (x)>(y)?(x):(y), 则F=4*MAX(2, 3)的值为( )。
A、3
B、2
C、12
D、8
4、试题答案:B
试题解析:
【考点】本题考查宏定义的引用与条件表达式。
所谓宏定义就是用一个标识符来代替一个字符串,如果后面代码中出现该标识符,那么全部替换成指定的字符串。那么F=4*MAX(2, 3)就是F=4* (x)>(y)?(x):(y),由于运算符'*'优先级高于条件运算符'?:',则表达式代入变量的值后为8>3?2:3,故表达式的值为2,即F值为2,本题选B。
条件表达式的一般形式为:表达式1?表达式2:表达式3。它的执行顺序:先求解表达式1;若为真(非0)则求解表达式2,此时表达式2的值就是整个条件表达式的值;若表达式1的值为0(假),则求解表达式3,此时表达式3的值就是整个条件表达式的值。
以上“设有宏定义#define MAX(x,y) (x)>(y)”,更多关于考研真题内容将不断更新。
