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 不是
思考:为什么循环更新的变量不能定义为浮点型?
c语言学习笔记(4)——流程控制的更多相关文章
- Go语言学习之3 流程控制、函数
主要内容: 1. strings和strconv使用2. Go中的时间和日期类型3. 指针类型4. 流程控制5. 函数详解 1. strings和strconv使用 //strings . strin ...
- Python学习笔记 - day4 - 流程控制
Python流程控制 Python中的流程控制主要包含两部分:条件判断和循环. Python的缩进和语法 为什么要在这里说缩进和语法,是因为将要学习的条件判断和分支将会涉及到多行代码,在java.c等 ...
- PYTHON 学习笔记2 流程控制工具以及函数定义、匿名函数
前言 在上一节的学习中.已经介绍了几种基本类型.包括字符串的定义,以及字符串中索引.切片.字符串拼接的使用方法.以及基本的整形数据运算.一些之前都没有了解过的运算符.比如 ** 乘方 //整数除法等. ...
- 【原】Java学习笔记005 - 流程控制
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 程序的流程控制(流 ...
- C#学习笔记_04_流程控制
04_流程控制 程序的执行结构: 顺序结构 分支结构 循环结构 可以通过某些特定的控制语句来控制代码的执行结构 分支流程控制 if else 基本语法 可以只有if没有else,但是不能没有if只有e ...
- JavaSE学习笔记03流程控制
Java流程控制 1.顺序结构 java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句往下执行. 顺序结构是最简单的算法结构,它是任何一个算法都离不开的一种基本算法结构. 2. 选择结构 ...
- Java学习笔记五——流程控制
分支结构 Java提供了两种常见的分支控制结构:if语句和switch语句. if语句 if语句使用布尔值或布尔表达式(表达式结果为布尔值),if语句有3中形式: 第一种形式: if (5 > ...
- 【原】Java学习笔记007 - 流程控制
package cn.temptation; public class Sample01 { public static void main(String[] args) { // for循环 // ...
- 【原】Java学习笔记006 - 流程控制
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 需求:写一万次&q ...
- Python学习笔记:流程控制
单分支: if 条件: 满足条件后执行的代码 程序举例: leiyu=28if leiyu > 22: print("You can find girl friend..." ...
随机推荐
- 【习题 3-4 UVA - 455】Periodic Strings
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 枚举 [代码] #include <bits/stdc++.h> using namespace std; const ...
- Nginx和Nginx+的比較(下)
Nginx和Nginx+的比較(下) 作者:chszs.未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 内容紧接上一篇<Nginx和 ...
- 【a101】高精度实数加法
Time Limit: 1 second Memory Limit: 2 MB 问题描述 给出两个高精度正实数(可以含有小数点或没有),最长200位,字符串读入 求它们的和,小数部分末尾的0要舍去. ...
- PatentTips - SNMP firewall
BACKGROUND OF THE INVENTION [0001] The present invention relates to communications and, more particu ...
- 关于心理的二十五种倾向(查理·芒格)-3
9)回馈倾向人们早就发现.和猿类,猴类,狗类等其它很多认知能力较为低下的物种同样,人类身上也有以德报德,以牙还牙的极端倾向:这样的倾向明显能够促进有利于成员利益的团体合作.这跟非常多社会性的动物的基因 ...
- angular项目国际化配置(ngx-translate)
原文 https://www.jianshu.com/p/7d1da3098625 大纲 1.认识ngx-translate 2.ngx-translate的配置步骤 3.ngx-translate的 ...
- 读Effective Objective-C [提高OC代码质量总结笔记第一篇:熟悉OC]
一.OC特性 OC 为 C 语言添加了面向对象特性,是其超集; OC 使用动态绑定的消息结构,也就是,在运行时才会检查对象类型; 接收一条消息后,究竟应执行何种代码,由运行期环境来决定,而非 编译器; ...
- COCOS2D-X 3.0在MAC下创建新IOS项目:
首先进入:CocoStudio\Source\3.0\cocos2d-x\tools\cocos2d-console\bin 运行 ./cocos new -p com.aaaa -l cpp MyG ...
- 【solr基础教程之二】索引 分类: H4_SOLR/LUCENCE 2014-07-18 21:06 3331人阅读 评论(0) 收藏
一.向Solr提交索引的方式 1.使用post.jar进行索引 (1)创建文档xml文件 <add> <doc> <field name="id"&g ...
- php实现找两个链表的第一个公共结点(实例演示)
php实现找两个链表的第一个公共结点(实例演示) 一.总结 因为是链表,第一个节点公共之后,后面所有的节点都公共了 画个图实例演示一下,会超清晰且简单 二.php实现找两个链表的第一个公共结点 题目描 ...