c语言学习笔记(4)——流程控制

一、什么是流程控制
程序代码执行的顺序
流程控制分类
顺序执行
选择执行
定义
有选择的执行某些代码
分类
if
switch
循环执行
定义
某些代码会被重复执行
分类
for
while
do while
break和continue
--------------------------------------------------------------------
# include <stdio.h>


int main(void){
int i;
float sum = 0;
for (i=1; i<=100; ++i){
sum = sum + 1 / i;
}
printf("结果是%f\n", sum);
return 0;
}
输出的结果是:结果是1.000000
将 sum = sum + 1 / i;改为
sum = sum + 1 / (float)(i);
或 sum = sum + 1.0 / i;
或 sum = sum + 1 / (i + 0.0);
输出的结果是:结果是5.187378


不能这样写:
# include <stdio.h>


int main(){
float i;
float sum = 0;
for (i=1.0; i<=100; ++i){
sum = sum + 1/i;
}
printf("sum = %f\n", sum);
return 0;
}
浮点数存储所带来的问题
float 和 double 都不能保证可以精确的存储一个小数
例如: float i = 99.9
printf("%f\n", i);
最终结果: 99.900002
--------------------------------------------------------------------
例子:有一个浮点型变量x,如何判断x的值是否为零?
if(0==x)是
else 不是
上面的这种写法不对
if(x和一个非常小的值的差得绝对值小于一个很小的值) 是
else 不是
思考:为什么循环更新的变量不能定义为浮点型?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值