C 运算符, 有符号数据运算,
1. b++运算
int a = ;
int b = ; 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 = ;
int b = ; 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 = ;
x = ;
y = x++ > ? : ;
printf("x=%d y=%d\n",x,y);
return ;
}
输出结果:
x=71 y=0
运算过程:
(1) . 式子 x++ 的值是 70 , 然后x自加 x=71
(2) . x++ > 70运算是错误的,所以y=0
例子2
int x=,y=;
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
例子:
#include <stdio.h> #define pro(x) (x*x) int main(int argc, const char *argv[])
{ int i=3,j,k;
j = pro(i++); // j = i++ * i++
k = pro(++i); // k = ++i * ++i
printf("j=%d\nk=%d\n",j,k);
return 0; } // j=12 k=49
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类型占一个字节
C 运算符, 有符号数据运算,的更多相关文章
- pyhton学习笔记(基础五:数据类型、数据运算)
数据类型初识 1. 数字 整数:2是一个整数的例子 长整数 不过是大一些的整数 3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3*10-4. (-5+4j ...
- python基础2(数据类型、数据运算、for循环、while循环、列表)
1.数据类型 python使用对象模型来存储数据,每一个数据类型都有一个内置的类,每新建一个数据,实际就是一个对象,即所有数据都是对象. 对象的3个特性: 身份:即内存地址,可以用id()来获取 类型 ...
- Python 基础篇:数据类型、数据运算、表达
1. 数据类型 1.1 数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-231-231-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取 ...
- 小白的Python之路 day1 数据类型,数据运算
一.数据类型初识 1.数字 2 是一个整数的例子.长整数 不过是大一些的整数.3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3 * 10-4.(-5+4j ...
- Python之旅Day1 数据类型初识(数字|字符串|列表|数据运算) 编码 表达式(if...else|for|while)
初识PYTHON Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum(吉多·范罗苏姆)于 ...
- python基础1之python介绍、安装、变量和字符编码、数据类型、输入输出、数据运算、循环
开启python之路 内容概要: 一.python介绍 二.安装 三.第一个python程序 四.变量和字符编码 五.用户输入 六.数据类型 七.一切皆对象 八.数据运算 九.if else 流程判断 ...
- python数据类型和数据运算
数字 整型 包括正整数和负整数,和数学的表示方法一样.如:1.100.8008.-12等. 浮点型 浮点数字也称为小数,如果按照科学计数法表示时,小数点的位置是可变的.如:1.23x109==12.3 ...
- python基础之变量类型和数据运算
一.变量的类型 程序中,为了更充分的利用内存空间以及更有效率的管理内存,变量是有不同的类型的. 怎样知道一个变量的类型呢? 在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了 ...
- Python基础(2)——列表、字典、数据运算
1.列表 #创建列表 name_list = ['alex', 'seven', 'eric'] #或 name_list = list(['alex', 'seven', 'eric']) #访问列 ...
随机推荐
- DevExpress v18.2新版亮点——DevExtreme篇(二)
行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍新版本新功能.本文将介绍了DevExtreme Complete Sub ...
- 初学者--oracle安装完后出现的一些问题
对于初学者安装数据库后,立马回运行数据库,看是否安装成功,但oracle安装完成,其中有些都是默认状态,所以需要手动修改和添加.例如这个问题 1.pl/sql developer was not te ...
- [server]阿里云服务器远程文件传输的解决方案
在今年6月份以前使用windows自带的远程桌面还可以畅快无阻地进行稍大文件的传输.但是后来就总是会蹦了.最近频繁使用,发现已经不能愉快地的传输文件了,就是挂载本地驱动器,只能传输很小,大概小于40M ...
- JDBC学习DayTwo
一.利用反射及JDBC元数据编写通用的查询方法 1.ResultSetMetaData 定义:描述ResultSet的元数据对象,即从中可以获取到结果集中有多少列.列名是什么. 获取 ResultSe ...
- Python机器学习(基础篇---监督学习(k近邻))
K近邻 假设我们有一些携带分类标记的训练样本,分布于特征空间中,对于一个待分类的测试样本点,未知其类别,按照‘近朱者赤近墨者黑’,我们需要寻找与这个待分类的样本在特征空间中距离最近的k个已标记样本作为 ...
- 编写一个求和函数sum,使输入sum(2)(3)或输入sum(2,3),输出结果都为5
昨天的笔试题,做的一塌糊涂,题目考的都很基础而且很细,手写代码对我来说是硬伤啊.其中有一道是这个,然而看到题目的时候,根本没有想到arguments:然后现在就恶补一下. arguments:用在函数 ...
- Qt终结者之粒子系统
前言 粒子系统用于模拟一些特定的模糊效果,如爆炸.烟火.雪花.水流等.使用传统的渲染技术实现粒子效果比较困难,但是使用QML粒子系统能十分方便的实现各种粒子效果,使你的界面更加炫酷,动感. QML中的 ...
- 虚机配置vip命令行配置
测试脚本:import osimport re import urllib from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler ...
- Centos7.4 防火墙配置
# service firewalld status; #查看防火墙状态 (disabled 表明 已经禁止开启启动 enable 表示开机自启,inactive 表示防火墙关闭状态 activate ...
- 路径定义前+r
定义文件路径时前面加个r 例如 firstfolder = r"C:\Users\1261\Desktop\" 不对其中的符号进行转义