c语言位运算_C语言自增减、逻辑运算、位运算、位移运算及三目运算操作
你崩溃到凌晨,她和他睡到自然醒。。。
---- 网页云热评
一、自增自减操作
#include int main() { int val = 0, val1 = 0; ++val; //前操作 printf("val是%d\n", val); val++; //后操作 printf("val是%d\n", val); val1 = ++val; //前自增表达式作为数字使用的时候是自增以后的数字 printf("val是%d,val1是%d\n", val, val1); val1 = val++; //后自增表达式作为数字使用的死后是自增以前的数字 printf("val是%d,val1是%d\n", val, val1); val++ + ++val; //结果不确定,不要在一条语句里对同一个变量多次进行自增或自减计算 return 0;}运算结果:val是1val是2val是3,val1是3val是4,val1是3
二、逻辑操作符
int val = 0; printf("!8是%d\n", !8); printf("3 < 7 < 5是%d\n", 3 < 7 < 5); //先计算前面的 printf("3 < 7 && 7 < 5是%d\n", 3 < 7 && 7 < 5); 1 || ++val; //因为||具有短路特征,前面的1可以决定整个逻辑表达式的结果,所以没有进行后面的自增计算 printf("val是%d\n", val); 0 && ++val; //因为&&具有短路特征,前面的0可以决定整个逻辑表达式的结果,所以没有进行后面的自增计算 printf("val是%d\n", val); system("pause");运算结果:!8是03 < 7 < 5是13 < 7 && 7 < 5是0val是0val是0
三、位运算
#include int main() { printf("3 & 5是%d\n", 3 & 5);//0与任何数与运算都是0 printf("3 | 5是%d\n", 3 | 5);//1与任何数或运算都是1 printf("3 ^ 5是%d\n", 3 ^ 5);//异或运算,相同为0,不同为1 return 0;}运行结果:3 & 5是13 | 5是73 ^ 5是6//变量内容交换#include int main() { int val = 3, val1 = 7, tmp = 0; /*tmp = val; val = val1; val1 = tmp;*/ val ^= val1; val1 ^= val; val ^= val1; printf("val是%d, val1是%d\n", val, val1); return 0;}运算结果:val是7, val1是3
四、位移操作
#include int main() { printf("10 << 2是%d\n", 10 << 2); //左移2位相当于乘4 printf("10 >> 2是%d\n", 10 >> 2);//右移2位相当于除4取整 return 0;}运行结果:10 << 2是4010 >> 2是2
五、三目运算
#include int main() { int val = 0; printf("请输入一个数字:"); scanf("%d", &val); val = val >= 0 ? val : 0 - val;//val>=0为条件,如果真,返回val,若果假,返回0-val //val >= 0 ? val = val : val = 0 - val; 不要在问号后使用赋值操作符 printf("绝对值是%d\n", val); return 0;}
欢迎关注公众号:顺便编点程
c语言位运算_C语言自增减、逻辑运算、位运算、位移运算及三目运算操作相关推荐
- 7——条件判断、三目运算、条件循环、迭代循环
条件语句 语法结构: if 判断语句1:执行语句1elif 判断语句2:执行语句2else:执行语句 三目运算 a = 3 if a > 5:print(True) else:print(Fal ...
- c语言链表查找的代码与题目,链表的C语言实现之单链表的查找运算_c语言
建立了一个单链表之后,如果要进行一些如插入.删除等操作该怎么办?所以还须掌握一些单链表的基本算法,来实现这些操作.单链表的基本运算包括:查找.插入和删除.下面我们就一一介绍这三种基本运算的算法,并结合 ...
- [C语言]ternary conditional operator (三目运算)
[C语言]ternary conditional operator (三目运算) 形式:op1 ? op2 : op3 [例如1] int x=5; (x>10)?2x:3x; [结果为]15 ...
- Java 基础 之 三目运算
http://www.verejava.com/?id=16992606159717 public class Operation6 {public static void main(String[] ...
- 三目运算法求一个大值,以及指定位数的应用,以及函数的声明,以及函数的嵌套,以及函数的递归,以及用递归法求阶乘
1.三目运算法 首先一般方法比较两个数的大小 用空格和回车都一样 当结果非x即y的时候 我们可以用三目运算法 z=x>y?x:y 如果表达式成立取前面的值,如果表达式不成立取后面的值 也可以改成 ...
- 隐式转换、IF判断、逻辑【与、或、非】、三目运算的用法(基础)
1.0 隐式转换 隐式转换 => 隐式的转换数据类型 => js机制(原理),不是语法.判断 => 语法 隐式转换什么时候发生? 操作符对操作数的类型是有要求的,如果操作数的 ...
- :src 三目运算
<img :src="index==0?'../img/xz_ok.png':'../img/xz_no.png'" /> 绑定照片 <li v-for=&qu ...
- Python基础day02【if结构、if elif 结构、while循环、for循环、Break和continue、Debug 调试、三目运算、循环 else 结构】
视频.源码.课件.软件.笔记:超全面Python基础入门教程[九天课程]博客笔记汇总表[黑马程序员] Python基础day02 作业解析[6道 if 判断题.9道 循环题] 学习目标: 能 ...
- 使用三目运算嵌套方法 或 临时变量方法: 获取三个整数中最大值的数
package day; import java.util.Scanner; public class Test_11 { // 练习 键盘录入三个整数 比大小 获取最大值 public static ...
最新文章
- kvm虚拟机vnc配置
- 深入探究系统中的输入输出管理
- Spring、Spring Boot和TestNG测试指南 - 测试关系型数据库
- linux mount 挂载U盘
- 部署Rsync服务器-差异化数据同步
- OpenSSL“心脏出血”漏洞
- 大二生活之致给影响我最大的大学老师,我和老师的一些事
- c语言中嵌套循环的作用,C语言中n层循环嵌套实现
- nginx 启动报错 “/var/run/nginx/nginx.pid“ failed” 解决方法
- 电脑课装b专用代码_JavaScript无形装X,最为致命
- JS - Object and Property的删除用法
- 为什么日本是世界上少有的“100V电压国家”,并且就连国内都不能统一供电频率?
- CPA十二--外币会计报表折算的方法(转载)
- 燕云台的滑铁卢——豆瓣的营销推广价值
- outlook 服务器未响应,出现错误,Outlook 无法设置你的帐户
- 简单认识向上转型和向下转型
- 阿里生态项目加入Activiti7遇到初始化异常的问题
- 找出网络中的“三聚氰胺”
- 分销小程序开发教你如何分清分销商和代理商
- Goolge浏览器预览markdown文件