c++语言运算符,c语言算术运算符
1.算术运算符-*/%
注:/除法的结果是商,%模的结果是余数。
int num 1=5/2;//=2
int num 2=5% 2;//=1如果除法需要小数,那么运算符“/”只需要除法两边中的一边是浮点数即可。
float num 1=5/2.0;//=2.500000%模运算符两边不能有浮点数。
double num 1=5% 3.0;//错误2。移位运算符(只能处理整数)右移位运算符左移位运算符
右移位运算符规则1。算术右移右弃,左原符号位(多数编译器采用)2。逻辑右移右弃,左补0\右移运算符规则int a=15
int b=a 1;//向右移动一位
//a的原码=补码=补码
//原代码0000000000000000000000000000000000000000000000000
//移位00000000000000000000000000000000000000的整数的二进制表示为:正整数的原码、反码、补码相同。
存储在内存中的整数是补码。
int num=-1;
//原代码100000000000000000000000000000000000000001-按十进制换算。
//反码1111111111111111111111111111111111110-符号位不变,其他位反。
//补码1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111警告:对于移位运算符,不要移动负数。标准未定义。
int num=10
num-1;//错误3。位运算符(只能应用于整数)按位对应规则。如果一位为0,两位为1,则为1。//按位AND
int a=3;
int b=5;
int c=a b;
//000000000000000000000000000000011-a
//0000000000000000000000000000000101-b
//0000000000000000000000000000001-ab 按位或规则对应的二进制位如果其中一个为1,两个为0//按位或
int a=3;
int b=5;
int c=a b;
//000000000000000000000000000000011-a
//0000000000000000000000000000000101-b
//000000000000000000000000000000111-a b按位异或规则对应的二进制位与0相同,但与1不同//按位异或
int a=3;
int b=5;
int c=a ^ b;
//000000000000000000000000000000011-a
//0000000000000000000000000000000101-b
//000000000000000000000000000000010-A B//一个面试问题
//交换两个变量,不能创建临时变量。
int a=3;
int b=5;
//1.加法和减法
a=a b;
b=a-b;
a=a-b;
//2.异或方法
a=a ^ b;
//011 - a
//101 - b
//110 - a=a ^ b
b=a ^ b;
//110 - a
//101 - b
//011 - b=a ^ b
a=a ^ b;
//110 - a
//011 - b
//101-A=A B4。赋值运算符简单赋值器:=
复合分配器:=*=/=-=%====
int a=12
int b=13
//连续转让人
int c=b=a 4;//=b=a 4;c=b;5.单目算子的意思是:只有一个算子
!(取方法)-(负值)(正值)(取地址运算符)
*(解引用运算符)sizeof(计算大小,单位字节)
//!
int a=0;
如果(!答
{
printf(哈哈);
}
//-
int b=-1;
//
int c=1;
//和*
int * p=c;
* p=12
//sizeof
int arr[10];
sizeof(a);//计算的大小
sizeof(b);//计算b的大小。
sizeof(arr);//计算数组的大小
sizeof(int[10]);//计算为10个整数数组的大小
sizeof(int);//计算整形类型的大小
sizeof(char);//计算字符类型的大小
.6.关系运算符==!=(判断是否不相等)==(判断是否相等)
注意:==和=不能乱用。
7.逻辑运算符逻辑与
逻辑或
//逻辑与
1表情2;//只要两个表达式中有一个为假,逻辑AND运算的结果也为假
(1 12) 0;//=0
12 (0 1);//=1
//逻辑AND当运算符左边的表达式运算结果为false时,右边的表达式不在运算中。
//逻辑或
1表情2;//只要两个表达式中有一个为真,逻辑AND运算的结果也为真。
(1 12) 0;//=1
12 (0 1);//=1
0 0;//=0
//逻辑AND当运算符左边的表达式运算结果为真时,右边的表达式不在运算中。
//一个面试问题
#包含stdio.h
int main()
{
int i=0,a=0;b=2,c=3,d=4;
I=a b d;
printf(a=%d,b=%d,c=%d,d=%d ,a,b,c,d);
返回0;
}
//前置:先算,在用。
//postscription:首先使用它,在操作8中。条件运算符表达式1?表情2:表情3
如果表达式1的评估结果为真,则表达式2将被运算。
如果表达式1的评估结果为假,则将运算表达式3。
//条件运算符
int max=a b?甲:乙;
//=相当于
如果(a b)
{
a;
}
其他
{
b;
}9.逗号表达式表达式1,表达式2,表达式3.
逗号表达式,从左边开始执行一次。整个表达式的结果就是左边最后一个表达式的结果。
.
int a=1,b=3,c=0;
c=(a=12,c=2,b=a);
printf(c=%d ,c);//c=13
.10.下标应用、函数调用和结构成员1: []下标引用运算符
2:()函数调用操作符接受一个或多个操作数:第一个操作数是函数名,其余操作数是传递给函数的参数。
3:-结构成员运算符
//[]下标引用运算符
int arr[10]={1,2,3,4,5,6,7,8,9,10 };
arr[1];//运算符的左边是数组名。
//()函数调用运算符
.
无效测试()
{
printf( hello c!);
}
int main()
{
test();//运算符的左边是函数名。
返回0;
}
.
//结构成员运算符
结构研究{
char name[20];
int age
字符id;
};
int main()
{
Struct stu s1={ 张三,20, 123456789 };
s1.name//取出名称字段
struct stu * ps=s1
PS-name;//取出名称字段
返回0;
}
转载请联系作者授权,否则将追究法律责任。评论0发表评论。
wx6295e0fca1591
2022-06-13 14:04
只是一个大男人,遥不可及。我将与你分享它。你们是亲戚吗?
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。