C语言&,&&,|,||

---------------------------------------------------------------------------&

在C语言中,&有三种作用,分别如下:

1. 取地址。单目运算符。用来取一个变量的地址。

比如

int i, *p;p = &i;   这里的&作用是取变量i的地址。

scanf("%d,%d",&a,&b)把接收的字符或数据存放在a和b中。

2. 位操作中的与操作运算符。

也就是常说的and操作,双目运算符。

计算的时候按位计算,&两边操作数对应位上全为1时,结果的该位值为1。否则该位值为0

比如

2.1

0x12&0x23 转为二进制为:

&按位与运算:

B00010010&B00100011,

B00010010

B00100011

B00000010

即结果为0x02。

2.2

按位与运算:00000011(2)&00000101(2)

00000011    3

00000101    5

00000001(2)  1

#include

main()

{

int a=3;

int b = 5;

printf("%d",a&b);

}

2.3

按位与的用途:(清零位取0)

1)清零若想对一个存储单元清零,即使其全部二进制位为0,只要找一个二进制数,其中各个位符合一下条件:

原来的数中为1的位,新数中相应位为0。然后使二者进行&运算,即可达到清零目的。例:原数为43,即00101011(2),另找一个数,设它为148,即10010100(2),将两者按位与运算:

00101011(2)&10010100(2)

00101011  43

10010100  148

00000000(2)

#include

main()

{

int a=43;

int b = 148;

printf("%d",a&b);

}

2)保留指定位:(保留位取1)

与一个数进行“按位与”运算,此数在该位取1.例如:有一数84,即01010100(2),想把其中从左边算起的第3,4,5,7,8位保留下来,运算如下:01010100(2)&00111011(2)

01010100  84

00111011  59

345 78

00010000(2)

#include

main()

{

int a=84;

int b = 59;

printf("%d",a&b);

}

3. 当两个&&一起用的时候,表示为逻辑运算中的与运算。

逻辑运算结果只有0和1两种结果。

一般在&&两边是两个逻辑表达式。

当两个表达式值均为1时,&&运算结果为1,否则为0。

比如

2>1 && 0<1 这个的值为1&&1 = 1。

1>2 && 2>0 这个值为0&&1 = 0。

1>2 && 2>3 这个值为0&&0=0。

---------------------------------------------------------------------------&&

#include

main()

{

int a;

int b=30;

a=b>10&&b<60;//获取&&的值

printf("%d",a);

}

1

#include

main()

{

int a;

int b=80;

a=b>10&&b<60;//获取&&的值

printf("%d",a);

}

0

---------------------------------------------------------------------------|

|按位或运算:

即0|0=0

1|1=0

0|1=1

1|0=1

00110000|00001111

00110000

00001111

00111111

---------------------------------------------------------------------------||

#include

main()

{

int a;

int b=30;

a=b>10||b<60;//获取||的值

printf("%d",a);

}

1

#include

main()

{

int a;

int b=80;

a=b>10||b<60;//获取||的值

printf("%d",a);

}

1

#include

main()

{

int a;

int b=80;

a=b<10||b<60;//获取||的值

printf("%d",a);

}

0

(0)

相关推荐

  • 如何启用Word2010中"自动切换键盘以匹配周围文字的语言"功能

    在Word2010文档中,用户可以启用“自动切换键盘以匹配周围文字的语言”功能。当用户将鼠标光标移动到西文字符的段落中时,键盘布局将自动更改为与光标位置相邻文本的语言相匹配的语言。该功能仅适用于西文字 ...

  • ASP.NET MVC实现功能:通过URL路由实现对多语言的支持

    对于一个需要支持多语言的Web应用,一个很常见的使用方式就是通过请求地址来控制界面呈现所基于的语言文化,比如我们在表示请求地址的URL中将 上语言文化代码(比如en或者en-US)来指导服务器应该采用 ...

  • 微信怎么更改语言设置?微信多语言设置

    想突出自己的个性吗?想让自己与别人雨中不同吗?从字体开始,繁体字、英语等语言可以体现一个人的文化程度哦。那么微信怎么更改语言设置?下面小编就为大家带来微信多语言设置方法,一起来看看吧! 1)首先打开【 ...

  • 微软Win8系统语言设置技巧如添加或更改输入法等等

    在Win8系统中,可以在电脑设置常规选项页面,点击“语言首选项”进入语言设置页面,可以进行添加或更改输入法、键盘布局和语言。 图1 电脑设置常规页面 在语言设置页面,更改语言首选项中,可以选择“添加语 ...

  • Win8系统语言设置技巧之如何添加输入法

    对于刚刚接触Win8系统的朋友,在使用上可能会有点不习惯,但是熟悉Win8系统之后,你会发现Win8系统中还有很多方便快捷的操作技巧。今天,主要介绍Win8系统中语言设置技巧。在Win8系统中,可以在 ...

  • windows7系统怎么添加多国语言包具体步骤

    首先我们在开始菜单中找到Windows Update 然后我们可以在可选更新处发现有34个更新可用,点击进入 这里就可以发现所有可以使用的语言包,然后勾选你需要的语言包,然后点击确定 现在我们点击安装 ...

  • win8.1update如何安装简体中文语言包

    win8.1update简体中文语言包安装教程: 一、在线下载安装语言包 1、登录Win8.1 Update系统,打开这台电脑(This PC),选择顶部工具栏的控制面板(Control Panel) ...

  • 轻松搞定Windows8系统中的多种语言的添加

    无论你是精通多种语言,还是只需要完成外语作业,都可以使用Windows 8以多种语言进行阅读和输入。在某些国家或地区,你可以购买已经预安装多种语言的电脑。如果你所需的语言没有预安装,你可以手动进行添加 ...

  • MYSQL-Front中文多语言版图文使用教程

    一款小巧的管理Mysql的应用程序.主要特性包括多文档界面,语法突出,拖拽方式的数据库和表格。 可编辑/可增加/删除的域,可编辑/可插入/删除的记录,可显示的成员,可执行的SQL 脚本,提供与外程序接 ...

  • 电脑任务栏中没有语言栏的解决方法

    问:我的电脑任务栏中没有语言栏,我在工具栏中的语言栏选项上已经选中显示语言栏,但问题依旧,除了使用搜狗外不能打字,用“Ctrl+Shift”无法切换输入法,应该怎么解决呢?谢谢! 答:这应该是“cft ...