单选题 有以下程序段
int k=0, a=1, b=2, c=3;
k=a<b ? b:a; k=k>c ? c:k;
执行该程序段后,k的值是
A) 3 B) 2 C) 1 D) 0

【正确答案】 B
【答案解析】[解析] 本题考查的知识点是条件表达式.条件运算符?:是C语言中唯一的三目运算符,它的规则是先计算左边运算分量,如果为“真”(非0),则返回中间运算分量的值,否则返回右边运算分量的值。本题中因为a<b为“真”,所以第1个条件表达式的值为b的值2,所以k=2。然后又因为k>c为“假’,所以第2个表达式的值为k的值2。所以本题应该选择B。