Chinaunix首页 | 论坛 | 博客
  • 博客访问: 465454
  • 博文数量: 191
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 172
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-31 14:35
个人简介

没有时间把一件事情做好,却有时间把一件事情反复做!

文章分类

全部博文(191)

文章存档

2016年(2)

2015年(74)

2014年(111)

2013年(4)

我的朋友

分类: C/C++

2014-03-25 14:23:59

1.逻辑运算符

短路规则短路规则::

|| 从左向右开始计算,当遇到为真的条件 时停止计算,整个表达式为真;所有条件为假时表达式才为假。

&&从左向右开始计算,当遇到为假的条件 时停止计算,整个表达式为假;所有条件为真时表达式才为真。

  示例代码1:

#include  int main()
{ int i = 0; int j = 0; if( ++i > 0 || ++j > 0 )
    { printf("%d\n", i); printf("%d\n", j);
    } return 0;
}

 示例代码2:

#include  int g = 0; int f()
{ return g++;
} int main()
{ if( f() && f() )
    { printf("%d\n", g);
    } printf("%d\n", g); return 0;
} 

2.位运算符

  思考: c语言中为什么需要位运算符???

  image 

3.++和--运算符

  逗号表达式:从左向右顺序求值之后,最后一个表达式的值作为逗号表达式的结果。

  贪心法结合++和--的阅读技巧总结:

     1.编译器处理的每个符号应该尽可能多的包含字符;

     2.编译器从左向右顺序一个一个尽可能多的读入字符;

     3.当即将读入的字符不可能和已读入的字符组成合法字符为止;

示例代码3.1

#include  int main()
{ int i = 0; int j = ++i+++i+++i; printf("%d\n", j); return 0;
}
#include  int main()
{ int i = 3; int j = (++i)+(++i)+(++i); // 5+5+6 printf("%d\n", j); return 0;
}

4.优先级





image

隐式类型转换

  1.算术运算式中,地类型转换为高类型

  2.赋值表达式中,表达式的值转换为左边变量类型

  3.函数调用时,实参转换为形参的类型

  4.函数返回值是,return表达式转换为返回值类型

阅读(504) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~