指令系统中的每条指令都有一个操作符,指示该指令应该执行哪种操作。在运算符字段中,不同的指令由不同的代码表示,每个代码代表一条指令。本文主要介绍一些关于C语言中运算符的信息,有需要的朋友可以参考一下。
目录
算术运算符移位运算符位运算符赋值运算符单目运算符(类型)强制类型转换条件运算符摘要
算术操作符
主要是 (+ - * / %) 五种算数操作符。
1.除了%运算符,其他几个运算符也可以处理整数和浮点数。
2.对于/运算符,如果两个操作数都是整数,则执行整数除法。只要有浮点数,就进行浮点数除法。
法律。
3.%运算符的两个操作数必须是整数。返回的是除法运算后的余数。
当除数是小数时,int类型只截取整数部分。
移位操作符
左移操作符
右移操作符
左移操作符移位规则:左边弃,右边填0。
右移操作符 班次规则:
首先,有两种右移操作:
1.逻辑移位的左边用0填充,右边丢弃。
2.算术移位的左边用原始值的符号位填充,右边被丢弃。
警告:对于移位运算符,不要移动负数,这是标准没有定义的。
例如:
int num = 10;
num-1;//error
位运算符
位和:1 1是1;0是0;0是0。
|按位或:1 1是1;0是1;0是0。
按位异或:1 1为0;0是1;0是0。
注意:它们的操作数必须是整数。
练习一下:
#包含stdio.h
int main(){
int num1=1
int num2=2
num1 num2
num1 | num2
num 1 ^ num 2;
返回0;
}
不能创建临时变量(第三个变量),实现两个数的交换。
#包含stdio.h
int main(){
int a=10
int b=20
a=a^b;
b=a^b;
a=a^b;
printf('a=%d b=%d\n ',a,b);
返回0;
}
赋值操作符
'='
注意:这是一个赋值运算符,不等于。C语言中的对应词是“==”。
复合赋值符 =-=*=/=%===|=符合赋值运算符与其他运算符相同的原则。这使得写作更加简洁。
单目操作符
! 逻辑反操作
- 负值
+ 正值
取地址
* 间接访问操作符(解引用操作符)
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置、后置++
//和-运算符
//前置和-
//前缀和:
#包含stdio.h
int main()
{
int a=10
int x=a;
//先自动递增A,再用A for,即表达式的值是自动递增后A的值。X 11。
int y=-a;
//先自减A,再用A for,即表达式的值是自减后A的值。Y 10
返回0;
}
//后置和-
#包含stdio.h
int main()
{
int a=10
int x=a;
//先用A,再增加,这样x的值就是10;那么a就变成了11;
int y=a-;
//先用A,然后从中减去,这样Y的值就是11;那么a就变成了10;
返回0;
}
(类型) 强制类型转换
类型转换是通过类型转换操作实现的。它的一般形式是:(类型说明符)(表达式)。它的作用是将表达式的运算结果强制转换为类型说明符所表示的类型。自动转换是指当源类型和目标类型兼容并且目标类型比源类型宽时,从一种类型转换为另一种类型。比如:(float) a把A转换成浮点,(int)(x y)把x y的结果转换成整数。
关系运算符
=
=
!=用于测试“不平等”
==用于测试“相等”
这些关系运算符相对简单,但在使用时要注意一些陷阱。
警告:在编程过程中==和=不小心写错了,导致错误。
逻辑算子
逻辑或与||逻辑或
区分逻辑AND和按位与逻辑OR和按位OR
#包含stdio.h
int main(){
int i=0,a=0,b=2,c=3,d=4;
I=a b d;
//I=a | | b | | d;
printf(' a=% d \ n b=% d \ n c=% d \ nd=% d \ n ',a,b,c,d);
返回0;
}
条件操作符
exp1?exp2 : exp3
总结
这就是这篇关于C语言中各种运算符的文章。有关C语言中运算符的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。