当前位置: 首页 > news >正文

c 语言中逻辑运算符使用方法,C语言的逻辑运算符的使用

逻辑运算符使用分析

&&和||

1、程序中的短路

短路规则

||从左向右开始计算当遇到为真的条件时停止计算整个表达式为真所有条件为假时表达式才为假。

&&从左向右开始计算当遇到为假的条件时停止计算整个表达式为假所有条件为真时表达式才为真

2、三目运算法

a

返回的是变量的值而不是变量c++在这里进行了改进返回的是这个的引用。

*(a

五位运算

C语言号称高级语言为什么支持位运算

在嵌入式开发中会经常与外部链接串口和并口很需要位运算的

1、按位与2&3010&011=010

2、按位或2|3010|011=011

3、按位异或2^3010^011=011

有结合律和交换律

4、左移和右移注意点

左移运算符<

规则高位丢弃低位补0

5、右移运算符>>把运算数的二进制位右移

规则高位补符号位地位丢弃

6、防错准则

避免位运算符逻辑运算符和数学运算符同时出现在一个表达式中

当位运算符逻辑运算符和数学运算符需要同时参与运算时尽量使用括号()来表达计算次

位移的大小不能大于输的长度且不能为负的

7、Tips

左移n位相当于乘以2的n次方但效率比数学运算符高

右移n位相当于除以2的n次方但效率比数学运算符高

8、交换变量的三种方式

#defineSWAP1(a,b)\

{\

inttemp=a;\

a=b;\

b=temp;\

}

#defineSWAP2(a,b)\

{\

a=a+b;\

b=a-b;\

a=a-b;\

}//比第一种少用了一个变量,当a和b很大的时候会溢出

#defineSWAP3(a,b)\

{\

a=a^b;\

b=a^b;\

a=a^b;\

}//效率最高但只适合整形(a^a)^b=b

试题有一个数列其中的自然数都是以偶数的形式出现只有一个自然数出现的次数为奇数次。编写程序找出这个自然数。

方法一将数列排序排序后去读取一旦奇数个就跳出

方法二用空间换时间先找到最大的数n然后申请n个空间,把数组清零

然后用循环for(...)b[a[i]]++;最后遍历数组的大小一但是奇数就返回。

方法三用按位异或不断的消除最后只剩下一个就是要的答案

#include

Intmain()

{

Inta={1,1,1,2,3,4,5,6,5,6,4,3,2};

Inti=0;

Intfind=0;

For(i=0;i

Find=find^a[i];

Printf(“%d\n”,find;

Return0;

}


http://www.taodudu.cc/news/show-6309794.html

相关文章:

  • C语言运算符逻辑运算符位运算符
  • 如何用c语言编程逻辑运算符,c语言逻辑运算符的优先级是怎样的
  • 逻辑运算符及其优先级,C语言逻辑运算符及其优先级详解
  • c语言2逻辑与2是1吗,2.C语言逻辑运算符和表达式
  • 如何插入文献及交叉引用
  • word交叉引用、连续多文献引用等
  • 论文中的交叉引用
  • C++交叉引用问题
  • Excel交叉引用及其应用实例
  • C++类的交叉引用问题
  • word中的交叉引用
  • 【threeJS】纹理贴图
  • 基于VC++的3D地形绘制与纹理贴图
  • ReactHooks——使用lodash中的throttle
  • vue中如何使用节流(throttle)函数
  • throttle/debounce应用及原理
  • debounce、throttle、useDebounce、useThrottle
  • js实现 throttle 和 debounce
  • ‘underscore系列之throttle“‘
  • throttle在程序中的作用
  • debounce与throttle区别
  • 关于IO throttle
  • Python -- 限流 throttle
  • 函数的节流(throttle)
  • js 中 throttle 的实现
  • JavaScript 节流函数 throttle 详解
  • 节流(Throttle)与防抖(Debounce)区别与demo实现+ 图解
  • 网络分层,图,易懂--对应 应用层、数据传输层、网络层、数据链路层
  • 【图论基础】分层图
  • 数据分层(方法论)