C語言常量的類型
在C語言中,其值不能被改變的量稱為常量。常量有5種類型:整型常量、實型常量、字符常量、字符串常量和符號常量。下面一起來詳細看看!
(一)數值轉換
數字的四種表現形式:
①:二進制:所有數字由0,1構成,逢二進一,二進制數中不會出現2.。
例:110101
②:八進制:以數字0(注意不是以字母O,o)開頭,所有數字由0~7構成,逢八進一,八進制數中不會出現8。
例:0112,0123,077等
③:十進制:所有數字由0~9構成,逢十進一,十進制數中不會出現10。
例:0,12,-15等
④:十六進制:以0x或者0X(數字0加字母x)開頭,所有數字由0~9,A~F(或者a~f)構成,逢十六進一(其中A、B、C、D、E、F分別代表10、11、12、13、14、15)
例:0x4A、0X14c7等
在計算機內部,數字均以二進制形式表示和存放,用户輸入的普通十進制數字都要被計算機轉換成二進制才能在計算機內部存儲,同樣計算機的運算結果也為二進制,一般要將其轉換成十進制數再輸出給用户閲讀,這種轉換通常由計算機自動實現。
(1)將十進制轉換二進制、八進制和十六進制
除法:將十進制數除以2,記錄餘數,得到的商繼續除以2,直到商為0,然後將各次相處所得的餘數從後往前逆序排列,所得餘數數字序列就是該十進制數對應的二進制數。八進制和十六進制轉換方法同上。
例:十進制數13轉換成二進制數的值為1101,轉換八進制為015,轉換成十六進制為D.
(2)將二進制、八進制和十六進制轉換成十進制
乘積求和:將二進制的每一位從低位到高位(右邊為低位,左邊為高位)分別乘以20,21,22。。。。,然後將這些積求和。
例如:(1101)2=(13)10 (317)8=(207)10 (23E)16=(574)10
(3)二進制與八進制、十六進制數之間的相互轉換
①:二進制轉八進制:從右往左每三位一組轉換成十進制數,將所得數據組合就是對應的八進制數(注意:高位不足三位補零)。
例:(010 110 111)2=(267)8
②:二進制轉十六進制:從右往左每四位一組轉換成十進制數,將所得數據組合就是對應的十六進制數(注意:高位不足四位補零)。
例:(0101 1011)2=(5B)16
③:八進制轉化二進制:每一位數字轉換為三位二進制數字
例:(13)8=(001 011)2=(1011)2
(注意:去掉前面的兩個00,因為0在高位沒有意義)
④:十六進制轉化二進制:每一位數字轉換為四位二進制數字
例:(E3)16=(1110 0011)2
(二)整型常量
整型常量有3種形式:十進制整型常量、八進制整型常量和十六進制整型常量。
(注意:C語言中沒有直接表示二進制的整型常量,在c語言源程序中不會出現二進制。)
書寫方式如下:
十進制整型常量:123 , 0 ,-24 , 85L(長整型常量) 等
八進制整型常量:051 ,-026 ,0773 等
十六進制整型常量:0x55 , 0x1101 , 0x , 0x5AC0 , -0xFF。
其中L為長整型。
(三)實型常量
實型常量有兩種表示形式:小數形式和指數形式。
小數形式:5.4 0.074 -23.0
指數形式:5.4e0 4.3e-3 -3.3e4
(1)小數部分為0的實型常量,可以寫為453.0 或453。
(2)用小數表示時,小數點的兩邊必須有數,不能寫成“ .453“和“453.“,而應該寫成“0.453“和“453.0“。
(3)用指數寫法時,e前必須有數字,e後面的指數必須為整數(注意:整數階碼可以是正數,負數,也可以是八進制數、十六進制數,但必須為整數)。
(四)字符常量
字符常量的標誌是一對單引號‘ ’,c語言中的字符常量有兩類:
(1)由一對單引號括起來的一個字符,如‘a ’, ‘r’ ,‘#’。注意: ′a′ 和 ′A′ 是兩個不同的字符常量。
(2)由一對單引號括起來,以反斜槓開頭,後跟若干數字或者字母,比如‘n’,其中““是轉義的意思,後面跟不同的字符表示不同的意思,這類字符常量叫轉義字符。具體如圖所示 。
轉義字符 轉義字符的.意義 ASCII碼
回車換行 10
橫向跳到下一製表位置 9
退格 8
回車 13
f 走紙換頁 12
反斜線符"" 92
' 單引號符 39
” 雙引號符 34
a 鳴鈴 7
ddd 1~3位八進制數所代表的字符
xhh 1~2位十六進制數所代表的字符
(五)字符串常量
C語言中,以雙引號括起來的,由若干個字符組成的序列即為字符串常量。
例:“ni hao” “happy”等等。
(六)符號常量
符號常量是由宏定義“#define“定義的常量,在C程序中可用標識符代表一個常量。
例:計算圓的面積的c程序。
#include
#define PI 3.14159
main()
{
float r,s;
r=12.5;
S=PI *r*r;
printf(“s= %f ”,s);
}
説明:
#define 是宏定義,此程序中所有出現PI的地方都代表3.14159,同時PI稱為符號常量。習慣上我們用大寫字母來表示符號常量,小寫字母表示變量,這樣比較容易區別。
-
C語言新人常見問題與錯誤
不知不覺,學習C語言也快一年了。雖然有C語言課,但是老師完全讓我們自己看書,在自學的過程中,和周圍同學交流中,以及後來在CSDN,BCCN,百度知道看帖回帖中,也看到許多C語言新人常遇到的問題與常犯的錯誤。不妨看看吧。以下僅供參考!對於完整的修正後的程序都在code::block...
-
如何使用C語言求N的階乘
使用C語言求N的階乘的方法是很多小夥伴都想知道的,下面小編給大家介紹如何使用C語言求N的階乘,歡迎閲讀!如何使用C語言求N的階乘用遞歸法求N的.階乘程序調用自身稱為遞歸(recursion).它通常把一個大型複雜的問題層層轉化為一個與原問題相似的規模較小的問題來求...
-
C語言與JAVA的區別
很多人不明白C語言與C++和JAVE之間的區別,為此,為大家收集整理了下面的內容,歡迎閲讀!C語言C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語...
-
什麼是C語言中指針 C語言指針的基礎使用
為什麼説指針是C語言的精髓?本文主要介紹了對C語言中指針的理解與其基礎使用實例,有需要的朋友可以參考一下!想了解更多相關信息請持續關注我們應屆畢業生考試網!C語言的指針,關鍵意思在於“指”。“指”是什麼意思?其實完全可以理解為指示的意思。比如,有一個物體,...