C語言規定的合法資料常量是什麼樣的

時間 2021-08-17 09:10:11

1樓:沃桂花桓嬋

1.溢位:資料型別超過了計算機字長的界限而出現的資料溢位;

2.溢位可能原因:

當應用程式讀取使用者資料,複製到應用程式開闢的記憶體緩衝區中,卻無法保證緩衝區的空間足夠時

(假設定義陣列int

array[10],

而在呼叫時使用array[11]

或存放的資料超過int型別容量等),

記憶體緩衝區就可能會溢位.

3.溢位因素分析:

由於c/c++語言所固有的缺陷,既不檢查陣列邊界,又不檢查型別可靠性,且用c/c++語言開發的程式由於目標**非常接近機器核心,因而能夠直接訪問記憶體和暫存器,只要合理編碼,c/c++應用程式在執行效率上必然優於其它高階語言。然而,c/c++語言導致記憶體溢位問題的可能性也要大許多。

4.對於堆疊溢位,程式會直接終止,返回錯誤。

對於陣列型別的邊界越界溢位,有時會產生中斷錯誤,有時仍然可以繼續執行,但是結果不正確。

對於基本型別的最大值溢位,會產生不確定的結果,程式仍然能夠正常執行,但是結果不正確。

2樓:

資料常量有兩種,整型資料,和浮點型資料

像123 45 65這樣的整數是整型,也可以用指數形式表示,同時也有八進位制,十六進位制等表現形式

像1.2 3.5 帶小數點的是浮點型資料,也可以用指數形式

什麼叫做合法的實型常量在c語言中 5

3樓:餜挮閾剁考

實型常量又稱實數或浮點數。在c語言中可以用單精度型和雙精度型兩種形式表示實型常量,分別用型別名float和double進行定義 。實型常量在一般的微型集中佔用4個位元組,一般形式或者指數形式,數值範圍都是-1038~1038,有效數字是7位。

指數形式即指數形式的實數。它是由尾數部分、小寫字母e或大寫字母e、指數部分組成,形式如「尾數e指數」或「尾數e指數」。尾數部分可以是十進位制整數或一般形式的十進位制實數,指數部分是十進位制的短整數(可以帶「+」號或「-」號)。

數的正負用前面的「+」(可以省略)號或「-」號來區分。

指數形式的實數它的數值可以用公式計算:尾數*10指數c語言語法規定,字母e或e之前必須要有數字,且e或e後面的指數必須為整數。如e3、5e3.

6、.e、e等都是非法的指數形式。注意:

在字母e或e的前後以及數字之間不得插入空格。

4樓:自由樂觀虛偽

符合c語言規範的實型常量(實型的常量資料)在c語言程式中

5樓:匿名使用者

符合語法麼……話說c語言的浮點常量的語法挺複雜的

floating-constant:

decimal-floating-constant

hexadecimal-floating-constant

decimal-floating-constant:

fractional-constant exponent-part[opt] floating-suffix[opt]

digit-sequence exponent-part floating-suffix[opt]

hexadecimal-floating-constant:

hexadecimal-prefix hexadecimal-fractional-constant

binary-exponent-part floating-suffix[opt]

hexadecimal-prefix hexadecimal-digit-sequence

binary-exponent-part floating-suffix[opt]

fractional-constant:

digit-sequence[opt] . digit-sequence

digit-sequence .

exponent-part:

e sign[opt] digit-sequence

e sign[opt] digit-sequence

sign:+-

digit-sequence:

digit

digit-sequence digit

hexadecimal-fractional-constant:

hexadecimal-digit-sequence[opt] .

hexadecimal-digit-sequence

hexadecimal-digit-sequence .

binary-exponent-part:

p sign[opt] digit-sequence

p sign[opt] digit-sequence

hexadecimal-digit-sequence:

hexadecimal-digit

hexadecimal-digit-sequence hexadecimal-digit

floating-suffix:flfl

c語言的合法常量的定義是什麼?急!急!

6樓:天雲一號

常量的定義:常量是指在程式執行過程中其值不能被改變的量。

c語言中常量可分為直接常量和符號常量。

直接常量是指直接用具體資料表達的一種形式,直接常量又分為整型常量、實型常量、字元常量和字串常量;

符號常量則是指用c語言識別符號定義的常量。

整型常量就是整常數,10進位制數、8進位制數和16進位制數三種。如:10、012、0x0a

實型常量也稱為浮點型常量。如:3.14 、 1.2e-4字元型常量必須用單引號括起來。如:'m' , '\n'

字串常量應用雙引號括起來。如:"abc" , "a"

符號常量可以用巨集定義表示也可以用const關鍵字表徵。如:#define pi 3.14 const float pi = 3.14

7樓:匿名使用者

在程式執行過程中,其值不發生改變的量稱為常量。

 整型常量:12、0、-3;

 實型常量:4.6、-1.23;

 字元常量:『a』、『b』。

 識別符號:用來標識變數名、符號常量名、函式名、陣列名、型別名、檔名的有效字元序列。

 符號常量:用標示符代表一個常量。在c語言中,可以用一個識別符號來表示一個常量,稱之為符號常量。

符號常量在使用之前必須先定義,其一般形式為:

#define 識別符號 常量

其中#define也是一條預處理命令(預處理命令都以"#"開頭),稱為巨集定義命令(在後面預處理程式中將進一步介紹),其功能是把該識別符號定義為其後的常量值。一經定義,以後在程式中所有出現該識別符號的地方均代之以該常量值。

習慣上符號常量的識別符號用大寫字母,變數識別符號用小寫字母,以示區別。

一般式實型常量常考,如下:

實型也稱為浮點型。實型常量也稱為實數或者浮點數。在c語言中,實數只採用十進位制。它有二種形式:十進位制小數形式,指數形式。

1)十進位制數形式:由數碼0~ 9和小數點組成。

例如:0.0、25.0、5.789、0.13、5.0、300.、-267.8230

等均為合法的實數。注意,必須有小數點。

2)指數形式:由十進位制數,加階碼標誌「e」或「e」以及階碼(只能為整數,可以帶符號)組成。其一般形式為:

a e n(a為十進位制數,n為十進位制整數)

其值為 a*10n。

如: 2.1e5 (等於2.1*105)

3.7e-2 (等於3.7*10-2)

0.5e7 (等於0.5*107)

-2.8e-2 (等於-2.8*10-2)

以下不是合法的實數:

345 (無小數點)

e7 (階碼標誌e之前無數字)

-5 (無階碼標誌)

53.-e3 (負號位置不對)

2.7e (無階碼)

8樓:匿名使用者

1、c語言區分大小寫:單引號中的大小寫字母代表不同的字元常量,例如』a』與』a』是不同的字元常量;

2、單引號中的空格符也是一個字元常量;

3、字元常量只能包括一個字元,所以』ab』是非法的;

4、字元常量只能用單引號括起來,不能用雙引號。比如」a」不是一個字元常量而是一個字串。

9樓:匿名使用者

合法常理命名規則和變數貌似差不多吧 是為字母數字下劃線組成 且只能是字母下劃線開頭,而且不能與c 中的32個關鍵字相同 eg:int char等等 不符合這些規則的都是非法的 只是常量定義一般是用大寫 如define ni 10 等等

10樓:匿名使用者

# define n 100 是常量定義,寫在主函式main的上面

c成功男兒定義是什麼,C語言的合法常量的定義是什麼?急!急!

艹蛋的生活 對兄弟兩肋插刀,對愛人一心一意,對朋友真誠以戴,對別人寬巨集大量,對自己精益求精,能做到以上幾點應該可以算是好男兒了。 流年 怎樣算是一個成功男人?需不需要做一個成功男人?這種問題時時縈繞著我,像一塊牛皮癬,揮之不去,罷之不能。既然對這些問題不能置之不理,那就好好拿來分析一番。男人,首先...

C語言合法常量123 和123區別是什麼?雙引號代表什麼123合法麼

前者是字串,後者是數字。雙引號代表字串,單引號代表單個字元。你可以輸出 123 看看是什麼。 123 是字串 123 是字元s 123是常量數字 是字串標示 是字元標示 表示8進位制 8進位制123,是10進位制的83 是ascii字元大寫s的內碼 歸途如虹 是個字串。香港只要是正規的公司的就沒有問...

怎樣檢查C語言輸入資料的合法性,C語言中怎樣判斷變數名的合法性?

如果是整數的話,這麼判斷就行 float num int num2 scanf f num if num int num num2 int num 如果輸入正確,將整數儲存到num2中 else printf eof 用 if scanf d x 1 判斷。scanf,fscanf 送返 正確地讀入...