黑马程序员技术交流社区

标题: iOS开发C语言基础之运算符 [打印本页]

作者: Lxy    时间: 2014-10-11 12:38
标题: iOS开发C语言基础之运算符
运算符
1、命令窗口卡住后用control+c退出
2、取余运算(就是模运算),%操作数都是整数,
int e = -10 % 3   e=-1
int e = -10 % -3   e=-1
int e = 10 % -3   e=1
%取余结果的正负性只跟%左边的数值有关
3、自动类型转换,强制类型转换(type)
参与运算数据类型是什么类型,结果就是什么类型
10/3    3
int c = 10/3   3
double  c = 10/3  3.000000
所以10/3结果就是3,如果赋值就看什么类型再转换
double c = 10.0/3    3.333333
double c = (double)10/3  3.333333
double c = (double)(10/3)  3.000000


4、 int c = a ?10
?为%时,c的结果不超过10,结果为0~9


5、a += 5 + 6 + 4;  // 相当于a =a + (5 +6 + 4);
6、int a =10;
     b =  (a++) + (++a);   // a=12  b=22
     b = (10) +(12)=22;  //“+”结合方向是从左到右
      // 10 — >11    11— >12
7、sizeof(变量\常量);返回字节数。sizeof 常量\变量 ,去掉括号也行;
     sizeof(double)结果为8   ,但是sizeof double 语法不通过(数据类型)
8、C语言没有布尔类型,任何非0值都为真,只有0才为假。关系运算符运算结果只有两种,1和0,代表真和假。
2==3>1 先计算3>1,得1,2==1得0 ,结果为0
4>3>2结合方向为从左往右,结果为1>2得0
3+4>8-2   (3+4)>(8-2) 得1  ,算术运算符优先级高于关系运算符,优先级不用死背。
9、逻辑运算应用登陆QQ时,当用户名和密码都为1时,点击登陆后才成功。
逻辑值只有1和0即真和假。
逻辑与&&计算时,左边为假时,右边不计算(在性能优化时用到),当左边为真时,才计算右边,
int a =10;
int b =10;
int c = (a>5) &&(++b>=11)    //结果10 11 1
int c = (a<5) &&(++b>=11)    //结果10 10 0
逻辑或“||”计算时,同上原理
int a =10;
int b =10;
int c = (a>5) || (b++ - 11)    //结果10 10 1  注意左边为真,右边不计算
int c = (a<5) || (b++ - 11)    //结果10 11 0

逻辑非“!”
int a = !10;  //结果为0  ,任何数值都有真假性。
int a = !!10;  //结果为1
10、三目运算符
        int a = 100 ? 1 : 2   //结果为1
代码少不代表性能高,程序的可读性重要。








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2