• main不是c++的关键字
  • C语言程序的基本单位是函数
  • 一个C程序的执行是从本程序的main函数开始,到main函数结束
  • 标识符这个字几乎与变量名同义地使用
  • image.png
  • image.png
  • C语言中,复合语句的构成是将一系列语句置于花括号“{ }”之间
  • image.png
  • image.png


  • 逗号表达式是有值和类型的

比如a = (2+3,3+5);那么a的值为8;类型看括号里的是什么类型,c++或c有默认的类型及转换规则。
若a = 23, a3; 那么a的值为6;因为赋值运算符的运算优先级大于逗号表达式
若a = (23, a3); 那么a的值为3a,因为()的优先级大于赋值

  • image.png

判断完了再 —,x变成4,输出完了再++,输出的还是4

逻辑与(&&)或(||)

按位与(&)或(|)异或(^)的那些事

运算规则->

逻辑与按位 全1才1** 有0则0
逻辑或按位
有1则1** 全0才0
按位异或 相同为0 **不同为1
&&
表示逻辑与,即and,当符号(&&)两边的结果都为真时,整个运算结果为真,如果有一边为假则结果为假。
通常表示为:
if(条件1 && 条件2)、while(条件1 && 条件2)等,&&属于短路操作,即如果第一个表达式为假,则不再计算第二个表达式。
另外:
(0 && 23)结果为0;(12 && -12)结果为1;
&
表示按位与,即
将 & 两侧的数用二进制展开,每一位都求与运算(二进制与运算,跟逻辑与差不多),最后得到的二进制数即为结果。&&与&区别在于&&(逻辑与)结果只讲真和假,而&(按位与)得出的确实一个实实在在的数。
例如:
(1&1)=0001与0001从低位到高位对应位做与运算,结果为0001,输出结果为1;
(5&9)=0101与1001从低位到高位对应位做与运算,结果为0001,输出结果为1;
||
表示逻辑或,即or,当符号 ( || ) 两边的结果有一个为真时,整个运算结果为真,两边都为假 ( 即两个条件均不满足 ) 则结果为假。
通常表示为:
if ( 条件1 || 条件2 )、while ( 条件1 || 条件2 ) 等
另外:
(0 || 23)结果为1;(12 && -12)结果为1;(0 || 0)结果为0;
|
表示按位或,即将 | 两侧的数用二进制展开,每一位都求或运算,最后得到的二进制数即为结果。|| 与 | 区别在于 || ( 逻辑或 ) 结果只讲真和假,而 | (按位或)得出的确实一个实实在在的数。
例如:
(5 | 9)=0101与1001从低位到高位每一位都做或运算,结果为1101,输出结果为13;
(7 | 5)=0111与0101从低位到高位每一位都做或运算,结果为0111,输出结果为7;
按位同或(⊙)
计算方法:
参加运算的两个数,换算为二进制(0、1)后,进行同或运算。只有当 相应位上的数字
相同时取1, 不相同为0。
按位异或(^)
计算方法:
参加运算的两个数,换算为二进制(0、1)后,进行异或运算。只有当 相应位上的数字
不相同时取1, 相同为0。
按位取反(~)
计算方法:
参加运算的两个数,换算为二进制(0、1)后, 0变1, 1变0。
~(010) = 101