1赋值语句的覆盖问题。 如果这样重复定义变量I,编译器将发出警告,指出不同的效果。
# includeiostreamusingnamespacestd; int i=0; int main () intI=I; cout i endl; 返回0; }
2逻辑与或运算及逻辑与或运算
# includeiostreamusingnamespacestd; int main () { int x=2,y,z; x*=(y=z=5); cout x endl; //10 z=3; 将//z的值代入y,判断x和y的值是否相等。 无论是否相等,x的值总是x===(y=z ); cout x endl; x=(y==z ); //1 cout x endl; x=(yz; //y和z的与运算结果代入x cout x endl; //1x=(yz; //y和z的逻辑和运算结果代入x cout x endl; //1 y=4; x=(y|z ); 将//y和z的或运算结果代入x 100|011-111 cout x endl//7x=(y|| z ); //y和z的逻辑或运算结果代入x cout x endl; //1返回0; } 3与运算的一个应用:统计整数二进制中包含多少1。
# includeiostreamusingnamespacestd; intfunc(intnum ) { int count=0; while(num ) { count; 每运算一次//,num中位数就减少一个,即1num=num(num-1 ); }返回计数; (}int main ) ) { int x=7; coutfunc(x ) endl; //111-3返回0; }