#include
using namespace std;
int main()
{
int a = 10;
int b = 100;
int c = a - b;//
int sr[] = { a, b };
int i = unsigned(c) >> (sizeof(int)* 8 - 1);
//推断c的最高位是0或者1,0则c是正数,1则c是负数。由此能够得出大小。
//unsigned类型的数字,往左移动的时候,无论怎样左边都补0。
cout << sr[i] << endl;//依据下标取出最大值。
return 0;
}
扩展资料:
C++语言中定义了丰富的运算符,如算术运算符、关系运算符、逻辑运算符等等,有些运算符需要两个操作数,使用形式为
<操作数1>运算符<操作数2>
这样的运算符称为二元运算符(或二目运算符)。另一些运算符只需要一个操作数,称为一元运算符(或单目运算符)。
运算符具有优先级与结合性。当一个表达式包含多个运算符时,先进行优先级高的运算,再进行优先级低的运算。如果表达式中出现了多个相同优先级的运算,运算顺序就要看运算符的结合性了。
所谓结合性,是指当一个操作数左右两边的运算符优先级相同时,按什么样的顺序进行运算,是自左向右,还是自右向左。例如,我们熟悉的算术表达式6+5-2中,“+”、 “-”是同级运算符,那么是先算5-2,还是先算6+5?这就取决于算术运算符的结合性。由于算术运算符的结合性为自左向右,所以应先算6+5,然后再算11-2。
#include
void main()
{
int a,b;
cout<<"请输入两个整数:"<
if(a>b)cout<<"最大值为:"< else
if(a else
cout<<"两个数值相等。"<
s为1啊,首先进入第一个for循环,此时k=2,s=1;接下来进入第二个循环,j=2,j++,s=s+1,循环直到j=5结束;然后又进入第一个循环,k=3,s=1(可以看出,s又变为1了,所以循环对s的值没改变),直到最后一次循环,k=5,s=1,j=5,不满足第二个循环条件,不进入第二个循环,所以s值为1.
#include
using namespace std ;
void main()
{
int k,j,s;
for(k=2;k<6;k++) //循环1:k=2 循环2:k=3 .....循环4:k=5
{
s=1; // s=1 s=1
for(j=k;j<5;j++) // j=2 j=3 j=4 j=3 j=4 j=5(不循环)
s+=j; // s=3 s=6 s=10 s=4 s=8 s=1
}
cout<<"s="<}
乙酸、乙醇