移动学习网 导航

&在C语言中是什么意思 C语言中EOF是什么意思?

2024-05-23m.verywind.com
C语言中&amp是什么意思~

&&是“与”运算,只有当两个操作数同时为真时,“与”运算的结果才是真;否则,都为假;eg:56&&105结果为真,用1表示;
&若出现在变量的前面,它是个地址符,就是取地址的意思;否则,若出现在两个操作数之间,则是位运算操作符;即将每个操作数转换成对应的二进制数,然后对每一位进行与运算;eg:21&13==10101&01101==00100
10101
01100
--------------
00100

首先这个代码scanf能写while里是因为scanf(“%d%d”)!=EOF本身是个逻辑判断,也就是真或者假,所以可以作为条件判断写到while里,也就是说EOF就是个数字,被定义为-1而已。
在我们进行包括scanf等的输入函数使用时,其实用户在cmd中的输入实际是存放于缓冲区当中,当用户键入回车那一瞬间,之前输入的数据才会被存进去,而这里无论是单个字符还是字符串,scanf的返回值呢是表示成功接受到的对象的个数。
那这里如果遇到特殊情况,比如缓冲区文件流满等问题,那么scanf将会被返回-1,这里不光是scanf,返回值为个数的函数,遇到文件流满大多都会返回-1,所以这个-1用的比较多,那么stdio.h就索性专门定义一个宏来表示,取EndOfFile(文件末尾的意思)的前三个字母即组成EOF,所以也就有了#defineEOF(-1)这样的话。

&在c语言中是逻辑与的意思。
&是逻辑语言,逻辑上表示两者属于缺一不可的关系,还可以表示一个人和另外一个人之意,与and同义。如A&B,表示A与B,A和B,A×B。
在C语言中,&有三种作用,分别如下:
1、取地址。单目运算符。用来取一个变量的地址。
2、位操作中的与操作运算符。
也就是常说的and操作,双目运算符。
计算的时候按位计算,&两边操作数对应位上全为1时,结果的该位值为1,否则该位值为0。
3、当两个&&一起用的时候,表示为逻辑运算中的与运算。
逻辑运算结果只有0和1两种结果。
一般在&&两边是两个逻辑表达式。
当两个表达式值均为1时,&&运算结果为1,否则为0。

通常我们说话是加&表示“与”,比如Jake
&
Tom,C语言里&较为基础的一个使用就是“按位与”,它用在数据与数据之间进行运算(注意,它与【逻辑与】“&&”不同),比如十六进制a=0x10&0x01=0x00,而逻辑与的结果则是a=0x10&&0x01=1(TRUE);
第二个就是作为取地址符,这时候他用于数据的前面,比如int
a=&b;
C++里还使用&作为引用符,如果你确认程序是标准的C而非C++的话,那么可以排除是引用了。引用也用于数据前面,它只在定义和声明时使用,如int
&othername=name;
int
&a=b;
//定义时使用在等号左侧,是引用
int
*a=&b;
//在等号右侧,并单独在数据之前,是取地址
int
a=(&b)
&
0xffff;
//第一个&是用于取b的内存中的地址,第二个&是按位与,即保留b地址值的低16位,高16位数值被清零(32位处理器下).

通常我们说话是加&表示“与”,比如jake
&
tom,c语言里&较为基础的一个使用就是“按位与”,它用在数据与数据之间进行运算(注意,它与【逻辑与】“&&”不同),比如十六进制a=0x10&0x01=0x00,而逻辑与的结果则是a=0x10&&0x01=1(true);
第二个就是作为取地址符,这时候他用于数据的前面,比如int
a=&b;
c++里还使用&作为引用符,如果你确认程序是标准的c而非c++的话,那么可以排除是引用了。引用也用于数据前面,它只在定义和声明时使用,如int
&othername=name;
int
&a=b;
//定义时使用在等号左侧,是引用
int
*a=&b;
//在等号右侧,并单独在数据之前,是取地址
int
a=(&b)
&
0xffff;
//第一个&是用于取b的内存中的地址,第二个&是按位与,即保留b地址值的低16位,高16位数值被清零(32位处理器下).

&是一个取地址符。比如:scanf("%d",&a);表示的就是将我们输入的值传递到a的地址,然后函数中也有这样的用法,比如
s=
a(&b);表示的是S等于a这个函数返还的值,同时a调用了b的地址。这是用在指针里的。

按位取反的意思,比如a=1100,b=~a;那么b=0011;你得把~和!区分开。!是逻辑取反,例如a=0011,由于a不等于0,所以a在逻辑上是1,b=!a,则b=0;

户户网菜鸟学习
联系邮箱
返回顶部
移动学习网