浮点型变量:常数中带有小数点的叫做浮点型

以下用for循环写一个摄氏度和华氏度的转换的C程序 【见 http://www.linuxidc.com/Linux/2013-08/88513.htm 】

[root@www.linuxidc.com]# cat forxh.c                                                   
#include <stdio.h>                                                                            //宏定义
main()
{
    float i;                                                                                                //声明一个浮点型的变量i
    printf("华氏温度      摄氏温度\n");                                                  //先打印一个华式温度和摄氏温度的对应标题
    for (i = 0.0; i <= 300.0; i = i + 20.0) {                                            //开始for循环,先i=0,然后如果i<=300就执行循环体,i的值每次加20,直到i的值不满足i <= 300.0条件就推出
        printf("%3.1f\t=\t%3.1f\n", i, (5.0 / 9.0) * (i - 32.0));                //直接调用打印函数,将表达式计算得结果后打印出来
    }
}

首先说for循环for后边的圆扩弧中是循环的参数和条件

里边一共三段,由封号隔开,第一段

i=0;

首先初始化变量的值,进入循环,第二段

i<=300;

循环的执行条件,如果过这个条件满足,则循环继续,如果不满组,则退出,第三部分

i = i + 20;

以上20是温度的步长,每次增加20,所有的运算符都开以再次处使用例如:

for (i = 512; i >=4; i = i / 2) {.....}

从以上代码看,float是一种变量类型,声明的变量值必须如n.n,也就是带有小数点的常数,也就是俗称的小数。

i是一个浮点型变量,它于int类型的值相运算,编译器自动会将int的值转换成float类型的值,例如一个浮点型的1.5和一个整形的3相加,编译器会自动将3转换成3.0,然后再和1.5相加

所以此处笔者直接全部用浮点型的常量来代替了

在for循环中的循环体只有一个printf函数:

printf("%3.1f\t=\t%3.1f\n", i, (5.0 / 9.0) * (i - 32.0)); 
在C语言中按正常的运算顺序来计算print函数扩弧内的表达式,扩弧优先级最高,然后*号,最后printf将直接打印结果

这样的程序书写方式就比:

[root@www.linuxidc.com]# cat sheshidu.c
#include <stdio.h>
main()
{
    float i, S;
    float F_max, F_min, buchang;
   
    F_min = 0;
    F_max = 300;
    buchang = 20;
   
    i = F_min;
    printf("华氏温度      摄氏温度\n");
    while ( i <= F_max) {
        S = 5 * ( i - 32 ) / 9;
        printf("%3.1f\t=\t%3.1f\n", i, S);
        i = i + buchang;
    }
}

while循环的直观多了,易读性也高,变量也好组织!

然后下边在提一点常量的定义,看如下代码

[root@www.linuxidc.com]# cat fhcl.c
#include <stdio.h>
#define MAX_VLAN 300.0                    //符号常量定义
#define MIN_VLAN 0.0                         
#define BC_VLAN 20.0
main()
{
    float i;
    printf("华氏温度      摄氏温度\n");
    for (i = MIN_VLAN; i <= MAX_VLAN; i = i + BC_VLAN) {                //从符号常量取值进行循环
        printf("%3.1f\t=\t%3.1f\n", i, (5.0 / 9.0) * (i - 32.0));
    }
}

第一个for循环里虽然东西少,但是用了不少“幻量”这种幻量会给以后读程序的人造成很大的困扰,谁也不知的它是个神码值,只知道那是一个常量

如果用符号变量定义的话在开头定义好一个符号常量,然后下次读程序和改程序只要看这个个地方这个量前边的符号,即可知道它的含义,改成需只要改这一处即可,如果幻量的话就得逐个的查找替换了

定义方式是:

#define 符号  常量                //这种形式定义

一般将符号常量的定义放在头文件的下边和程序的开头部分!

相关阅读:

C语言变长数组之剖析 http://www.linuxidc.com/Linux/2013-07/86997.htm

C语言需要注意的问题 http://www.linuxidc.com/Linux/2013-05/84301.htm

C语言位域的使用及其注意点 http://www.linuxidc.com/Linux/2013-07/87027.htm

本来来自http://www.linuxidc.com/Linux/2013-08/88514.htm

转载于:https://www.cnblogs.com/xuyinghui/p/4880893.html

C语言中简单的for循环和浮点型变量相关推荐

  1. C语言中不同类型的循环(Different types of loops in C)

    C语言中有三种类型的循环:for,while,do-while. while循环先判断循环条件. while (condition) {//gets executed after condition ...

  2. C语言中简单的题目,C语言的一些简单题目,没有答案,哪位大神帮忙做一下!!!...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 20.下面正确的语句是 . c语句中对嵌套if语句的规定是:else总是与___配对. A) 缩进位置相同的if B) 其同一复合语句中,前面最近的且尚未 ...

  3. 初步认识C语言中的选择和循环语句

    我们在日常生活中经常会做出选择,同样的我们在C语言的学习当中也经常会遇到选择语句,举一个简单的例子: 如果我们好好学习,不断完善自己,那么我们就能社会中找到一份好的工作,最终走上人生巅峰:反之,如果我 ...

  4. go语言中的选择与循环

    package mainimport ("fmt""strings""time" )func main(){// 布尔类型// true和f ...

  5. c语言中三种常用的循环控制结构是,三C语言的基本控制结构.ppt

    三C语言的基本控制结构 第三章 C语言的基本控制结构 问题 一元二次方程根求解算法描述 3.1 程序的三种控制结构 ⒊循环结构Repetition ⒋复合语句 CompoundStatement 3. ...

  6. python循环语句打印三角形_如何使用python语言中的语句遍历循环生成三角形

    在python语言中,除了使用if语句,还可以使用while循环语句,利用多层循环生成不同的图形,如果在特殊位置中断,可以创建不同的图形.下面利用实例说明如何生成三角形,操作如下: 工具/原料 pyc ...

  7. c语言中队列的作用,循环队列的实现(C语言)

    /* 循环队列 VS2010 调试 */ #include #include #include #define MAX_SIZE 6 #define TRUE 1 #define FALSE 0 #d ...

  8. C语言中能用while循环打印出1 22 333 4444 等这些东西

    ​ int main(){int n; scanf("%d", &n); int a, b,c; a = 1; b = 1; while (a <= n) {c = ...

  9. c语言中什么是指针 什么是指针变量,C语言指针是什么?

    代码清单 1:自定义函数交换两个变量的值(错误的解决方法) #include #include /*--自定义函数:交换两个变量的值--*/ void swap(int a, int b) { int ...

最新文章

  1. 新年新气象,用新年的喜庆来迎接的生活
  2. Hyperledger Fabric 三种node节点 (1) 基本概念
  3. 进程,线程,消息循环的关系
  4. 多线程循环输出abcc++_C ++循环| 查找输出程序| 套装2
  5. 码云、coding拉取项目代码
  6. 当代刻板程序员生态图鉴!网友:哈哈哈太真实了
  7. StringUtils,FileUtils,PropertiesUtils,DataBaseUtils
  8. MySQL中group_concat函数,用符号连接查询分组里字段值
  9. libvirt API管理hypervisors
  10. 【算法笔记】图文结合彻底搞懂后缀数组
  11. RNA_seq(1)植物转录组实战(上)之salmon进行索引建立和转录组定量
  12. 【SQL注入-01】SQL语句基础及SQL注入漏洞原理及分类
  13. c语言之父是谁,Unix之父 C语言之父_云计算产业趋势-中关村在线
  14. stm32正点原子和普中或是野火哪个好?
  15. 一年省一,两年国集,高二斩获世界金牌,他有哪些经验值得借鉴?
  16. #猜数游戏 之心中无女人猜数自然神,你能一次猜对吗?
  17. java jacob pdf_java-使用Jacob实现office转换成pdf
  18. Measurement Studio 2019 for Visual Studio 2019
  19. 数学之美,C++之美,代码之美
  20. 【Java MySQL】 009 JDBC

热门文章

  1. 【Qt】Qt5.12编译MySQl5.7驱动(亲自测试成功)
  2. mysql从oracle取数_Oracle通过过程定期取数
  3. 故障模块名称kernelbase.dll_西门子PLC数字量DI扩展模块1221一级总代理
  4. 每天一道LeetCode-----将字符串切分成若干单词,使得每个单词都在给定的字典中,求出所有的切分结果
  5. java学习笔记 2022.2.11
  6. RK1109 RK1126等芯片来袭,2020年瑞芯微旗下SoC一览
  7. windows7不支持AllocateAndGetTcpExTableFromStack
  8. error LNK2005: _DllMain@12 already defined的解决办法
  9. can协议解析字符串的原理
  10. C++ 调试帮助简介