#include<stdio.h>
int main()
{
int price =0;
printf("請(qǐng)輸入變量");
scanf("%d",&price);
int change = 100-price;
printf("找您%d元。\n",change);
return 0;
}
int price =0;.
這一行定義了一個(gè)變量。名字price,類(lèi)型為int,初始值為0。
變量是一個(gè)保存數(shù)據(jù)的地方,當(dāng)我們需要在程序中保存數(shù)據(jù)時(shí),比如上面的例子中要用戶(hù)輸入價(jià)格時(shí)就需要一個(gè)變量來(lái)保存它。用一個(gè)變量保存數(shù)據(jù),它才能參加到后面的計(jì)算中,比如計(jì)算找零。
變量的一般形式:<類(lèi)型名稱(chēng)><變量名稱(chēng)>;
如:int price;
int price,amount;
變量的名字是一種“標(biāo)識(shí)符”,它是用來(lái)區(qū)分不同變量的。變量的名字由數(shù)字,字母,和下劃線構(gòu)成,且不能由數(shù)字開(kāi)頭。
C語(yǔ)言的保留字:(不要死記硬背,再后來(lái)的編程中自然而然會(huì)記住)
auto,break,case,char,const,continue,default,do,double,else,enum,extern,float,for,goto,if,int,long,register,return,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile,while,inline,restrict
變量的賦值和初始化
int price = 0;
這個(gè)式子中的 “=”表示賦值運(yùn)算符,把0賦值給price。數(shù)學(xué)中的a=b;表示a和b是相等的這是一個(gè)等式,而程序中a=b,表示一個(gè)動(dòng)作,把b賦值給a。
變量的初始化:如果沒(méi)有給變量的賦初值,這個(gè)變量的初始值不是0,而是一個(gè)任意數(shù)。
變量的初始化:<類(lèi)型名稱(chēng)><變量名稱(chēng)>=<初始值>;
變量類(lèi)型:C語(yǔ)言是一種有類(lèi)型的語(yǔ)言,所有變量必須要在使用之前定義或聲明,所有變量必須有確定的數(shù)據(jù)類(lèi)型,數(shù)據(jù)類(lèi)型表示在變量中可以放什么樣的數(shù)據(jù)類(lèi)型。
int price = 0;
這一行定義了一個(gè)變量。變量的名字是price,類(lèi)型是int,初始值是0。
int change = 100-price;
這一條語(yǔ)句,定義了一個(gè)變量,并且把一個(gè)減法式子的結(jié)果賦給了change。
讀整數(shù):scanf("%d",&price);
scanf函數(shù)要求用戶(hù)輸入一個(gè)整數(shù),并且賦值給price。
常量:
int change = 100-price;
這個(gè)式子中的100是一個(gè)常數(shù)。
一般程序中的常數(shù)用常量代替:
#include<stdio.h>
int main()
{
const int AMOUNT = 100;
int price =0;
printf("請(qǐng)輸入變量");
scanf("%d",&price);
int change = AMOUNT-price;
printf("找您%d元。\n",change);
return 0;
}
或者預(yù)定義:#defined AMOUNT 100
這樣定義常量的好處:
1.程序可讀性提高,別人看到100,可能不知道代表什么意思,但讀到AMOUNT就知道這是個(gè)金額。
2.當(dāng)程序中多次用到這個(gè)常量,要修改這個(gè)常量時(shí),便于修改。
一次讀兩個(gè)變量:
int a,b;
scanf("%d %d",&a,&b);
printf("%d + %d = %d\n",a,b,a+b);
浮點(diǎn)數(shù):
計(jì)算身高的程序:把英尺轉(zhuǎn)換成米
#include <stdio.h>
int main()
{
printf("請(qǐng)分別輸入身高的英尺和英寸,"
"如輸入\"5 7\"表示5英尺7英寸:");
double foot;
int inch;
scanf("%d %d", &foot, &inch);
printf("身高是%f米。\n",
((foot + inch / 12) * 0.3048));
return 0;
}
((foot + inch / 12) * 0.3048));
因?yàn)閕nch變量 和12 這個(gè)常數(shù)都是整型,因此計(jì)算出來(lái)的也是整型。inch/12的值只保留整數(shù)部分,小數(shù)部分都扔掉了。
解決辦法1:
((foot + inch / 12.0) * 0.3048));
整數(shù)和浮點(diǎn)數(shù)計(jì)算會(huì)轉(zhuǎn)化成浮點(diǎn)型。
解決辦法2:
把inch定義成double類(lèi)型。
double inch;