您的位置:首页 > 编程语言 > C语言/C++

补.从零开始学习C语言--运算符补充(自增/自减、三目、逗号)

2013-06-20 13:20 344 查看
自增/自减 运算符

功能:操作对象自增或自减1;

(自减和自增用法一致,这里用自增的用法来说明)

分类:

前自增:++i

后自增:i++

前/后 自增的异同

相同:最终i的值都加1;

不同:后自增整体表达式的值是i加1前的值;

前自增整体表达式的值是i加1后的值;

举例说明:

k = ++i; 是先执行i=i+1,再执行k=i;

k = i++; 是先执行k=i;再执行i=i+1;

注意要点:

1.编程时,尽量屏蔽++i和i++的区别

如:尽量不要写k=i++,因为k=i++和k=++i有区别;

而for (i; i<100; ++i) 则推荐使用,因为这里的for (i; i<100; ++i)和for (i; i<100; i++) 没有区别。

2.自增应单独成语句,不要嵌套使用

如:int m = ++i + i++ + i; 这样写是不对的,不但是不规范的代码,而且是不可移植的代码,在不同的编译器的运行结果有可能不一样;

再如:prinft (“%d %d %d”,i++ ,++i, i); 这样写也不对,理由同上。

三目运算符

?:

格式:A ? B : C

功能:类似if语句的功能

if (A)

B;

else

C;

举例:i = (5>3 ? 10 : 20); 因为5>3成立,所以最终i的值等于10。

逗号表达式

格式:(A, B, C, D)

功能:从左向右执行

最终表达式的值为最后一项的值

注意:逗号是一种执行顺序点,即在遇到逗号时,逗号之前的表达式要执行完得到结果。

举例:

int i = 0;

int j = 1;

i = (j++, ++j, j+2, j-1);

最终i的值为2;执行进程为:

i = j++ >> i = 1 j = 2

i = ++j >> i = 3 j = 3

i = j+2 >> i = 5 j = 3

i = j -1 >> i = 2 j = 3
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: