【摘要】
知识点包括:全局变量的二次赋值;计算转化为二进制后,数字中 1 的数量;用一个非循环表达式判断一个数是否是2的N次方;逻辑运算与位逻辑运算;printf 输入表达式的执行顺序;类型转换中字符截断与数值大小的关系;位运算两个数值的取平均与求和;无判断语句求取变量中较大存在;无中间量交换变量;C/C++关系。
【正文】
1. 赋值语句
考点:int i=i // 全局变量;
考点:与运算和按位与运算;
总结:== && ||属于逻辑运算符,返回值为bool值
#include <iostream>
using namespace std;
int i = 1;
int main()
{
cout<<i<<endl; // i = 1
int i = i;
cout<<i<<endl; // i = -858993460
int y(4),z(3);
int x = (y & z); //先求y与z的位与,之后赋值给x
cout<<x<<endl; // x = 0
x = (y && z); //先将y与z进行与运算,之后返回布尔值,赋值给x
cout<<x<<endl; // x = 1
return 0;
}