c++中%和/的区别!!

供稿:hz-xin.com     日期:2025-01-13
c++中::和.使用有什么区别?

区别一:意思不同
1、.表示按位与操作。
2、::表示逻辑与的意思,即为and。
区别二:程序执行的时候不同
1、当运算符::两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。比如 12&&23的结果就是1,12::-1 的结果是1,123::0的结果就是0
2、我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。
区别三:::还具有短路的功能
如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str!=null::!str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException

扩展资料:
算术运算符和算术表达式
C ++中的算术运算符包括基本算术运算符和自动递增,自减的运算符。 由算术运算符,操作数和括号组成的表达式称为算术表达式。
基本的算术运算符为:+(加号),-(减号或减号),*(乘数),/(除法)和%(总计)。 其中“-”是一元运算符,当它是负号时,其余为二进制运算符。 这些基本算术运算符的含义与数学中相应符号的含义一致。 它们之间的相对优先级关系也与数学中的相对优先级关系一致,即乘法和除法,后加法和减法以及从左到右的相同级别的运算。
参考资料来源:百度百科-C++

c++中 . 和 -> 主要是用法上的不同。
1、A.B则A为对象或者结构体;
2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;
例如:
class student
{
public:
string name[20];
}
第一种情况,采用指针访问 student *xy,则访问时需要写成 *xy.name="hhhhh";等价于xy->name="hhhhh"。
第二种情况,采用普通成员访问 student xy,则访问时需要写成 xy.name="hhhhh"。

扩展资料
算术运算符与算术表达式
C++中的算术运算符包括基本的算术运算符和自增、自减运算符。由算术运算符、操作数和括号构成的表达式称为算术表达式。
基本算术运算符有:+(加)、-(减或负号)、*(乘)、/(除)、%(取余)。其中“-”作为负号时为一元运算符,其余都为二元运算符。这些基本算术运算符的意义与数学中相应符号的意义是一致的。它们之间的相对优先级关系与数学中的也是一致的,即先乘除、后加减,同级运算自左向右进行。

c++中 . 和 -> 主要是用法上的不同。

1、A.B则A为对象或者结构体;

2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;

例如:

class student

{

public:       

string name[20];

}

第一种情况,采用指针访问 student *xy,则访问时需要写成 *xy.name="hhhhh";等价于xy->name="hhhhh"。

第二种情况,采用普通成员访问 student xy,则访问时需要写成 xy.name="hhhhh"。

扩展资料

算术运算符与算术表达式

C++中的算术运算符包括基本的算术运算符和自增、自减运算符。由算术运算符、操作数和括号构成的表达式称为算术表达式。

基本算术运算符有:+(加)、-(减或负号)、*(乘)、/(除)、%(取余)。其中“-”作为负号时为一元运算符,其余都为二元运算符。这些基本算术运算符的意义与数学中相应符号的意义是一致的。它们之间的相对优先级关系与数学中的也是一致的,即先乘除、后加减,同级运算自左向右进行。



%是除法取余运算。
用于整数与整数运算。否则,不同的编译器会得不同结果。

'%'为取余运算符,用于把它前面的整数值或表达式除以其后面的整数值或表达式,结果为不能被后面的整数或表达式整除的最小整数,它后面的数值应该为大于1的正整数。如表中所示的"13%7",就表示13 除以7余6。

作为双目运算符,左右操作数可以是数值,也可以是表达式。

但'%'运算符的左右操作数必须是整数。

负数取余运算MS VC++ 编译器:
-4 % 6 = -4
6 % -4 = 2

/是除法运算
程序中的除法有考虑
比如
1/2 这个是整数除法,结果不是0.5, 而是0,即取了整数部分
1.0/2 这个才是0.5

如果想得到一个浮点数的结果,就要考虑让两个操作数至少有一个是浮点数,强行乘一个1.0也是一个办法
注意数据精度和强制类型转换

%是除法取余运算。
用于整数与整数运算。否则,不同的编译器会得不同结果。

'%'为取余运算符,用于把它前面的整数值或表达式除以其后面的整数值或表达式,结果为不能被后面的整数或表达式整除的最小整数,它后面的数值应该为大于1的正整数。如表中所示的"13%7",就表示13 除以7余6。

作为双目运算符,左右操作数可以是数值,也可以是表达式。

但'%'运算符的左右操作数必须是整数。

负数取余运算MS VC++ 编译器:
-4 % 6 = -4
6 % -4 = 2

/是除法运算
程序中的除法有考虑
比如
1/2 这个是整数除法,结果不是0.5, 而是0,即取了整数部分
1.0/2 这个才是0.5

如果想得到一个浮点数的结果,就要考虑让两个操作数至少有一个是浮点数,强行乘一个1.0也是一个办法

C++中%和/是不同的运算符。%是求余运算符,/是除法运算符。其中运算符/的操作对象可以是整数也可以是浮点数,但运算符%的操作对象只能是整数。求余运算返回它两侧的表达式相除后的余数,除法运算返回两侧表达式相除的结果。
例如: 17/5=3•••2, 这里17/5等于3,17%5等于2。

%是求模,即求余数 /是求商,例如5%2=1而后5/2=2

C++中+= -= *= \/= %=什么意思
a *=b 的意思是 a = a * b,意思与a+=b略同,b亦可指一个表达式。a \/=b 的意思是 a = a \/ b,意思与a+=b略同,注意,运算“\/”在C++中默认向下取整,若想设为向上取整可设为 a = ceil(a \/ b),b亦可指一个表达式。a %=b 的意思是 a = a % b,意思与a+=b略同,%...

C语言 运算符%是怎么运算的
1、%是求余运算符,也叫模除运算符,用于求余数。2、%要求两个操作数均为整数(或可以隐式转换成整数的类型),%是求余数的运算,例如7%2=1。3、举例:include<stdio.h> void main(){ int i=7;i=i%2;printf("%d\\n",i);} 运行结果如下图:4、%是运算符的一种其他运算符:(1)...

c语言中++等于什么?
将b的值取出再取出c的值,相加然后赋给b,存储在b开辟的内存空间中,类似的还有,b-=c、b*=c都是这个意思。这么写可以让执行优化,寻址a的地址一次即可,否则需要两次对a进行寻址。然而cpu的突飞猛进让这个优化在几十年前已经没有实际价值了,保留下来无非是因为语法兼容和程序员习惯。

C语言中算术运算符%,++,——,都是什么意思?能举例子说明吗?
C语言中,算术运算符“%”代表模(取余)运算,“++”代表变量自增运算,“--”代表变量自减运算。1、模运算“%”“模”是“Mod”的音译,模运算多应用于程序编写中。 Mod的含义为求余。模运算在数论和程序设计中都有着广泛的应用,从奇偶数的判别到素数的判别,从模幂运算到最大公约数的求法,...

C++中+= 是什么意思
从汇编的角度讲,i = i + 1 要比i += 1 消耗更多的时间和资源。现在的编译器考虑到了初学者容易犯这类错误,会自动将i = i + 1;这样的语句优化成类似i += 1;的形式。另外,自增1还有更简便的写法,即++i;,这种方式的效率等同i += 1;,但是篇幅更短。算术运算符:+(加)、-(减...

在C语言中,怎样用操作符表示一个数的开方?
1乘单个操作数,即任何数值前放置减号将改变其符号。模运算符“%”在C语言中也同它在其它语言中的用法相同。切记,模运算取整数除法的余数,所以“%”不能用于float和double类型。表2-5 算术运算符 运算符 作用 运算符 作用 - 减法,也是一元减法 模运算 + 加法 -- 自减(减1)乘法 ++ 自增(增...

%%%是什么运算符号?
(百分号)是 求余运算10%3=1 (10\/3=3···1)。算术运算 (arithmetic operators) 符号,就是用来处理四则运算的符号,这是最简单,也最常用的符号,尤其是数字的处理,几乎都会使用到算术运算符号。算术运算符 含义(示例)1、+(加号) 加法运算 (3+3)2、–(减号) 减法运算 (3–1) ...

c语言中各个运算符代表什么?就是++ —— ==啥的
下面按优先级列出了常用的每个运算符的名称,如果还有需要具体化的请提问:1级(左结合)() 圆括号;[]下标运算符;->指向结构体成员运算符;. 结构体成员运算符。2级(右结合)!逻辑非运算符;~按位取反运算符;++前缀增量运算符;--前缀减量运算符;+正号运算符;-负号运算符;(类型)类型转换...

c语言中的求余符号(%)是什么意思对%一点
是求余运算符,也叫模除运算符,用于求余数;要求两个操作数均为整数(或可以隐式转换成整数的类型)。标准规定:如果%左边的操作数为负数时,则模除的结果为负数或者0;如果%左边的操作数为正数时,则模除的结构为正数或者0。“c”为字符类型,其235对应二进制位0xFD,也就是-3的补码...

c\/ c++中&的优先级高于|||吗?
&& 的高 优先级【高到低】:第一级:圆括号【()】、下标运算符【[]】、分量运算符的指向结构体成员运算符【->】、结构体成员运算符【.】第二级:逻辑非运算符【!】、按位取反运算符【~】、自增自减运算符【++ --】、负号运算符【-】、类型转换运算符【(类型)】、指针运算符和取地址运算...