栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言-操作符

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言-操作符

算数操作符

+     -    *乘以    /除以   %取余
//整型除以整型得到的结果也是整型,整型除以一个浮点型得到的则是浮点型;
%为相除后得到的余数

移位操作符

>>右移   <<左移   这个移位指的是左右移动二进制位,比如int数据是4个字节,32个bit,即32个二进制位,举个实例更容易理解:
#include 
int main()
{
   int a = 1;//a的二进制表达形式为00000000000000000000000000000001
printf("%d", a<<1);//输出a左移一个二进制位的结果,即a的二进制表达变为了00000000000000000000000000000010,输出结果应为2
return 0;
}

位操作符

&与   ^异或   |或//待补充

赋值操作符

    =  把右边操作数的值赋给左边操作数
    += 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数,C+=A相当于C=C+A
    -= 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数,C-=A相当于C=C-A    
    *= 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数,C*=A相当于C=C*A
    /= 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数,C/=A相当于C=C/A
    %= 求模且赋值运算符,求两个操作数的模赋值给左边操作数,C%=A相当于C=C%A
    ^= 按位异或且赋值运算符,C ^= 2 等同于 C = C ^ 2
    |= 按位或且赋值运算符,C |= 2 等同于 C = C | 2
    >>= 右移且赋值运算符,C >>= 2 等同于 C = C >> 2
    <<= 左移且赋值运算符,C <<= 2 等同于 C = C << 2

单目操作符

!      逻辑反操作  假0,真则非0,比如:
#include 
int main()
{
	int a = 0;//a为假
printf("%d", !a);//逻辑取反,默认非0为1;
return 0;
}

-      负值 
+      正值 
&      取地址 
sizeof    操作数的类型长度(以字节为单位)
~     整数在内存以补码储存,而进行表达则转为原码。~对一个数的二进制按位取反,不考虑符号位,一个整数的二进制表示有三种:原码,反码,补码。比如:
#include 
int main()
{
	int a = 0;//a以补码形式储存,正数的补码和原码反码都相同,所以0的二进制形式为:00000000000000000000000000000000
printf("%d", ~a);//以补码形式全部取反,补码变为11111111111111111111111111111111,反码=补码-1,即11111111111111111111111111111110,原码=反码除符号位其余取反=10000000000000000000000000000001,所以输出数值应为-1
return 0;
}

--      前置:先--,后使用   后置:先使用,后--
++      前置:先++,后使用   后置:先使用,后++
*      间接访问操作符(引用操作符) 
(类型)    强制类型转换   例如(int)3.14输出后为3

关系操作符

>         >=      <       <=       !=不等于      ==等于

​

逻辑操作符

&&逻辑与,两者都为真,才为真    ||逻辑或,两者中一个为真,则为真
!逻辑反操作符,用来逆转逻辑真假

条件操作符(三目操作符)
 

?:
exp1 ? exp2 :exp3
    含义:若exp1成立,则exp2计算,整个表达式结果为exp2的结果
    含义:若exp1不成立,则exp3计算,整个表达式结果为exp3的结果
如:输出一个较大值的程序
#include 
int main()
{
	int a = 0;
	int b = 3;
	int max= 0;
	max=a > b ?  a :  b;//如果a大于b,则max=a,否则max=b:
	printf("%d",max);//输出max数值
return 0;
}

逗号表达式:逗号隔开的一串表达式,从左向右依次计算,整个表达式的结果是最后一个表达式的结果。(exp1,exp2,exp3)结果就是exp3;

比如

#include 
int main()
{
	int a = 0;
	int b = 3;
	int c= 0;
	c = (a + b, b + c, b*2);//逗号运算符,输出的就是最后一个表达式的结果
	printf("%d",c);//c=6
return 0;
}

 下标引用,函数调用,结构成员

[]               在数组中,下标引用[],比如arr[0],表示取数组arr第一个元素

()               调用函数的时候,函数后面的()就是函数调用操作符

.                在结构体中,结构体变量.成员变量    

->              结构体指针->成员名 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/289776.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号