目录
一、运算符
1>.按照操作数目分类: 单目运算符, 双目运算符, 三目运算符。
2>.按照功能分类: 赋值运算符, 算数运算符, 关系运算符, 逻辑运算符, 位运算符(针对二进制数值), 自增自减运算符, 复合运算符, 逗号运算符, 问号运算符(三目运算符)。
1.1 赋值运算符
赋值运算符为:=
在c语言中,一个 “=” 是赋值运算符,两个“==”才是等于号的意思。
功能: 将等号右侧的内容赋值给等号左侧。
注意:使用赋值运算符时等号左边不能是常量。实例如图:1-1使用常量赋值。
图1-1使用常量赋值
自动类型转换:赋值运算符如果左右两侧类型不一致, 默认往等号左侧转; (小数转整数, 舍弃小数后面的内容)。
如图1-2 自动类型转换。
虽然不报错也不警告, 但是还是希望两边类型一致:
强制类型转换:格式: (数据类型)变量名
float b = 99.99;
a = (int)b; //a = 99 取整数部分;实例:如图1-3 强制转换。
1.2 算数运算符
算数运算符:+ - * / %(取余)
/ --> 除 结果是商
% --> 取余 结果是余数 (注意: 左右两侧都得是整数)
简单举个例子就是:
int num =10/3; //num = 3;
int a =10%3; // a = 1
类型转换:自动类型转换:
+ - * / 左右两侧类型不一致, 默认往高精度转:
char ->int -> float ->double
1.3 关系运算符
关系运算符:> >= < <= == !=
运算结果: 只有 0(不成立) 和 1( 成立)
1.4 逻辑运算符
逻辑运算符:&& || & | !
&& :逻辑与运算符
|| : 逻辑或运算符
& : 按位与运算符
| : 按位或运算符
!:逻辑非运算符
运算结果:只有0和1 (注:非0即真,也就是只要不是0的数都是真不局限于只能是1)
&&: 左右两侧都为真, 结果是 1, 否则是 0
||: 左右两侧任意一侧为真, 结果是 1, 否则是 0
表达式 1 && 表达式 2 结果
真 真 1
真 假 0
假 真 0
假 假 0
如果:&& :前面为假, 后面就不再运算;(注:计算机为了节省内存当出现假设的情况,后面内容不论真假均不计算)
表达式 1 || 表达式 2 结果
真 真 1
真 假 1
假 真 1
假 假 0
如果:|| :前面为真, 后面就不再运算
!逻辑取反:
!0 = 1 !假 = 1
!1 = 0 !真 = 0
1.5 位运算符
位运算符: & | ^ << >> ~
&: 全 1 为 1, 否则为 0
数值 1 & 数值 2 结果
1 1 1
1 0 0
0 1 0
0 0 0
|: 见 1 为 1, 全 0 为 0
数值 1 | 数值 2 结果
1 1 1
1 0 1
0 1 1
0 0 0
^ : 相同为 0, 不同为 1
数值 1 ^ 数值 2 结果
1 1 0
1 0 1
0 1 1
0 0 0
<< : 所有的位统统向左移动, 低位补 0
>> : 所有的位统统向右移动, 高位补 0
~: 按位取反: 0 变 1, 1 变 0
1.6 自增自减运算符
自增自减运算符:1.++ 自身 +1 2.--自身减一
实例说明:
int num = 100;
num++; num = num+1; //num=101
int num = 100;
++num; num = num+1; //num=101
注意:当前的式子中有其他运算
++在前, 先自身加 1, 再参与其他运算
++在后, 先参与其他运算, 再自身加 1
实例说明:
int a = 100;
int b = ++a; // a = 101,b = 101;
int a = 100;
int b = a++; // b = 100,a = 101
1.7 复合运算符
复合运算符 :+=;-=; *=; /=; %=; >>=; <<=; &=; ^=; |=
实例说明:
int num = 100;
num += 99; //num = num + 99; num = 199
int num = 10;
num %= 3; //num = num%3; num=1
int num = 10;
num *= 2 + 3; //num = num * 5=50
(其他运算符同理即可)
1.8 逗号运算符
方式 1: 分隔作用
int a=0,b=0,c=0; // a:int b:int c:int
方式 2:
int a = -100;
int num =(0, 1, 2, a=3, 0, 66, 99);
num = 99; //依次赋值
如图 1-4 依次赋值。
1.9 三目运算符
格式:结果=(表达式 1)? (表达式 2): (表达式 3);
解释:先运算表达式 1, 表达式 1 为真, 就运行表达式 2, 整个三目运算符的结果就是表达式 2 的结果, 表达式 3 不再运算;
先运算表达式 1, 表达式 1 为假, 就运行表达式 3, 整个三目运算符的结果就是表达式 3 的结果, 表达式 2 不再运算;
图1-5 三目运算符的使用
1.10 sizeof 运算符
功能: 专门用来求数据类型大小
格式 1: sizeof(数据类型);
long num = sizeof(int); //num = 4
格式 2: sizeof(变量名)
float a = 3.1415;
long num = sizeof(a); // num = 4
附录:运算符优先性表
链接: 运算符优先级表
提取码: ygwf
今天的c语言基础学习分享就到此为止了,有任何问题和发现博文出现的问题,欢迎来评论区指出。