正文开始——
操作符的分类
算术操作符:+、-、*、/、%
移位操作符:>>
位操作符:&、|、^
立即学习“C语言免费学习笔记(深入)”;
赋值操作符:=、+=、-=、*=、/=、%=、>>=、&=、!=、^=
单目操作符:!、++、--、&、*、+、-、~、sizeof、(类型)
关系操作符:>、>=、
原码、反码、补码【重点】
整数的二进制表示方法有三种:原码、反码、补码。
有符号整数的三种表示方法均有符号位和数值位两部分,二进制序列中,最高位的1位被视为符号位,剩余的都是数值位。
符号位用0表示“正”,1表示“负”。
正整数的原码、反码、补码都相同。
负整数的三种表示方法各不相同。
原码:直接将数值按照正负数的形式翻译成二进制得到的就是原码。
反码:将原码的符号位不变,其它位依次按位取反就可以得到反码。
补码:反码+1得到补码。
补码——>原码:取反,+1。
对于整形来说,数据是以补码的形式存放在内存中的。
为什么?
移位操作符 >> 右移操作符
【注】移位操作符的操作数只能是整数。
3.1 左移操作符移动规则:左边抛弃,右边补0(移动的是存储在内存中的二进制位)
3.2 右移操作符 移动规则:右移运算分两种
逻辑右移:左边用0填充,右边丢弃
算术右移:左边用原该值的符号位填充,右边丢弃
【注】对于移位操作符,不要移动负数位,这个是标准的未定义的。
例如:
int num = 0; num >> -1;
位操作符:&、|、^、~
【注】它们的操作数必须是整数。
练习1:不能创建临时变量(第三个变量),实现两个整数的交换。
单目操作符
单目操作符见下
逗号表达式
逗号表达式,就是用逗号隔开的多个表达式。
逗号表达式,从左向右依次执行。表达式的结果是最后一个表达式的结果。
int a=1; int b=2; int c=(a>b,a=a+b,a,b=a+1); //求 c 值 if(a=b+1,c=a/2,d>0) a = get_val(); count_val(a); while(a>0){ //... a = get_val(); count_val(a); } 用逗号表达式改写如下 while(a = get_val(),count_val(a),a>0){ //... }
完——
以上就是【C语言】操作符(上)的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号