「每天C语言干货」 4.数据基本运算(1)

一、上期回顾

上期问题int代表整数类型,但是如果我们真的不小心让int类型的数带小数了,比如3.6。这个时候输出这个数字的值该是多少呢?,不知大家思考得如何了呢?

「每天C语言干货」 4.数据基本运算(1)

正确答案是3,大家有没有亲自去尝试打印它的值呢?快让我看看认为是四舍五入到4的小伙伴有哪些吧?

「每天C语言干货」 4.数据基本运算(1)

就算它的值是3.9999,结果一样是3哦。这次的答案将在本期的内容中做讲解。

「每天C语言干货」 4.数据基本运算(1)

二、算数运算

2.1 加法(+)

\tint a = 1,b = 2;
\tint c;
\tc = a + b;

上述的代码就是让变量c等于a加b的值,结果为c = 3。

\tint a = 8,b = 2;
\ta = a + b;

如果这样结果会如何呢?会不会是两边同时减去a,于是b等于0呢?

「每天C语言干货」 4.数据基本运算(1)

其实,这句话的意思是先让a加b,然后把相加后的结果赋值给a。但是狂拽酷炫的程序员还可以使用下面这种表达方法哦,结果是一样的。同理,加法运算也可以运用在其他类型的数据上,比如char,double等。

\tint a = 8,b = 2;\t
a += b;

2.2 减法(-)

减法和加法类似,下面的式子结果就是a = 6。

\tint a = 8,b = 2;\t
a -= b;

2.3 乘法(*)

当然,乘法也是so easy啦!下面的式子结果就是a = 15。

\tint a = 5;
\ta = a * 3;
「每天C语言干货」 4.数据基本运算(1)

2.4 除法(/)

在除法中就要介绍一些坑了哦!在整数变量的运算中,运算只会取变量值的整数部分,不会做四舍五入,因此如果我们计算下面的式子:

\tint a = 7;
\ta /= 2;

最终的结果将会是3,不会是3.5!结果只去整数部分,谁叫int类型是整数呢?

「每天C语言干货」 4.数据基本运算(1)

同理,如果是整数3.5乘以2,结果将会是6,而不是7。

「每天C语言干货」 4.数据基本运算(1)

但如果用float浮点类型,那么我们就可以正常计算小数了!现在将7除以2,就可以是3.5了哦。

「每天C语言干货」 4.数据基本运算(1)

同理,利用浮点型数计算3.5乘以2,结果将是7。而不是整数类型的计算结果6。

「每天C语言干货」 4.数据基本运算(1)

大家可以验证一下,对于加法和减法,这个结论也是一样适用的!

「每天C语言干货」 4.数据基本运算(1)

2.5 求余(%)

求余运算顾名思义,就是求商之后的余数,比如将7除以2,余数是1。

「每天C语言干货」 4.数据基本运算(1)

大家注意,求余运算只能用于整数,不能用于浮点型的数哦,否则编译器就会报错。

「每天C语言干货」 4.数据基本运算(1)

「每天C语言干货」 4.数据基本运算(1)

三、单目运算

3.1 非运算(!)

非运算也是比较好理解的,就是让一个数的结果倒置,结果为让“真”,变为“假”,让“假”变成“真”。

c语言规定非0的数就是“真”, 只有0才为“假”。对0做非运算的结果为1,而对非0的数做非运算的结果都为0。

「每天C语言干货」 4.数据基本运算(1)

大家可以看到,不管是正数b还是,负数a,非运算的结果都是0。对于等于0的变量c,非运算的结果为1。

「每天C语言干货」 4.数据基本运算(1)

3.2 按位取反(~)

按位取反涉及到二进制的运算知识,意思就是将二进制0变成1,将二进制1变成0。比如对于8位十进制数7这个数字,它的二进制表示为0000 0111,对其进行按位取反后,值为1111 1000,对应十进制为-8。

「每天C语言干货」 4.数据基本运算(1)

大家都知道要求一个二进制数的相反数,就是将二进制数取反再加1,所以我们要求一个数的相反数,可以这样做:

\tint x = 9;
\tx = ~x + 1;

当然x可以等于任何数,上述算法的结果为x = -9。

3.3 自加(++)

对于自加运算的结果,其实就是将一个数加1。但是自加存在先后顺序的问题。比如下面的代码:

「每天C语言干货」 4.数据基本运算(1)

代码中的a++,表示在这行代码执行结束后,a的值再加1

。所以在这行代码执行时,变量b只会被赋值为a自加之前的值,也就是1。所以在接下来的printf函数中,就出现了a等于2,但b却等于1的情况。

但是我们把“++”的位置变动一下,变成“++a”,结果就不一样了哦!

「每天C语言干货」 4.数据基本运算(1)

代码中的++a, 表在在这行在吗执行结束之前,a的值事先+1,所以变量b会被赋值为a自加之后的值,也就是2。是不是很神奇呢?

3.4 自减(--)

自减的运算和自加是一样的逻辑,大家可以把自加代码中的“++”改成“--”试试看哦!

四、本期问题

对于自加运算是企业笔试题中相当常见的题目哦,让我们来看看下面的式子运算后,a和b的值分别是多少吧?检验一下是不是真的学会了呢,我们在下期讲解。

\tint a = 1;
\tint b = ++a+(a++)+a++;
「每天C语言干货」 4.数据基本运算(1)

如果大家喜欢可以关注转发加收藏哦,看更多有趣干货!


分享到:


相關文章: