C语言语法教程:条件分支与位运算

条件分支与位运算

下面介绍条件分支,C++中判断一个表达式是真或假的规则如下:0为假,非0值都是真,例如-1,7等都是真,关于表达式真假有以下几种运算符:非,与,或等几种常见运算符,非是!,写在表达式前,表示对表达式的结果取反;与是&&,在两条表达式中间用于连接,当两条表达式都为真时,整个与运算表达式才为真,否则为假;或是||,在两条表达式中间,当两条表达式任意一条成立时,整个或运算表达式为真,都不成立才为假。

  下面介绍几种常用表达式的值问题:

①赋值语句,赋值语句的通常形式为a=Value; 这条表达式的值为Value,即赋值语句的右值,举个例子:

int a=7;

int b=(a=5);

这时b的值就是a=5的值,即5,所以a,b都被修改为5.

②逗号表达式,逗号表达式一般是a,b,c,d,而逗号表达式的值是这一序列中的最后一项的值,比如a,b,c,d的值就是d

③位运算,位运算分为5种,左移(<<),右移(>>)以及与、或、异或与,下面将简略介绍这5种位运算:

(1)左移,语法形式为a<<b;例如:1<<5;这里运算是将a化成二进制,整体左移b个单位,新增加的地方填0,例如1<<5是二进制数00000001左移5位000100000,原本的a不改变,只是一种运算,计算出值

(2)右移,语法形式为a>>b;与左移基本相同,不同点在于右移是将整体右移,新增加的地方补0,例如3>>1;就是00000011右移后00000001

(3)与是按位与,形式为a&b;同样是把a和b转化成2进制,每一位都进行与运算,例如2&3;就是二进制数:0010和0011按位与运算,前两位都为0所以结果的前两位也都是0,第三位都是1,所以结果的第三位也是1,第四位一个0、一个1,结果的第四位就是0,所以2&3的结果就是0010,即2

(4)或是按位或,形式是a|b;计算方式和按位与一样,唯一不同的是只要两位之中有一个1,那结果的相对应这一位就是1.

(5)异或是a^b;计算方式和按位与一样,而异或是,两位相同为0,不同为1.

以上就是常用的几种位运算。

点点赞赏,手留余香

0

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
善语结善缘,恶语伤人心
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容