C語言奇妙之旅_常量 VS 變量

基本概念

不可變化的量就叫常量

可以變化的量就叫做變量

變量的本質就是內存中的一段存儲空間

 

如何定義變量

     數據類型 變量名 = 要賦的值;

     等價於

         數據類型 變量名

         變量名 = 要賦的值

    

/*
* 編寫時間:  2018/7/22
* 編寫作者: 流光飛霞
* 程序功能:  變量的定義
* 程序版本:  V1.00
**/

# include <stdio.h>

int main()
{
    float s_f;
    s_f = 11.11;

    int s_i = 22;

    printf("s_f = %f, s_i = %d\n", s_f, s_i);

    return 0;
}

局部變量與全局變量

局部變量就是在函數內部的變量。

全局變量就是在函數外部的變量。

/*
* 編寫時間:  2018/7/22
* 編寫作者: 流光飛霞
* 程序功能:  變量的定義
* 程序版本:  V1.00
**/

# include <stdio.h>

int g_i = 666;

// 自定義函數em, 先不用管
void em()
{

}

int g_j = 888;  /*全局變量*/

int main()
{
   int s_i = 222;  /*局部變量*/

    printf("s_i = %d, g_i = %d, g_j = %d\n", s_i, g_i, g_j);
    printf("s_i + g_i = %d\n", s_i + g_i);

    return 0;
}

/*
***************************************************
總結: 全局變量應該統一放在宏定義常量和頭文件的下方。
      這樣可以使得代碼更加規範 
***************************************************
**/

 

常量

 

宏定義常量

/*
* 編寫時間:  2018/7/22
* 編寫作者: 流光飛霞
* 程序功能:  常量的定義
* 程序版本:  V1.00
**/

# include <stdio.h>

# define F 100

int main()
{
    // 宏定義常量
    //printf("%d", f);  // error, 要區分大小寫
    printf("F = %d\n", F);  // correct

    printf("%d\n", 666);  // 整型常量
    printf("%c\n", 'a');  // 字符型常量
    printf("%f\n", 2.22); // 浮點型常量
 
    return 0;
}

 

宏定義常量推薦統一大寫!

 

使用const 把變量變成常量

/*
* 編寫時間:  2018/7/25
* 編寫作者: 流光飛霞
* 程序功能:  使用const把變量變成常量
* 程序版本:  V1.00
**/

# include <stdio.h>

int main()
{
    const int s_i = 99;
    int s_j = 10;  /* 當初始化變量有兩個, 先定義的作廢! */
 
    s_j = s_i - 10;  /* 重新初始化變量 */

    printf("s_j = %d\n", s_j);
    

    return 0;
}

 

我要試着爲const int s_i = 99; 重新初始化變量

/*
* 編寫時間:  2018/7/25
* 編寫作者: 流光飛霞
* 程序功能:  使用const把變量變成常量
* 程序版本:  V1.00
**/

# include <stdio.h>

int main()
{
    const int s_i = 99;
    int s_j = 10;  /* 當初始化變量有兩個, 先定義的作廢! */

    s_i = 100; 
    s_j = s_i - 10;  /* 重新初始化變量 */

    printf("s_j = %d\n", s_j);
    

    return 0;
}

 

課後作業

  • 寫一個圓周率程序, 要求使用到宏定義常量
  • 在本文下方評論 (指正作者的錯誤 與 隨筆意見), 讓作者寫出更好的文章
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章