歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

C語言的變量與算術表達式

變量和表達式在C語言中隨處可見

現在就利用C語言來寫一個華氏溫度和攝氏溫度的對照表

華氏溫度和攝氏溫度的對應公式為:設施溫度=(5/9)(華氏溫度-32)

效果如下

[[email protected]]# ./sheshidu
華氏溫度      攝氏溫度
0    =    -17
20    =    -6
40    =    4
60    =    15
80    =    26
100    =    37
120    =    48
140    =    60
160    =    71
180    =    82
200    =    93
220    =    104
240    =    115
260    =    126
280    =    137
300    =    148

下邊是源代碼:

[[email protected]]# cat sheshidu.c
#include <stdio.h>                                    //宏定義頭文件
main()                                                          //主main函數
{                                                                    //函數體
    int i, S;                                                      //變量聲明第一處
    int F_max, F_min, buchang;                //變量聲明第二處
   
    F_min = 0;                                                //變量賦值
    F_max = 300;
    buchang = 20;
   
    i = F_min;                                                  //變量賦值
    printf("華氏溫度      攝氏溫度\n");          //打印函數
    while ( i <= F_max) {                              //while循環的開始和循環條件
        S = 5 * ( i - 32 ) / 9;                              //計算出攝氏溫度和華式溫度的對應關系
        printf("%d\t=\t%d\n", i, S);                  //printf函數打印出i華氏溫度和S攝氏溫度
        i = i + buchang;                                    //步長,隔幾度算一次
    }                                                                  //循環體結束
}                                                                      //main函數結束


第一個知識點 聲明


在C語言中,使用一個變量的時候,必須先聲明之

如:

    int i, S;                                                     
此處是變量的聲明部分,將i,S兩個變量聲明成int類型

int為什麼要聲明?

因為C在調用變量之前,必須要有這個變量的存儲空間,聲明就是問系統申請這個變量的存儲空間

一個int類型的值需要多少內存空間?

按編譯器而定gcc一般是32位,那麼最大值是32個1,十進制是4294967295取值范圍應該是-2147483647~2147483647一共是4294967294再加一個0

win下的TC編譯器則是16位,那麼最大值是16個1,十進制為65535取值范圍是(65535-1)/2 一共是+/-的32767之間

64位的編譯器則int按以上規則推算

當然C語言的變量類型不止int一種以後有接觸到的現解決或者查看有關C語言變量聲明的資料,此處筆者只是按int類型來說明這個問題。


此處變量的聲明還有一個特點

                    int i,S;

一次聲明兩個變量i和S,在C語言中“,“英文的逗號,也是一種運算符,它的優先級最低,只是起到一個分隔的作用,以上聲明方式可寫成如下形式:

                    int i;

                    int S;

這個聲明效果和上述的聲明效果是一樣的,只是上述的易讀性高,簡單明了,所有在以後的代碼書寫中,沒有特殊意義的,都將如此聲明。

第二個知識點 賦值

變量賦值,變量,能夠變動的常量,叫做變量,如何變動?那就是賦值,如下:

    F_min = 0;                                                //變量賦值
    F_max = 300;(1處)
    buchang = 20;
   
    i = F_min;    (2處)

以上均為賦值行為,予變量賦值可以賦予常量(1處),也可有賦予變量(2處)
還有一種賦值行為:S = 5 * ( i - 32 ) / 9;

這個表達式計算過程是這樣的

首先()的運算級別最高,先算得擴弧內的內容,然後然後*和/是從右到左計算,然後等號的運算級別最低,所以先將等號右邊的計算完成後,賦值給等號左邊的值


變量的聲明和賦值還可以直接聲明後進行賦值如下

如i和F_max變量,可以寫成:

            int F_max = 300;

            int i = F_MAX;

從上述可以看到,C語言中變量的聲明和賦值是可以放到一起的,不管是賦予常量還是變量!


第三個只是點C語言中的加減乘除

S = 5 * ( i - 32 ) / 9;


從表達式這個可以看出運算符“*”是乘法,“-”是減法,“/”是除以則“+”便是加法


第四點while循環

  while ( i <= F_max) {                              //while循環的開始和循環條件,i的值不滿足小於等於F_max的值則循環體結束,循環體內的內容有花擴弧擴起來
        S = 5 * ( i - 32 ) / 9;                              //計算出攝氏溫度和華式溫度的對應關系,循環體動作
        printf("%d\t=\t%d\n", i, S);                  //printf函數打印出i華氏溫度和S攝氏溫度,循環體動作
        i = i + buchang;                                    //步長,隔幾度算一次,每循環一次,循環條件的判斷值i加20,知道i的值大於F_max的時候循環體結束


    }                                                                  //循環體結束

Copyright © Linux教程網 All Rights Reserved