C语言中简单的for循环和浮点型变量
浮點型變量:常數(shù)中帶有小數(shù)點的叫做浮點型
以下用for循環(huán)寫一個攝氏度和華氏度的轉(zhuǎn)換的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");? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //先打印一個華式溫度和攝氏溫度的對應(yīng)標(biāo)題
? ? for (i = 0.0; i <= 300.0; i = i + 20.0) {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //開始for循環(huán),先i=0,然后如果i<=300就執(zhí)行循環(huán)體,i的值每次加20,直到i的值不滿足i <= 300.0條件就推出
? ? ? ? printf("%3.1f\t=\t%3.1f\n", i, (5.0 / 9.0) * (i - 32.0));? ? ? ? ? ? ? ? //直接調(diào)用打印函數(shù),將表達(dá)式計算得結(jié)果后打印出來
? ? }
}
首先說for循環(huán)for后邊的圓擴弧中是循環(huán)的參數(shù)和條件
里邊一共三段,由封號隔開,第一段
i=0;
首先初始化變量的值,進(jìn)入循環(huán),第二段
i<=300;
循環(huán)的執(zhí)行條件,如果過這個條件滿足,則循環(huán)繼續(xù),如果不滿組,則退出,第三部分
i = i + 20;
以上20是溫度的步長,每次增加20,所有的運算符都開以再次處使用例如:
for (i = 512; i >=4; i = i / 2) {.....}
?
從以上代碼看,float是一種變量類型,聲明的變量值必須如n.n,也就是帶有小數(shù)點的常數(shù),也就是俗稱的小數(shù)。
i是一個浮點型變量,它于int類型的值相運算,編譯器自動會將int的值轉(zhuǎn)換成float類型的值,例如一個浮點型的1.5和一個整形的3相加,編譯器會自動將3轉(zhuǎn)換成3.0,然后再和1.5相加
所以此處筆者直接全部用浮點型的常量來代替了
?
在for循環(huán)中的循環(huán)體只有一個printf函數(shù):
printf("%3.1f\t=\t%3.1f\n", i, (5.0 / 9.0) * (i - 32.0));?
在C語言中按正常的運算順序來計算print函數(shù)擴弧內(nèi)的表達(dá)式,擴弧優(yōu)先級最高,然后*號,最后printf將直接打印結(jié)果
這樣的程序書寫方式就比:
[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循環(huán)的直觀多了,易讀性也高,變量也好組織!
?
然后下邊在提一點常量的定義,看如下代碼
[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) {? ? ? ? ? ? ? ? //從符號常量取值進(jìn)行循環(huán)
? ? ? ? printf("%3.1f\t=\t%3.1f\n", i, (5.0 / 9.0) * (i - 32.0));
? ? }
}
第一個for循環(huán)里雖然東西少,但是用了不少“幻量”這種幻量會給以后讀程序的人造成很大的困擾,誰也不知的它是個神碼值,只知道那是一個常量
如果用符號變量定義的話在開頭定義好一個符號常量,然后下次讀程序和改程序只要看這個個地方這個量前邊的符號,即可知道它的含義,改成需只要改這一處即可,如果幻量的話就得逐個的查找替換了
定義方式是:
#define 符號? 常量? ? ? ? ? ? ? ? //這種形式定義
一般將符號常量的定義放在頭文件的下邊和程序的開頭部分!
相關(guān)閱讀:
C語言變長數(shù)組之剖析 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
轉(zhuǎn)載于:https://www.cnblogs.com/xuyinghui/p/4880893.html
總結(jié)
以上是生活随笔為你收集整理的C语言中简单的for循环和浮点型变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 6.Python标准库_子进程 (sub
- 下一篇: ios地图小例子和手势的使用 供大家参