c語言學習之路2

2021-10-06 19:09:22 字數 4271 閱讀 9011

本篇關於c語言的變數以及運算子部分知識進行學習記錄

2.1算找零

總金額100元,輸入乙個整數表示消費的金額,輸出找零的金額

#include

intmain()

·int price=0,這一行定義了乙個變數。變數的名字是price,型別是int,初始值是0。

·變數是乙個儲存資料的地方,當我們需要在程式裡儲存資料時,比如上面的例子中,要記錄使用者輸入的**,就需要乙個變數來儲存它。用乙個變數儲存了資料,它才能參加到後面的計算中,比如計算找零。

變數的定義

·變數定義的一般形式就是《型別名稱》《變數名稱》;

如:·int price;

·int amount;

·int price,amount;//定義兩個變數,型別都是int

變數的名字

·變數需要乙個名字,變數的名字是一種「識別符號」,意思是它是用來識別這個和那個的不同的名字

·識別符號有識別符號的構造規則。基本的原則是:識別符號只能由字母、數字和下劃線組成,數字不可以出現在第乙個位置上,c語言的關鍵字(有的地方叫它們保留字)不可以用作識別符號。

·c語言的關鍵字(保留字)有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,這一行定義了乙個變數。變數的名字是price,型別是int,初始值是0。

·price=0是乙個式子,這裡的「=」是乙個賦值運算子,表示將「=」右邊的值賦給左邊的變數。

賦值

·和數學不同,a=b在數學中表示關係,即a和b的值一樣;而在程式設計中,a=b表示要求計算機做乙個動作:將b的值賦給a。關係是靜態的,而動作是動態的。在數學中,a=b和b=a是等價的,而在程式設計中,兩者的意思完全相反。

初始化

·當賦值發生在定義變數的時候,如int price=0,就是變數的初始化。雖然c語言並沒有強制要求所有的變數都在定義的地方做初始化,但是所有的變數在第一次被使用(出現在賦值運算子的右邊)之前應該被賦值一次。

·變數初始化格式:《型別名稱》《變數名稱》=《初始值》。如:

int price=0;

int amount=100;

·組合變數定義的時候也可以在這個定義中單獨給單個變數賦初值,如:int price=0,amount=100;

變數型別

·c是一種有型別的語言,所有的變數在使用之前必須定義或宣告,所有的變數必須具有確定的資料型別。資料型別表示在變數中可以存放什麼樣的資料,變數中只能存放指定型別的資料,程式執行過程中也不能改變變數的型別。

·int change=100-price,定義了第二個變數change,並且做了計算。

讀整數

·scanf("%d",&price);要求scanf這個函式讀入下乙個整數,讀到的結果賦值給變數price。注意price前面的&。

常量

·固定不變的數,是常數。直接寫在程式裡,我們稱作直接量。更好的方式,是定義乙個常量:const int amount=100;

·const是乙個修飾符,加在int的前面,用來給這個變數加上乙個const(不變的)的屬性。這個const的屬性表示這個變數的值一旦初始化,就不能再修改了。

·如果你試圖對常量做修改,把它放在賦值運算子的左邊,就會被編譯器發現,指出為乙個錯誤。

2.2整數相加

#include

intmain()

scanf中兩個%d之間用空格隔開,所以在輸入的時候也需要用空格隔開兩個數

2.3計算身高

·美國人固執的使用英製計量單位,他們習慣用幾尺幾寸(英呎英吋)來報自己的身高。如果遇到乙個美國人告訴你他是5英呎7,他的身高應該是一公尺幾呢?公式:

(英呎+英吋/12)×0.3048=?公尺

(5+7/12)×0.3048=1.7018公尺

#include

intmain()

第二種改進方法:

·inch是定義為int型別的變數,如果把int換成double,我們就把它改為double型別的浮點數變數了。

·double的意思是「雙」,它本來是「雙精度浮點數」的第乙個單詞,人們用來表示浮點數型別。除了double,還有float表示單精度浮點數。

#include

intmain()

注意:

double型別的變數輸入時使用%lf,輸出時使用%f

int型別的變數輸入時使用%d,輸出時使用%d

表示式

·乙個表示式是一系列運算子和運算元的組合,用來計算乙個值。如:

amount=x*(1+0.033)*(1+0.033);

total=57;

count=count+1;

·運算子(operator)是指進行運算的動作,比如加法運算子「+」,減法運算子「-」。

·運算元(operand)是指參與運算的值,這個值可能是常數,也可能是變數,還可能是乙個方法的返回值。

2.4計算時間差

·輸入兩個時間,每個時間分別輸入小時和分鐘的值,然後輸出兩個時間之間的差,也以幾小時幾分表示。

方法一:兩個時間都換算成分鐘,相減後得到時間差,再換算為幾時幾分

hour*60+minute→轉換為分鐘單位

time/60→小時部分;time%60→分鐘

#include

intmain()

方法二:借位運算,分鐘數減分鐘數,如果minute1#include

intmain()

printf

("相差%d小時%d分鐘"

,ih,im)

;}2.5求平均值

輸入兩個整數,輸出它們的平均值

#include

intmain()

運算子優先順序

賦值運算子

·賦值也是運算,也有結果

·a=6的結果是a被賦予的值,也就是6

·a=b=6→a=(b=6)

2.6計算複利

在銀行存定期的時候,可以選擇到期後自動轉存,並將到期的利息計入本金合併轉存。如果一年期的定期利率是3.3%,那麼連續自動轉存3年後,最初存入的x元定期會得到多少本息餘額?

#include

intmain()

2.7交換兩個變數

#include

intmain()

復合賦值·5個算術運算子,+ - * / %,可以和賦值運算子「=」結合起來,形成復合賦值運算子:「+=」、「-=」、「*=「、「/=」、「%=」。如:

total+=5等價於total=total+5

total * =sum+12等價於total=total *(sum+12)

·注意兩個運算子中間不要有空格

遞增遞減運算子

·「++」和「–」是兩個很特殊的運算子,它們是單目運算子,這個運算元還必須是變數。這兩個運算子分別叫做遞增和遞減運算子,他們的作用就是給這個變數+1或者-1。

·++和- -可以放在變數的前面,叫做字首形式,也可以放在變數的後面,叫做字尾形式。

·a++,操作後加一;++a先加一再做操作;單獨使用時,a++和++a效果一樣。

2.8++a和a++的區別

#include

intmain()

C語言學習之路

一.入門 目的 了解一下這門課有哪些知識點 對任何一門課,其實入門只要找一本自己能堅持看下去的書就可以了.這一過程大約要60h,以8 10p h的小時.我想沒人會選擇用多於500頁的書來入門吧.結果 知道c程式的組成成分是屬於哪部分.c裡面有哪些知識點,自己能抽象出來.學習過程就是抽象過程 個人觀點...

C語言學習之路

初識c語言 c語言資料型別 運算子和表示式 整數浮點數 字元型資料 字串 算術運算子和算術表示式 優先順序,結合性等 順序程式設計 運算子之類內容,字元輸入輸出等 c c 檢視陣列型別長短 python的len的封裝原理 if 結構和三目運算和switch語句 c的迴圈語句 c陣列c演算法 c遞迴程...

C 語言學習 2

程式2 題目 企題目 企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提10 利潤高於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可可提成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬到60萬之間時高於40萬元的部分,可提成3 ...