黑马程序员——C语言---七种运算

                                             ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

               

一.算术运算

1)算术运算包括:加法运算+,减法运算-,乘法运算*   ,除法运算/,取余运算%

2)注意点:

1> 自动类型转换

int a = 10.6;

int b = 10.5 + 1.7;

自动将大类型转换为了小类型,会丢失精度

2> 自动类型提升

int b = 10.5 + 10;

将右边的10提升为了double类型

double b = 1.0 / 2;

解决除法的精度问题

3> 强制类型转换

double a = (double)1 / 2;

double b = (double)(1 / 2);

二.习题

<span style="font-weight: normal;">//提示用户输入一个时间的秒数,比如500秒就输入500,然后输出对应的分钟和秒,比如500s就是8分钟20秒
#include<stdio.h>
int main()
{
	printf("请输入一个时间值(秒):\n");
	int time;
	scanf("%d",&time);
	int minute = time/60;//分钟
	int second = time%60;//秒
	printf("%秒=%分%秒\n",time,minute,second);
	return 0;
}</span>
</pre><h3>三.赋值运算</h3></div><div><p><span style="font-weight:normal">1. 简单赋值</span></p><p><span style="font-weight:normal">int a = 15 + 5;的运算过程</span></p><p><span style="font-weight:normal">a = b = 19;的运算过程</span></p><p><span style="font-weight:normal">等号左边不能是常量,比如107= 19;</span></p><p><span style="font-weight:normal"><span style="font-size:18px">2. 复合赋值</span></span></p><p><span style="font-weight:normal">复加减乘除余:a += 7+4;</span></p><p><span style="font-weight:normal"></span></p><h3>四.自增自减</h3><p><span style="font-weight:normal">1)自增运算符:++,例如a++,++a</span></p><p><span style="font-weight:normal">2)自减运算符:-- ,例如a--,      --a</span></p><p><span style="font-weight:normal">3)区别:</span></p><p><span style="font-weight:normal">int a;</span></p><p><span style="font-weight:normal">int b=11;</span></p><p><span style="font-weight:normal">a=++b;<span style="color:#ff0000">(这个是b先加1,变成12,再赋给a,所以a和b的值都是12)</span></span></p><p><span style="font-weight:normal">a=b++;<span style="color:#ff0000">(这个是先把b的值赋给a,b再加1,所以a的值是11,b的值是12)</span></span></p><h3><span style="font-weight:normal">五.sizeof</span></h3><div><span style="font-size:14px"><span style="font-weight:normal">1.它的作用:</span><span style="font-weight:normal">用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。</span></span></div><div><span style="font-size:14px"><span style="font-weight:normal">2.举例:</span></span></div><div><span style="font-size:14px"><span style="font-weight:normal"></span></span><pre name="code" class="plain">#include<stdio.h>
int main()
{
	int a=10;
	int size=sizeof(a);
	printf("size=%d\n",size);
	return 0;
}

上面的程序就是检测a中有几个字节。(用到sizeof)

六.关系运算

1.真假:在C语言中,条件成立称为“真”,条件不成立称为“假”。

如果条件成立,结果就为1,也就是“真”;如果条件不成立,结果就为0,也就是“假”。

2.注意事项:

关系运算符中==、!=的优先级相等,<、<=、>、>=的优先级相等,且前者的优先级低于后者:2==3>1

关系运算符的结合方向为“从左往右”: 4>3>2

关系运算符的优先级小于算术运算符:3+4>8-2


七.逻辑运算(逻辑与&&、逻辑或||、逻辑非!)

1.逻辑与

1)“条件A && 条件B”

2)只有当条件A和条件B都成立时,结果才为1,也就是“真”;其余情况的结果都为0,也就是“假”。因此,条件A或条件B只要有一个不成立,结果都为0,也就是“假”

3)如果条件A成立,接着再判断条件B是否成立:如果条件B成立,“条件A && 条件B”的结果就为1,即“真”,如果条件B不成立,结果就为0,即“假”

4)如果条件A不成立,就不会再去判断条件B是否成立:因为条件A已经不成立了,不管条件B如何,“条件A && 条件B”的结果肯定是0,也就是“假”

总结:只有当条件A和条件B都成立时,结果才为“真”

例:3<a<5要写成(a>3 && a<5)

2.逻辑或

1)“条件A || 条件B”

2)当条件A或条件B只要有一个成立时(也包括条件A和条件B都成立),结果就为1,也就是“真”;只有当条件A和条件B都不成立时,结果才为0,也就是“假”。

3)如果条件A成立,就不会再去判断条件B是否成立:因为条件A已经成立了,不管条件B如何,“条件A || 条件B”的结果肯定是1,也就是“真”

4)如果条件A不成立,接着再判断条件B是否成立:如果条件B成立,“条件A || 条件B”的结果就为1,即“真”,如果条件B不成立,结果就为0,即“假”

总结:当A和B至少有一个成立时,结果才是“真”,*任何非0值都为“真”,只有0才为“假”。

3.逻辑非

!条件。。其实就是对A进行取反。

4.注意优先级:逻辑运算符的优先级顺序为: 小括号() > 负号 - > ! > 算术运算符 > 关系运算符 > && > ||

八.三目运算符:条件?数值1:数值2(满足条件,输出数值1,否则,输出数值2)

举例:
#include <stdio.h>
int main()
{
	int a = 10;
	int b =  9;
	int c = a>b?a:b;
	printf("c is %d\n",c);
	return 0;
}

上面的程序经过运算,c的值明显是a。



















                                                                                            

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值