【菜鸟逆袭记】之初识操作符
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
操作符
1.算术操作符
1前置和后置
这里 + 和 - 都是字面意思没啥好讲的。我们上点难度—>区分一下前置 + +- -和后置+ +- -的不同
#include<stdio.h>
int main()
{
int a = 100;
//int b = a++; //后置++
int b = ++a; //前置++
printf("a=%d b=%d", a,b);
return 0;
}
运行结果
前置
后置
怎么样结果跟你想的一样吗。接下来让我们来分析一下产生这种差异的原因
int b=++a=(++a);
a=a+1; b=a;
前置++先++后使用
int b=a++=(a++);
b=a; a++;
后置++先使用后++
- 前置- -和后置- -的底层逻辑是一样的。那么你们可以当做列子拿来练练手
2取膜%和除法/
日常生活中我们用的乘法×和除法÷在C语言中可不是这样的哦。C语言的乘法是C语言的乘法是 * 除号是 / 这一点一定要牢记不要搞混哦。
知道了它们的用法接下来讲一讲注意的地方
1./ 除号的两端如果都是整数执行的是整数除法—保留整数部分
2./ 除号的两端至少一个树是浮点数才执行的是浮点数的除法—日常生活中的除法
3.取膜–顾名思义就是取余数它的两端操作数必须都为整数才可以
接下来就上代码看看
1.
运行结果
结论
进行整数除法无论如何结果都是整数部分用浮点数来接收都不行
2.
运行结果
结论
两端至少有一个浮点数类型的数据那么执行的就是浮点数除法
3.
运行结果
结论
取膜运算的两端操作数必须都为整形类型
2.移位操作符
这里涉及二进制以后会讲的。持续关注我哦 |
3.位操作符
这里涉及二进制以后会讲的。持续关注我哦 |
4.赋值操作符
a + = b <---->a = a + b
a - = b <----->a = a - b
a * = b <----->a = a * b
a / = b <----->a = a / b
注意
- =赋值操作符和= =逻辑操作符不一样-----以a = b 和 a = = b为例子解释一下
-----前者是把 b 的值赋给了 a 后者是 a 和 b 相等
5.单目操作符
补充
在C语言中判断真假的方法是0 为假非0为真一般是1记住这里是非0负数也是真
1逻辑反操作
逻辑反操作主要是用来打印条件为假的内容
- 如果想的打印真的内容-----ifa
- 如果想的打印假的内容-----ifa
上代码
运行结果
2sizeof
这里需要把sizeof 和strlen两个比较来看
1.sizeof—操作符无须引头文件—计算数据及其类型所占用空间的大小单位是字节
2.strlen—库函数头文件是<string.h>—计算字符串中 \0 前面的字符个数单位是个
这里我们不难发现
当同时计算一个字符串hello的时候strlen的结果是 5 没有算上 \0而sizeof 的结果是 6 算上了 \0 所占用的空间
3强制类型转化
基本构成目标类型变量
注意 不能少
运行结果
结论
如果一个浮点型的数据强制类型转化为整形—只取整数部分
6.关系操作符
这里重点前面都有讲过可以翻上去看看 |
7.逻辑操作符
- &&------两边同时为真才为真其他都为假
2. ||------两边同时为假才为假其他全为真这里翻过坑的
8.条件操作符
注意
别看是问号其实是情况为真的输出这里翻过墙
我们用这个来实现一个求两个数的最大值
运行结果
结论
1.三目操作符跟 if self 的底层原理相似
2.基本构成表达式1 表达式2 表达式3
3.表达式2 相当于 if 成立后执行的语句表达式3相当于 if 不成立 else 执行的语句
9.逗号表达式
这个我们以后再讲记得持续关注我哦 |
10.下标引用、函数调用和结构成员
- [ ]----用于数组
2. ----函数调用
3.点.和 -> —用于结构体
这一部分的大多数内容详细讲解我都在【菜鸟逆袭记】之初识C语言中讲过不清楚的小伙伴可以移步去看一看