【C语言】以深厚地基筑伟岸高楼-基础篇(三)

本文详细讲解了复合赋值运算符(+=, -=, *=, /=, %=)的工作原理,以及递增(++)和递减(--)运算符在前缀与后缀形式的区别。还讨论了0和o在编程中的辨识,以及if语句中条件运算符的用法。
摘要由CSDN通过智能技术生成

复合赋值

  • 5个算术运算符: + - * / % 。都可以和赋值运算符“ = ”结合起来,
    形成复合赋值运算符: “ += ”,“ -= ”,“ *= ”,“ /= ”,“ %= ”。
    如 a += 5;
    就等于 a = a + 5;
  • 需要注意的是,复合赋值运算符之间不能有空格。

在使用复合赋值运算符时,我们可以这样去理解
如:

a += 5

这个代码
它的实际运算过程是:

a = a + 5

我们就可以理解为“+=”就是先将“ = ”号两边的变量做加法,然后再将加法所得的结
果赋值给“ = ”号左边。
同理,“ -= ”就是先将“ = ”号两边的变量做减法,然后再将减法所得的结果赋值给
“ = ”号左边,其它的复合赋值运算符可以以此类推。
强调:
复合赋值运算符的优先级在运算符中最低,所以如果复合赋值运算符右边有一个计算式的话,程序会先进行计算式的运算,之后再进行复合赋值运算符的运算

递增递减运算符

“ ++ ”,“ – ”是两个很特殊的运算符,它们是单目运算符,而且它的算子还必须是变量。这两个运算符分别叫做递增运算符,递减运算符。
它们的作用是给这个变量 +1 或者 -1 。
但是当这个递增递减运算符与变量的位置关系不同的话,它的使用结果也不一样

  • ++和–可以放在变量的前面,叫做前缀形式,也可以放在变量的后面,叫做后缀形式。
  • 运用时,a++的值是a加1以前的值,而++a的值是加1以后的值。
  • 同理可类推–的运算结果
  • 但是无论是前缀还是后缀,a自己的值都加了1或者减了1,只是表示的结果不同罢了

递增递减运算符解析

我们可以来试一下这个代码:

int main()
{
	int a;
	a = 10;
	
	printf("a++=%d\n",a++);
	printf("a=%d\n", a);
	
	printf("++a=%d\n", ++a);
	printf("a=%d\n", a);
	
	return 0;
}

它的运行结果如下:
在这里插入图片描述
很明显的是,我们对a初始化的值为10,在进行a++的运算后 ,这个表达式(a++)得出来的值还是10,但是a的值变成了11.a等于11,程序接着往下进行,在进行++a的运算后,这个表达式(++a)得出来的值为12,直接得出来的就是a+1的值。

前缀与后缀小总结

表达式运算表达式的值
a++给a加1a原来的值
++a给a减1a+1以后的值
a–给a减1a原来的值
–a给a减1a-1以后的值

这两个运算符(递增,递减)可以单独使用,但是不要组合进表达式。

关于数字0与字母o在程序中的小区别

因为数字0与字母o十分的相似,所以为了区分这两个字符,在程序语言中,专门为数字0做了一些改变。
就像下边这个代码块中所写:

#include <stdio.h>
int main()
{
	printf("猜猜看哪个是数字,哪个是字母呢?");
	printf("0,o");
	return 0;
}

想必,这么简单的问题肯定难不倒你们
左边的是数字0,右边的是字母o

if语句

if语句的写法:
if(条件成立){
……
}
如果括号内的条件成立,那么程序进入到花括号内接着运行,如果条件不成立,那么程序就跳过整个if语句往下运行。

if语句中的条件

我们把这个条件叫做一种运算
计算两个值之间的关系,所以叫做关系运算

运算符意义
==相等
!=不相等
>大于
>=大于或等于
<小于
<=小于或等于
  • 所有的关系运算符的优先级 比算术运算符的低,但是比赋值运算的高。因为=意思为赋值,所以 == 才意为相等注意!!连续的关系运算是从左到右的!!!!!判断是否相等的 “ == ”和“!=”的优先级比其他的低!
  • 当两个值的关系符合运算符的预期时,关系运算的结果为整数1,否则为整数0,关系运算符运算结果均为0或1。
  • 举例:(“/……/”之间的内容为段落注释,不会被程序读取,起注释,解释,易于理解程序含义的作用)
#include <stdio.h>
int main(void)
{
/*所有的关系运算符的优先级 比算术运算符的低,但是比赋值运算的高
关系运算符,也叫比较运算符
因为=意思为赋值,所以==才意为相等
关系运算符运算结果均为0或1
正确则为1,失败则为0 
!=意思为不相等 
注意!!连续的关系运算是从左到右的!!!!!
*/
	printf("%d\n",5==3);
	printf("%d\n",5>3);
	printf("%d\n",5>=3);
	printf("%d\n",5<3); 
	printf("%d\n",5<=3);
	printf("%d\n",5!=6);
	return 0;
}

运行结果如下图所示

很轻易的就能够看出来条件判断后输出的结果,成功则为1,失败则为0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值