C语言中简单的for循环和浮点型变量
浮點型變量:常數中帶有小數點的叫做浮點型
以下用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循环和浮点型变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 6.Python标准库_子进程 (sub
- 下一篇: ios地图小例子和手势的使用 供大家参