博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C 运算符, 有符号数据运算,
阅读量:7294 次
发布时间:2019-06-30

本文共 1400 字,大约阅读时间需要 4 分钟。

1.  b++运算

int a = 0;int b = 1;a = b++ + b++; printf("a=%d\n",a); printf("b=%d\n",b);

输出结果:

a=3

b=3

运算过程 : (b++的运算是先运算, 后自加)

(1) . 先把第一个b++看成 x=b++ ,  则 x=1,b=2 ;  第二个 b++ 看成 y=b++ , y=2, b=3

(2) . a=x+y  a=3

 

2 . ++b运算

int a = 0;int b = 1;a = ++b + ++b;printf("a=%d\n",a);printf("b=%d\n",b);

输出结果:

a=6

b=3

运算过程: (++b操作先自加, 后运算)

(1) . 把第一个 ++b  后 b=2 ;  第二个  ++b  后 , b=3 , 因为式子 ++b同优先级所以 , 式子 ++b 的结果是3 , 所以a=6

扩展 : a  =  ++b  +  ++b  +  ++b;

计算过程:

首先运算符 + 是双目运算符 , 则只能先计算前两个 ++b 的内容 有了前两个的结果 , 在结合后面的 + ++b

 

 

3. ++运算结合三目运算符

例子1

int main(int argc, char** argv){  int x, y = 25;  x = 70;  y = x++ > 70 ? 100 : 0;               printf("x=%d  y=%d\n",x,y);  return 0;   }

输出结果:

x=71   y=0

运算过程:

(1) . 式子 x++ 的值是 70 , 然后x自加 x=71

(2) . x++ > 70运算是错误的,所以y=0

 

例子2

int x=10,y=9;int a,b,c;a = (--x==y++) ? --x : ++y;b=x++;c=y;

运算结果: a=8, b=8, c=10

运算过程: 

(1) . 首先判断   ( --x == y++ )  式子 --x 的值是 9 , 式子 y++ 的值是 9  , x=9 , 有= 10, 这个判断是正确的

(2) . 判断式子正确 会执行 ? 后的 --x , x=8

(3) . 式子 x++ 是先赋值 x 的值 , 在进行 x 自加 1

 

 

4 .  逗号运算符

float x=10.5,  y=1.8, z=0;

z = (x=5, y = 6, x+y);   z赋值为 11 ,   x赋值为 5 ,   y赋值为6

z = x=5, y = 6, x+y      这个式子的结果为11 , x 为5 ,  z 为 5 , y 为 6

 

 5 . sizeof() 运算符   sizeof(<类型或变量名>)

 求所占的字节数

char buf[] = "hello";           sizeof(buf) 结果为6 , 字符串hello结尾有一个 \0

char buff[10] = "hello";      sizeof(buff) 结果为10 数组的长度固定为10 个字节

       char *p = 0;                sizeof(p); 结果为 4  , 32位机上指针的占4个字节

    sizeof(char);                  结果为1, char类型占一个字节

 

转载于:https://www.cnblogs.com/electronic/p/10769840.html

你可能感兴趣的文章
iOS开发系列--让你的应用“动”起来
查看>>
Web项目中文件上传Filter处理
查看>>
Gradle常用配置
查看>>
LVM 使用详解
查看>>
驰骋工作流程底层的API开发接口-重要的
查看>>
如何防止无线网络被破解
查看>>
苹果发布被拒绝的种种惨剧
查看>>
Install Apache in Linux
查看>>
安装CocoaPods
查看>>
websocketd 实现浏览器查看服务器实时日志
查看>>
SVN服务器与客户端的配置
查看>>
HBase图文详解
查看>>
自定义FragmentTabHost实现可控制是否保存fragment状态
查看>>
Java并发编程之:Vector和ArrayList的区别
查看>>
在Linux上安装PostgreSQL
查看>>
理解HTTP session原理及应用
查看>>
交换机
查看>>
thinkPHP开发基础知识 包括变量神马的
查看>>
Yii2.0实现微信公众号后台开发
查看>>
php扩展安装
查看>>