變量
變量就是其值可以改變的量。變量要有變量名,在內存中佔據一定的存儲單元,存儲單元裡存放的是該變量的值。不同類型的變量其存儲單元的大小不同,變量在使用前必須定義。
變量
變量就是其值可以改變的量。變量要有變量名,在內存中佔據一定的存儲單元,存儲單元裡存放的是該變量的值。不同類型的變量其存儲單元的大小不同,變量在使用前必須定義。
(一)整型變量
整型變量分為4種:基本型(int)、短整型(short int 或short)、長整型(long int 或 long)和無符號型(unsigned int ,unsigned short,unsigned long)。
不同的編譯系統對上述四種整型數據所佔用的位數和數值範圍有不同的規定。
類型說明符
單詞signed來說明“有符號”(即有正負數之分),不寫signed也隱含說明為有符號,unsigned用來說明“無符號”(只表示正數)。
(二)實型變量
C語言中,實型變量分為單精度類型( float )和雙精度類型( double )兩種。如:
float a , b ; double m ;
在vc中,float 型數據在內存中佔4個字節(32位),double型數據佔8個字節。單精度實數提供7位有效數字,雙精度實數提供15~16位有效數字。實型常量不分float型和double型,一個實型常量可以賦給一個float 型或double型變量,但變量根據其類型截取實型常量中相應的有效數字。
注意:實型變量只能存放實型值,不能用整型變量存放實型值,也不能用實型變量存放整型值。
(三)字符變量
字符變量用來存放字符常量,定義形式:
char 變量名;
其中關鍵字char定義字符型數據類型,佔用一個字節的存儲單元。
例:char cr1,cr2; cr1= ‘A’ , cr2=‘B’ ;
將一個字符賦給一個字符變量時,並不是將該字符本身存儲到內存中,而是將該字符對應的ASCII碼存儲到內存單元中。例如,字符 ′A′ 的ASCII碼為65,在內存中的存放形式如下:0
由於在內存中字符以ASCII碼存放,它的存儲形式和整數的存儲形式類似,所以C語言中字符型數據與整型數據之間可以通用,一個字符能用字符的形式輸出,也能用整數的形式輸出,字符數據也能進行算術運算,此時相當於對它們的ASCII碼進行運算。
類型的自動轉換和強制轉換
當同一表達式中各數據的類型不同時,編譯程序會自動把它們轉變成同一類型後再進行計算。轉換優先級為:
char < int < float < double
即左邊級別“低“的類型向右邊轉換。具體地說,若在表達式中優先級最高的數據是double型,則此表達式中的其他數據均被轉換成double型,且計算結果也是double型;若在表達式中優先級最高的數據是float型,則此表達式中的其他數據均被轉換成float型,且計算結果也是float型。
在做賦值運算時,若賦值號左右兩邊的類型不同,則賦值號右邊的類型向左邊的類型轉換;當右邊的類型高於左邊的類型時,則在轉換時對右邊的數據進行截取。
除自動轉換外,還有強制轉換,表示形式是:
( 類型 )(表達式); 例:(int)(a+b)
討論:當a值賦值為3.4,b值賦值為2.7,(int)(a+b)和(int)a+b的值分別為多少?
C運算符認識
C語言的運算符範圍很廣,可分為以下幾類:
、算術運算符:用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(%)、自增(++)、自減(--)共七種。
、賦值運算符:用於賦值運算,分為簡單賦值(=)、複合算術賦值(+=,-=,*=,/=,%=)和複合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。 <="" span="">
、逗號運算符:用於把若干表達式組合成一個表達式(,)。
、關係運算符:用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(="">=)、小於等於(<=)和不等於(!=)六種。 <="" span="">
、邏輯運算符:用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
、條件運算符:這是一個三目運算符,用於條件求值(?:)。
、位操作運算符:參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
8、指針運算符:用於取內容(*)和取地址(&)二種運算。
9、求字節數運算符:用於計算數據類型所佔的字節數(sizeof)。
10、特殊運算符:有括號(),下標[],成員(→,.)等幾種。
另外,按參與運算的對象個數,C語言運算符可分為:單目運算符 (如 !)、雙目運算符 (如+,- )和三目運算符 (如 ? : )。
算術運算符和算術表達式
一、 基本的算術運算符
(1)+(加法運算符或正值運算符,如2+5)。
(2)-(減法運算符或負值運算符,如4-2)。
(3)*(乘法運算符,如3*8)。
(4)/(除法運算符,如11/5)。
/的運算分為兩種情況:
a、“除”的左右兩邊都為整數時,所得結果必然是整數(注意:僅取整數部分,不是四捨五入)
比如:5/2的值為2,不是2.5,1/2的值為0。
b、“除”的左右兩邊至少有一個是實型數據(即小數)時,所得結果為實型數據。
比如:5/2.0的值為2.5,7.0/2.0的值為3.5.
(5)%(模運算符或稱求餘運算符,%兩側均應為整型數據,如9%7的值為2)。
需要說明的是:當運算對象為負數時,所得結果隨編譯器不同而不同,在vc中,結果的符號與被除數相同,比如:13%-2值為1,而-15%2值為-1。
二、 算術表達式和運算符的優先級與結合性
算術表達式是用算術運算符和括號將運算量(也稱操作數)連接起來的、符合C語言語法規則的表達式。運算對象包括函數、常量和變量等。
在計算機語言中,算術表達式的求值規律與數學中的四則運算的規律類似,其運算規則和要求如下。
(1)在算術表達式中,可使用多層圓括號,但括號必須配對。運算時從內層圓括號開始,由內向外依次計算各表達式的值。
(2)在算術表達式中,對於不同優先級的運算符,可按運算符的優先級由高到低進行運算,若表達式中運算符的優先級相同,則按運算符的結合方向進行運算。
(3)如果一個運算符兩側的操作數類型不同,則先利用自動轉換或強制類型轉換,使兩者具有相同類型,然後進行運算。
三、 自增自減運算符
作用:使變量的值增1或減1。
如:++i,--i (在使用i之前,先使i的值加1、減1)。 i++,i-- (在使用i之後,使i的值加1、減1)。
(1)只有變量才能用自增運算符 (++)和自減運算符(--),而常量或表達式不能用,如10++或(x+y)++都是不合法的。
(2)++和--的結合方向是“自右向左“,如 -i++ ,i的左邊是負號運算符,右邊是自增運算符,負號運算和自增運算都是 “自右向左“結合的,相當於 -(i++)。
在循環語句中常用到自增(減)運算符,在指針中也常用到該運算符,考生要弄清楚“i++”和“++i”及“i--”和“--i”的區別,特別弄清楚表達式的值和變量的值。
賦值運算符與賦值表達式
一、賦值運算符與賦值表達式
賦值符號 “=“就是賦值運算符,作用是將一個數據賦給一個變量或將一個變量的值賦給另一個變量,由賦值運算符組成的表達式稱為賦值表達式。一般形式為:
變量名 = 表達式
在程序中可以多次給一個變量賦值,每賦一次值,與它相應的存儲單元中的數據就被更新一次,內存中當前的數據就是最後一次所賦值的那個數據。
例:a=12; 此表達式讀作“將10的值賦值給變量a”。
a、如果賦值號兩邊的運算對象類型不一致,系統會自動進行類型轉換,轉換的規則:將賦值號右邊表達式的值的類型轉換成賦值號左邊變量的類型,
例:int y=3.5; 在變量y中最終存儲的是整數3。
b、 可以將複製表達式的值再賦值給變量,形成連續賦值。
例如:x=y=25 是一個連續賦值表達式,x=y=25 等價於x=(y=25),所以表達式x=y=25 最終的值為25 。
以上是對C語言基礎知識的總結,如果大家對C語言感興趣的話可以私聊我回復“資料”,我這裡蒐集了許多C/C++的學習資料可以免費分享給有需要的朋友哦!!!
變量
變量就是其值可以改變的量。變量要有變量名,在內存中佔據一定的存儲單元,存儲單元裡存放的是該變量的值。不同類型的變量其存儲單元的大小不同,變量在使用前必須定義。
(一)整型變量
整型變量分為4種:基本型(int)、短整型(short int 或short)、長整型(long int 或 long)和無符號型(unsigned int ,unsigned short,unsigned long)。
不同的編譯系統對上述四種整型數據所佔用的位數和數值範圍有不同的規定。
類型說明符
單詞signed來說明“有符號”(即有正負數之分),不寫signed也隱含說明為有符號,unsigned用來說明“無符號”(只表示正數)。
(二)實型變量
C語言中,實型變量分為單精度類型( float )和雙精度類型( double )兩種。如:
float a , b ; double m ;
在vc中,float 型數據在內存中佔4個字節(32位),double型數據佔8個字節。單精度實數提供7位有效數字,雙精度實數提供15~16位有效數字。實型常量不分float型和double型,一個實型常量可以賦給一個float 型或double型變量,但變量根據其類型截取實型常量中相應的有效數字。
注意:實型變量只能存放實型值,不能用整型變量存放實型值,也不能用實型變量存放整型值。
(三)字符變量
字符變量用來存放字符常量,定義形式:
char 變量名;
其中關鍵字char定義字符型數據類型,佔用一個字節的存儲單元。
例:char cr1,cr2; cr1= ‘A’ , cr2=‘B’ ;
將一個字符賦給一個字符變量時,並不是將該字符本身存儲到內存中,而是將該字符對應的ASCII碼存儲到內存單元中。例如,字符 ′A′ 的ASCII碼為65,在內存中的存放形式如下:0
由於在內存中字符以ASCII碼存放,它的存儲形式和整數的存儲形式類似,所以C語言中字符型數據與整型數據之間可以通用,一個字符能用字符的形式輸出,也能用整數的形式輸出,字符數據也能進行算術運算,此時相當於對它們的ASCII碼進行運算。
類型的自動轉換和強制轉換
當同一表達式中各數據的類型不同時,編譯程序會自動把它們轉變成同一類型後再進行計算。轉換優先級為:
char < int < float < double
即左邊級別“低“的類型向右邊轉換。具體地說,若在表達式中優先級最高的數據是double型,則此表達式中的其他數據均被轉換成double型,且計算結果也是double型;若在表達式中優先級最高的數據是float型,則此表達式中的其他數據均被轉換成float型,且計算結果也是float型。
在做賦值運算時,若賦值號左右兩邊的類型不同,則賦值號右邊的類型向左邊的類型轉換;當右邊的類型高於左邊的類型時,則在轉換時對右邊的數據進行截取。
除自動轉換外,還有強制轉換,表示形式是:
( 類型 )(表達式); 例:(int)(a+b)
討論:當a值賦值為3.4,b值賦值為2.7,(int)(a+b)和(int)a+b的值分別為多少?
C運算符認識
C語言的運算符範圍很廣,可分為以下幾類:
、算術運算符:用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(%)、自增(++)、自減(--)共七種。
、賦值運算符:用於賦值運算,分為簡單賦值(=)、複合算術賦值(+=,-=,*=,/=,%=)和複合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。 <="" span="">
、逗號運算符:用於把若干表達式組合成一個表達式(,)。
、關係運算符:用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(="">=)、小於等於(<=)和不等於(!=)六種。 <="" span="">
、邏輯運算符:用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
、條件運算符:這是一個三目運算符,用於條件求值(?:)。
、位操作運算符:參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
8、指針運算符:用於取內容(*)和取地址(&)二種運算。
9、求字節數運算符:用於計算數據類型所佔的字節數(sizeof)。
10、特殊運算符:有括號(),下標[],成員(→,.)等幾種。
另外,按參與運算的對象個數,C語言運算符可分為:單目運算符 (如 !)、雙目運算符 (如+,- )和三目運算符 (如 ? : )。
算術運算符和算術表達式
一、 基本的算術運算符
(1)+(加法運算符或正值運算符,如2+5)。
(2)-(減法運算符或負值運算符,如4-2)。
(3)*(乘法運算符,如3*8)。
(4)/(除法運算符,如11/5)。
/的運算分為兩種情況:
a、“除”的左右兩邊都為整數時,所得結果必然是整數(注意:僅取整數部分,不是四捨五入)
比如:5/2的值為2,不是2.5,1/2的值為0。
b、“除”的左右兩邊至少有一個是實型數據(即小數)時,所得結果為實型數據。
比如:5/2.0的值為2.5,7.0/2.0的值為3.5.
(5)%(模運算符或稱求餘運算符,%兩側均應為整型數據,如9%7的值為2)。
需要說明的是:當運算對象為負數時,所得結果隨編譯器不同而不同,在vc中,結果的符號與被除數相同,比如:13%-2值為1,而-15%2值為-1。
二、 算術表達式和運算符的優先級與結合性
算術表達式是用算術運算符和括號將運算量(也稱操作數)連接起來的、符合C語言語法規則的表達式。運算對象包括函數、常量和變量等。
在計算機語言中,算術表達式的求值規律與數學中的四則運算的規律類似,其運算規則和要求如下。
(1)在算術表達式中,可使用多層圓括號,但括號必須配對。運算時從內層圓括號開始,由內向外依次計算各表達式的值。
(2)在算術表達式中,對於不同優先級的運算符,可按運算符的優先級由高到低進行運算,若表達式中運算符的優先級相同,則按運算符的結合方向進行運算。
(3)如果一個運算符兩側的操作數類型不同,則先利用自動轉換或強制類型轉換,使兩者具有相同類型,然後進行運算。
三、 自增自減運算符
作用:使變量的值增1或減1。
如:++i,--i (在使用i之前,先使i的值加1、減1)。 i++,i-- (在使用i之後,使i的值加1、減1)。
(1)只有變量才能用自增運算符 (++)和自減運算符(--),而常量或表達式不能用,如10++或(x+y)++都是不合法的。
(2)++和--的結合方向是“自右向左“,如 -i++ ,i的左邊是負號運算符,右邊是自增運算符,負號運算和自增運算都是 “自右向左“結合的,相當於 -(i++)。
在循環語句中常用到自增(減)運算符,在指針中也常用到該運算符,考生要弄清楚“i++”和“++i”及“i--”和“--i”的區別,特別弄清楚表達式的值和變量的值。
賦值運算符與賦值表達式
一、賦值運算符與賦值表達式
賦值符號 “=“就是賦值運算符,作用是將一個數據賦給一個變量或將一個變量的值賦給另一個變量,由賦值運算符組成的表達式稱為賦值表達式。一般形式為:
變量名 = 表達式
在程序中可以多次給一個變量賦值,每賦一次值,與它相應的存儲單元中的數據就被更新一次,內存中當前的數據就是最後一次所賦值的那個數據。
例:a=12; 此表達式讀作“將10的值賦值給變量a”。
a、如果賦值號兩邊的運算對象類型不一致,系統會自動進行類型轉換,轉換的規則:將賦值號右邊表達式的值的類型轉換成賦值號左邊變量的類型,
例:int y=3.5; 在變量y中最終存儲的是整數3。
b、 可以將複製表達式的值再賦值給變量,形成連續賦值。
例如:x=y=25 是一個連續賦值表達式,x=y=25 等價於x=(y=25),所以表達式x=y=25 最終的值為25 。
以上是對C語言基礎知識的總結,如果大家對C語言感興趣的話可以私聊我回復“資料”,我這裡蒐集了許多C/C++的學習資料可以免費分享給有需要的朋友哦!!!