c語言常量類型是
⑴ c語言中整型常量有幾種形式,它們是如何表示的
在C語言中,整型常量有三種書寫形式:
(1) 十進制整數。十進制整數就是通常整數的寫法。例如:11、15、21等。
(2) 八進制整數。八進制整數的書寫形式是在通常八進制整數的前面加一個數字0。例如:00、0111、015、021等,它們分別表示十進制整數:0、73、13、17
(3) 十六進制整數。十六進制整數的書寫形式是在通常十六進制整數的前面加0x。例如:0x0、0x111、0x15、0x21等,它們分別表示十進制整數0、273、21、33。
注意,整型常量前面沒有+或者-,-10其實是一元-運算符和操作數10,同樣整型常量的十進製表示並沒有0,單獨寫一個0其實是一個八進制常量。
(1)c語言常量類型是擴展閱讀
轉換為整型
要明示地將一個值轉換為 integer,用 (int) 或 (integer)強制轉換。不過大多數情況下都不需要強制轉換,因為當運算符,函數或流程式控制制需要一個 integer 參數時,值會自動轉換。您還可以通過函數 intval() 來將一個值轉換成整型。
1、從布爾值轉換
FALSE 將產生出0(零),TRUE 將產生出1(壹)。
2、從浮點數轉換
當從浮點數轉換成整數時,數字將被取整(丟棄小數位)。
注意:如果浮點數超出了整數范圍(通常為 +/- 2.15e+9 = 2^31),則結果不確定,因為沒有足夠的精度使浮點數給出一個確切的整數結果。在此情況下沒有警告,甚至沒有任何通知!
註:在 Linux 下返回結果是最小負數(-214748),而在 Windows 下返回結果是零(0)。
【以下以C/C++語言為例,陳述一下整型的知識】:
a、C/C++對整型長度的規定是為了執行效率,將int定義為機器字長可以取得最大的執行速度;
b、C/C++中整型包括:int,char和enum,C++中還包含bool類型,C99中bool是一個宏,實際為_Bool;
c、C和C++對enum的規定有所不同,這里不描述;
d、修飾整型正負的有signed和unsigned,對於int默認為signed;
e、修飾 int 大小的有short和long,部分編譯器還擴展了一些更長的整型,比如long long和__int64, C99中增加了long long和unsigned long long;
f、int 的長度與機器字長相同,16位的編譯器上int長16位,32位的編譯器上int長32位;
g、short int的長度小於等於int 的長度,注意它們可能長度相等,這取決於編譯器;
h、long int 的長度大於等於int 的長度,注意它們可能長度相等,這取決於編譯器;
i、char 的長度應當可以包容得下一個字元,大部分系統中就是一個位元組,而有的系統中可能是4個位元組,因為這些系統中一個字元需要四個位元組來描述;
j、char 的正負取決於編譯器,而編譯器的決定取決於操作系統,在不同的編譯器中char可能等同於signed char,也可能等同於unsigned char。
參考資料來源:網路-整型
參考資料來源:網路-整型常量
⑵ 13.什麼是常量C 語言中常量有哪幾種類型
整型常量
實型常量
字元型常量
字元串常量
還有符號常量和有名常量.(不太清楚)
⑶ C語言中的常量包括哪幾類各自如何構成的
總的分為數字常量和字元常量,其中數字常量又分為整型常量,浮點型(實數)常量;字元常量分為字元型常量,字元串常量。
整型常量又三種情況:1.十進制
例如100
2.八進制
要加前綴0(不是零是喔)
例如
077
3.十六進制
要加前綴
0x
例如0xff。
還有很多給個網址
http://hi..com/syschen/blog/item/1581d6a2f991e8a4cbefd0c2.html
⑷ C語言中的常量有哪些呢
1、C語言對二進制並沒有並沒有規定具體的格式。不過在部分編譯器中廠家會自行擴展一些二進制格式,比如0b0100表示10進制4。設計良好的C語言代碼能夠讓編譯器編譯出預期的機器指令,並且在目標機器上被正確執行。
3、C語言中具有特殊含義的英文單詞,通常用於構成語句,存儲數據,定義數據類型等。C中有某些字元代表特殊含義,例如前綴為反斜杠,換行符( n)或製表符( t)。
⑸ c語言常量有哪些
unsigned int Offset; /*無符號整型*/
unsigned Offset; /*無符號整型,等價於上面*/
short int SmallAmt; /*短整型*/
short SmallAmt; /*短整型,等價於上面*/
unsigned short int Month; /*無符號短整型*/
unsigned short Month; /*無符號短整型,等價於上面*/
從上面的示例可以看出,當定義長整型、短整型、符號整型或無符號整型時,可以省略關鍵字int。
註明:
1.用signed對整型變數進行有符號指定是多餘的,因為除非用unsigned指定為無符號型,否則整型都是有符號的。
2.當一個變數有幾重特性時,聲明關鍵字的順序可以任意。以下幾種聲明是等價的:
unsigned long T1;
long unsigned T2;
unsigned long int T3;
unsigned int long T4;
long unsigned int T5;
long int unsigned T6;
int unsigned long T7;
int long unsigned T8;
(三)、浮點類型變數
顧名思義,浮點類型變數是用來存儲帶有小數的實數的。
C語言中有三種不同的浮點類型,以下是對這三種不同類型的聲明示例:
float Amount; /*單精度型*/
double BigAmount; /*雙精度型*/
long double ReallyBigAmount; /*長雙精度型*/
這里Amount,BigAmount,ReallyBigAmount都是變數名。
浮點型都是有符號的。
(四)、字元型變數
字元型變數中所存放的字元是計算機字元集中的字元。對於PC機上運行的C系統,字元型數據用8位單位元組的ASCII碼表示。程序用類型說明符char來聲明字元型變數:
char ch;
這條聲明語句聲明了一個字元型變數,標識符為ch。當以這種形式聲明變數之後,程序可以在表達式中引用這個變數,關於語句和表達式的知識在後面將會介紹。
字元數據類型事實上是8位的整型數據類型,可以用於數值表達式中,與其他的整型數據同樣使用。在這種情況下,字元型變數可以是有符號的,也可以是無符號的。對於無符號的字元型變數可以聲明為:
unsigned char ch;
除非聲明為無符號型,否則在算術運算和比較運算中,字元型變數一般作為8位有符號整型變數處理。
還有其他的如指針型變數,void型變數,以後再介紹。
二、常量
常量的意思就是不可改變的量,是一個常數。同變數一樣,常量也分為整型常量、浮點型常量、字元型常量,還有字元串常量、轉義字元常量和地址常量。
(一)、整型常量
整型常量可以是長整型、短整型、有符號型、無符號型。在Tubbo C 2.0里有符號整型常量的范圍從-32768到32767,無符號整型的為0到65535;有符號長整型的范圍為-2147483648到2147483647。無符號長整型的范圍為0到4294967295。短整型同字元型。
可以指定一個整型常量為二進制、八進制或十六進制,如以下語句:
-129, 0x12fe, 0177
常量的前面有符號0x,這個符號表示該常量是十六進製表示。如果前面的符號只有一個字母0,那麼表示該常量是八進制。
有時在常量的後面加上符號L或者U,來表示該常量是長整型或者無符號整型:
22388L, 0x4efb2L, 40000U
⑹ 正確的C語言常量是什麼
C語言的常量有整數常量,實型常量,字元常量,符號常量等。
1、整數常量
整數常量是指直接實用的整形常數,又稱整形常數或者整數,例如,1,-9等。整數常量可以是長整形、短整型、符號整型和無符號整型。
a)八進制數
八進制整數必須以0開頭,即以0作為八進制數的前綴。數字取值范圍為0—7.八進制數常是無符號數
b)十進制數
十進制數是不需要在其面前加前綴的。十進制數中包含的數字0—9組成。
c)十六進制數
常量前面使用0x作為前綴,表示該常量是用十六進製表示。十六進制中所包含的數字由0—9以及字母A—F組成(十六進制數中的字母可以使用A—F大寫形式,也可以使用a—f小寫形式。)
整數數據都以二進制的形式存儲在計算機中,其數值以補碼的形式表示。一個正數的補碼與其原碼形式相同,一個負數的補碼是將該數絕對值的二進制形式按位取反再加1.
2、實型常量
實型稱浮點型,由整數和小數部分組成,其中用十進制的小數點隔開。表示實數的方式由科學計數和指數方式兩種。
a)科學計數方式
科學計數方式就是使用十進制的小數方法進行描述實型
b)指數方式
若實數非常大或非常小,使用科學計數方式則不利於觀察,此時可以使用指數方法顯示實型變數。使用字母e或者E進行指數顯示,如45e2表示4500,而45e-2表示的是0.45
在編寫實型常量時,可以在常量的後面加上那個符號F或者L進行修飾。
F表示該常量是float單精度類型,L則表示該常量是為long
double長雙精度類型。
如果不在後面加上後綴,那麼默認的狀態下,實行常量為double雙精度類型。
3、
字元型變數
字元型常量可以分為字元常量和字元串常量
a)字元常量
字元常量分為一般字元常量和特殊字元常量。
使用單撇號括起一個字元的形式即字元常量。使用字元常量需要注意以下幾點:
字元常量只能用單撇號括起來,
不能使用單引號或其他括弧。
字元常量中只能包括一個字元,不能是字元串。
字元常量是區分大小寫的。
單撇號代表定界符,不屬於字元常量中旳一部分。
單撇號裡面可以是數字、字母等C語言字元集中除』和\以外所有可現實的單個字元,但是數字被定義為字元之後則不能參與數值運算。
特殊字元常量就是轉義字元。轉移字元是C語言中表示字元的一種特殊形式,其含義是將反斜杠後面的字元轉換成另外的意義。
在使用注意字元時應注意:
轉義字元只能使用小寫字母,每個轉義字元只能看成一個字元。
垂直製表符\v和換頁符\f對屏幕沒有任何影響,但會影響列印機執行響應操作。
在C語言程序中,使用不可列印字元時,通常用轉義符表示。
如果反斜杠之後的字元和他不構成轉移字元,則』\』不起轉義作用,將被忽略。
b) 字元串常量
字元串常量是一對用雙引號括起來的若干字元序列。字元串中字元的個數稱為字元的長度,長度為0的字元串稱為空串。
C語言中存儲字元串常量時,系統會在字元串的末尾自動加一個』\0』作為字元串結束的標志。
4、
符號常量
在C語言中,通常將程序中的常量定義為一個標識符,這個常量就叫做符號常量。在使用符號常量之前必須先進行定義,大多數情況下,符號常量用大寫英文字母表示。定義符號常量的一般形式:
#define
符號常量名
常量值
⑺ C語言中常量的默認類型分別是什麼
有時,你也會看到一些老的代碼中,在一些整型常後面加一個大寫或小寫的 L 字母。如:989L 這是什麼意思呢?原來,一個常數如果其范圍允許,那麼計算機默認將其認為是 int 類型的,那麼要讓計算機把某個數認為是 long int類型,就可以在其後面加 L 或 l。不過,這在以前的16位機器才有意義了。現在,我們的機器都是32位,long int 和 int 完全一樣,都是佔用4個位元組,所以,我們沒有必要這樣用了。但是long long 類型常量定義時就得寫3LL,而unsigned long long 為
3ULL
實型常數一般只用10進製表示。比如 123.45,或 .123。後者是 0.123的簡寫。不過我個人認為,少寫一個0的代價是很容看錯。
實型數還可以使用科學計數法,或曰指數形式,如:123e4、或123E4 都表示 123 * 104,即 1230000。
我們學過的實數數據類型有:float,double,long double。在C++中,默認的常數類型是double。比如你寫:
1.234;
那麼,C++按double類型為這個數分配內存,也就是說為它分配8個位元組。如果要改變這一點,可以通過加後綴字母來實現。
加 f 或 F,指定為float類型。
加 l 或 L, 指定為double類型。
以下示例:
12.3f //float類型
12.3 //默認類型(double)
12.3L //long double類型
12.3e400 //long double類型,因為值已不在double類型的取值范圍內
⑻ C語言裡面的常量是什麼
C語言裡面的常量是指不會變化的常數或編碼,例如圓周率3.14就可以定義為一個常量。
「常量」的廣義概念是「不變化的量」,例如:在計算機程序運行時,不會被程序修改的量;數學函數中的某一個量,例如每一個具體的圓的半徑、直徑數值;物理學中的靠近地面的重力加速度;真空中的光速數值;不同的微粒的各自的質量。
一層含義指它們的編碼方法是不變的,但是嚴格來說「人為規定的某一種方法也可以因地制宜而人為改變,所以其本身數值大小『不是『常量』的內涵」。比如字元'A'無論在硬體、軟體還是各種編程語言中,它的信息編碼即為 「 0x41」。
(8)c語言常量類型是擴展閱讀:
C語言中,常量概念容易存在的錯誤解釋:
在除了「C/C++」的一些高級程序語言中,「常量」可以被稱作,「在一個信息變化過程中,始終不發生改變的量」,其可以是不隨著時間變化的某些量的固定信息;也可以表示為某一數值的字元(或字元串),常被用來標識、測量和比較兩者的差異。
但在 「C/C++語言中」,「常量」如果還用「運行過程中不變的量」來描述,就顯得不太准確了,甚至是在具體使用時,這就是一個錯誤的概念。
在 「C/C++」中,定義「指針常量」時,根據「const 」的位置的不同,可以定義出幾個不同的形式,雖然其看起來「符合常量的概念」,但是在實際運行中,其值或地址值是會發生變化的,所以本質還不是「常量概念」。
⑼ C語言中的常量有那些類型
整體上分兩類,一類是整型常量,一類是浮點型常量。細致上分,整型常量還包括字元常量、字元串常量。
①. 整型常量 如6,27,-299
②. 浮點型常量 如5.43,-2.3,5.43F(單精度)、2.3f(小寫的f也可以)
③. 字元常量 如『6』,『a』,L'中'(寬字元常量)
④. 字元串常量 如「6」,「男」,「nanabc」