问题
单项选择题
有以下程序 #include"iostream.h" void main( ) { int i=1,j=1,k=2; if( (j++||k++)&&i++) cout < < i < < "," < < j < < "," < < k; cout< <end1; } 执行后输出结果是
A.1,1,2
B.2,2,1
C.2,2,2
D.2,2,3
答案
参考答案:C
解析:【命题目的】考查C++语言中“‖”和“&&”运算符。【解题要点】该题目的关键是要搞清楚“‖”和“&&”两个逻辑运算符的运算功能。运算符“‖”和“&&”是双目运算符,要求有两个运算量。且规定逻辑与运算中,只有前面运算量的值为真的,才需要判别后面的值。只要前面运算量为假,就不必判别后的值。而逻辑或则为只要前面的运算量为真,就不必判别后的值;只有前为假,才判别后。本题中j++值为真,不进行k++的运算,所以k的值保持不变。【考点链接】注意按位与和按位或的用法。