【菜鸟逆袭记】之初识操作符-创新互联
- 1.算术操作符
- (1)前置和后置
- (2)取膜(%)和除法(/)
- 2.移位操作符
- 3.位操作符
- 4.赋值操作符
- 5.单目操作符
- (1)逻辑反操作( !)
- (2)sizeof
- (3)强制类型转化
- 6.关系操作符
- 7.逻辑操作符
- 8.条件操作符
- 9.逗号表达式
- 10.下标引用、函数调用和结构成员
这里 + 和 - 都是字面意思,没啥好讲的。我们上点难度—>区分一下前置 + +(- -)和后置+ +(- -)的不同
#includeint 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++;
后置++:先使用,后++
- 前置- -和后置- -的底层逻辑是一样的。那么你们可以当做列子拿来练练手
日常生活中,我们用的乘法(×)和除法(÷)在C语言中可不是这样的哦。C语言的乘法是C语言的乘法是 * ,除号是 /,这一点一定要牢记,不要搞混哦。
知道了它们的用法,接下来讲一讲注意的地方:
1./ 除号的两端如果都是整数,执行的是整数除法—保留整数部分
2./ 除号的两端至少一个树是浮点数,才执行的是浮点数的除法—日常生活中的除法
3.取膜–顾名思义就是取余数,它的两端操作数必须都为整数才可以
接下来就上代码看看:
1.
运行结果:
结论:
进行整数除法,无论如何结果都是整数部分,用浮点数来接收都不行
2.
运行结果:
结论:
两端至少有一个浮点数类型的数据,那么执行的就是浮点数除法
3.
运行结果:
结论:
取膜运算的两端操作数必须都为整形类型
这里涉及二进制,以后会讲的。持续关注我哦 |
这里涉及二进制,以后会讲的。持续关注我哦 |
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 相等
补充:
在C语言中,判断真假的方法是:0 为假,非0为真(一般是1),记住:这里是非0,负数也是真
逻辑反操作主要是用来打印条件为假的内容
- 如果想的打印真的内容-----if(a)
- 如果想的打印假的内容-----if(!a)
上代码:
运行结果:
这里需要把sizeof 和strlen两个比较来看:
1.sizeof—操作符无须引头文件—计算数据及其类型所占用空间的大小,单位是字节
2.strlen—库函数,头文件是—计算字符串中 \0 前面的字符个数,单位是个
这里,我们不难发现:
当同时计算一个字符串(hello)的时候,strlen的结果是 5 ,没有算上 \0;而sizeof 的结果是 6 ,算上了 \0 所占用的空间
基本构成:(目标类型)变量
注意:( )不能少
运行结果:
结论:
如果一个浮点型的数据强制类型转化为整形—只取整数部分
这里重点前面都有讲过,可以翻上去看看 |
- &&------两边同时为真,才为真,其他都为假
2.||------两边同时为假,才为假,其他全为真(这里翻过坑的)
注意:
别看是问号(?),其实是情况为真的输出(这里翻过墙)
我们用这个来实现一个求两个数的大值:
运行结果:
结论:
1.三目操作符跟 if self 的底层原理相似
2.基本构成:表达式1 ?表达式2 :表达式3
3.表达式2 相当于 if 成立后执行的语句;表达式3相当于 if 不成立 else 执行的语句
这个我们以后再讲,记得持续关注我哦 |
- [ ]----用于数组
2.( )----函数调用
3.点(.)和 ->—用于结构体
这一部分的大多数内容详细讲解我都在【菜鸟逆袭记】之初识C语言中讲过,不清楚的小伙伴,可以移步去看一看
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网站标题:【菜鸟逆袭记】之初识操作符-创新互联
标题来源:http://myzitong.com/article/peeip.html