1. 程式人生 > >10.10日上課簡記(常量與變數)

10.10日上課簡記(常量與變數)

10.10日上課簡記

1.變數

在程式執行過程中,其值可以改變的量。

    #include<stdio.h>
    int main()
    {
    	int i;
    int j;
    int sum=0;
    	scanf("%d%d",&i,&j);
    	sum=i+j;
    	printf("%d\n",sum);
    	return 0;
    }

該例中,i,j,sum均為變數,它們是變數的名字,它們空間中儲存的值稱為變數的值。變數必須先宣告再使用。語句int i;和語句int j;分別聲明瞭變數i和j。而語句int sum=0;在宣告變數sum的時候又給它賦值為0,稱為初始化。變數的定義是在程式的執行過程中,其值可以改變。本例中的sum最初的值是0,但執行到sum=i+j;語句後,sum的值發生了改變,所以它為變數。
有同學會說,i和j是不是變數?它們當然也是變數。在宣告語句中int i和int j中,儘管沒有給它們賦初值,但它們的空間裡會有一個隨機值(上節講過),然後在scanf中又給它們輸入了新的值,所以它們的值在執行過程中可以進行改變,因而是變數。假如上述程式中沒有scanf語句,也就是說i和j的空間中一直儲存的是最初的隨機值,它們還是變數,因為人家的值可以改變,是程式中沒有進行改變而已。
通常情況下,相同型別的變數可以這樣寫:int i, j, sum=0;

2.常量

與變數的定義相反,常量是指在程式執行過程中,其值不能改變的量。
例如:100就是一個整型常量,無論太陽升起還是落下,100永遠就是100.
其實,對於我們每個學生來說,假設程式執行時間是大學四年,在這四年裡,我們的學號(假設是20180634)它就是常量,同理我們的性別(例如:男)和名字(張三)也是常量,而我們的身高、體重和知識量就是變數。
此外,還有實型常量,例如0.1;2.1E5。無論是在赤道還是兩極,這兩個數字也變不成0.2。有同學會說,0.1+0.1就變成0.2了,但0.1還是0.1,你不能說它是0.2.
綜述:常量就是一個具體的值。例如:int sum=0;該語句中,sum是變數,它的值可以改變,而0是常量,0的值不能改變。
還有字元常量:’A’,’0’。轉義字元也是常量,例如’\n’就是一個轉義字元,功能是換行,因為換行這個符號無法從鍵盤錄入,所以聰明的程式設計人發明了轉義字元,這是智慧的結晶。
字串常量:”lcy”,”Big Date’
還有一個比較好用的符號常量。
#define PI 3.14
例如:

#include<stdio.h>
int main()
{
	double r,s;
	scanf("%lf",&r);
	s=2*3.14*r;
	printf("s=%lf\n",s);
	return 0;
}

思考:假設程式上千行,裡面涉及到50個地方用到圓周率。最初的時候設定圓周率為3.14。某一天,圓周率需要設定為3.1,你該怎麼做?50個地方一個一個去改嗎?還是。。。。。。