變量是保存一個(gè)或多個(gè)連續(xù)字節(jié)的特定內(nèi)存塊。
程序中的每個(gè)變量都有一個(gè)名稱,它將對(duì)應(yīng)于該變量的內(nèi)存地址
我們使用變量名稱將數(shù)據(jù)值存儲(chǔ)在內(nèi)存中或檢索內(nèi)存中包含的數(shù)據(jù)。
以下代碼硬編碼字符串中的值10。它不使用變量。
#include <stdio.h>
int main(void)
{
printf("My salary is $10.");
return 0;
}
上面的代碼生成以下結(jié)果。
變量名稱是以一個(gè)字母開頭的一個(gè)或多個(gè)大寫或小寫字母,數(shù)字和下劃線字符(_)的序列。
合法變量名稱的示例如下:
半徑直徑Current_May my_Result D123
變量名不能以數(shù)字開頭,因此8_value和6_size不是合法名稱。
變量名不能包含字母,下劃線和數(shù)字以外的字符。
要聲明一個(gè)名為myvar1的變量,請(qǐng)寫下列內(nèi)容:
int myvar1;
int
是數(shù)據(jù)類型。
以下是可以在C語言中使用的常見數(shù)據(jù)類型的列表。
int long float char double
我們也可以寫下如下許多變量:
int myvar1, myvar2;
一旦聲明,這些變量可以用于根據(jù)數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù)。
您聲明的變量可以由值賦值。
它可以使用等號(hào)(=)。
例如,變量myvar1將賦值數(shù)字100,你會(huì)寫這個(gè):
int myvar1 = 100;
您還聲明如下
int myvar1; myvar1 = 100;
您必須根據(jù)數(shù)據(jù)類型正確地為變量賦值。
如果沒有,編譯過程中會(huì)出錯(cuò)。
您可以重寫以前的程序以使用int類型的變量,它是一個(gè)整數(shù)類型:
#include <stdio.h>
int main(void) {
int salary; // Declare a variable called salary
salary = 10000; // Store 10000 in salary
printf("My salary is %d.\n", salary);
return 0;
}
上面的代碼生成以下結(jié)果。
識(shí)別您用于存儲(chǔ)工資的內(nèi)存的語句如下:
int salary; // Declare a variable called salary
該語句稱為變量聲明,因?yàn)樗暶髯兞康拿Q。
在這種情況下,名稱是salary。
變量聲明以分號(hào)結(jié)尾。
變量聲明還指定變量將存儲(chǔ)的數(shù)據(jù)類型。
你使用關(guān)鍵字int來指定變量 salary
將用于存儲(chǔ)int類型的整數(shù)值。
關(guān)鍵字 int
在變量的名稱之前。
這只是您可以用來存儲(chǔ)整數(shù)的幾種不同類型之一。
關(guān)鍵字是在C中保留的具有特殊含義的詞。
您不能在代碼中使用關(guān)鍵字作為變量或其他實(shí)體的名稱。
如果這樣做,您的編譯器將產(chǎn)生錯(cuò)誤消息。
下一個(gè)聲明是:
salary = 10000; // Store 10000 in salary
這是一個(gè)簡(jiǎn)單的算術(shù)賦值語句。
它將值設(shè)置在等號(hào)的右側(cè),并將其存儲(chǔ)在等號(hào)左側(cè)的變量中。
=
符號(hào)稱為賦值運(yùn)算符,因?yàn)樗鼘⒂覀?cè)的值分配給左側(cè)的變量。
printf()聲明:
printf("My salary is %d.\n", salary);
括號(hào)內(nèi)有兩個(gè)參數(shù),用逗號(hào)分隔。
參數(shù)是傳遞給函數(shù)的值。
printf()
函數(shù)的兩個(gè)參數(shù)是:
第一個(gè)參數(shù)是一個(gè)控制字符串,它控制如何顯示由以下參數(shù)或參數(shù)指定的輸出。
它也稱為格式字符串。
第二個(gè)參數(shù)是變量名稱salary。
第一個(gè)參數(shù)中的控制字符串確定如何顯示salary的值。
%d
稱為變量值的轉(zhuǎn)換說明符。
轉(zhuǎn)換說明符確定變量值在屏幕上的顯示方式。
d
是適用于整數(shù)值的十進(jìn)制說明符。
這意味著第二個(gè)參數(shù)(salary)將被表示并輸出為十進(jìn)制(基數(shù)10)。
轉(zhuǎn)換說明符始終以%字符開頭,以便printf()函數(shù)可以識(shí)別它們。
因?yàn)榭刂谱址械模タ偸侵甘巨D(zhuǎn)換說明符的開始,所以當(dāng)您要輸出一個(gè)%字符時(shí),您必須使用轉(zhuǎn)義序列%%。
以下代碼顯示如何使用兩個(gè)Conversion說明符。
#include <stdio.h>
int main(void)
{
int chair;
int table;
chair = 2;
table = 3;
// Display some output
printf("%d table for %d chair\n", table, chair);
return 0;
}
您首先使用以下語句聲明兩個(gè)變量table 和 chair:
int chair; // Declare a variable called chair int table; // and a variable called table
您可以將兩個(gè)變量指定為 int
類型,因此它們只能存儲(chǔ)整數(shù)值。
它們已經(jīng)在單獨(dú)的聲明中被聲明。
因?yàn)樗鼈兌际峭活愋偷?,所以你可以保存一行代碼,并將它們一起聲明為:
int chair, table;
接下來的兩個(gè)語句將值賦值給每個(gè)變量:
chair = 2; table = 3;
上面的代碼生成以下結(jié)果。
該程序使用變量的值進(jìn)行簡(jiǎn)單的計(jì)算:
#include <stdio.h>
int main(void)
{
int total_count;
int birds;
int tigers;
int pigs;
int others;
birds = 26;
tigers = 13;
pigs = 541;
others = 46;
// Calculate the total number
total_count = birds + tigers + pigs + others;
printf("We have %d in total\n", total_count); // Output the result
return 0;
}
上面的代碼生成以下結(jié)果。
在上一個(gè)示例中,您使用以下語句聲明每個(gè)變量:
int birds; // The number of birds as pets
您使用此語句設(shè)置變量birds的值:
birds = 2;
這將birds的值設(shè)置為2。
第一個(gè)語句創(chuàng)建名為bird的變量,但是它的值將是使用該內(nèi)存的最后一個(gè)程序留下的內(nèi)存。
我們可以在聲明時(shí)初始化變量。
您可以使用以下語句來執(zhí)行此操作:
int birds = 2;
此語句將bird聲明為int類型,并將其初始值設(shè)置為2。
更多建議: