zoukankan      html  css  js  c++  java
  • 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 ", 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 ", sum);
    return 0;
    }
    浮点数存储所带来的问题
    float 和 double 都不能保证可以精确的存储一个小数
    例如: float  i = 99.9
      printf("%f ", i);
      最终结果: 99.900002
    --------------------------------------------------------------------
    例子:有一个浮点型变量x,如何判断x的值是否为零?
    if(0==x)是
    else 不是
    上面的这种写法不对
    if(x和一个非常小的值的差得绝对值小于一个很小的值) 是 
    else 不是
     思考:为什么循环更新的变量不能定义为浮点型?
  • 相关阅读:
    LeetCode 3Sum Closest
    LeetCode Jump Game
    LeetCode Convert Sorted List to Binary Search Tree
    LeetCode Search for a Range
    LeetCode ZigZag Conversion
    sql server中主键列的插入问题
    php 联系电话验证(手机和固话)
    Update与Mysql、Sqlsever中的随机数
    Yii在nginx下多目录rewrite
    php后台判断ajax请求
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6469936.html
Copyright © 2011-2022 走看看