c語言存儲類型
A. 7、在c語言中(以16位PC機為例),5種基本數據類型的存儲空間長度的排列順序為 。
5種基本數據類型的存儲空間長度的排列順序為:char<int<long int<=float<double。
char(字元型)的存儲空間大小為1個位元組,int(整數型)的存儲空間大小為2個位元組,long int(長整數型)的存儲空間大小為4個位元組,float(單精度型)的存儲空間大小為4個位元組,double(雙精度型)的存儲空間大小為8個位元組。
所以char<int<long int<=float<double,結果選擇A。
(1)c語言存儲類型擴展閱讀:
強制類型轉換是通過類型轉換運算來實現的。其一般形式為:(類型說明符)(表達式)其功能是把表達式的運算結果強制轉換成類型說明符所表示的類型。
自動轉換是在源類型和目標類型兼容以及目標類型廣於源類型時發生一個類型到另一類的轉換。例如: (float) a 把a轉換為浮點型,(int)(x+y) 把x+y的結果轉換為整型。
B. 寫出c語言數據類型的標識符及存儲長度。
c語言基本數據類型有浮點型和整型
32位系統下各類型的 位元組長度
一位元組為8個bity位
整型:
基本整形 int 4
短整型 short int 2
長整型 long int 4
雙長整型 long long (int) 8(c99增加的)
字元型 char 1
布爾型 bool 1(c99增加的)
註:C99中提供了一個頭文件 <stdbool.h> 定義了bool代表_Bool,true代表1,false代表0。只要導入 stdbool.h ;如果是C99之前的標准,需要我們自己定義bool,如 typedef enum {false = 0, true = 1} bool;
浮點型:
單浮點型 float 4
雙浮點型 double 8
C. C語言的基本類型在內存中怎麼儲存的
1、整型數據:所有整數(正負零)在內存中都是以補碼的形式存在。對於一個正整數來說,它的補碼就是它的原碼本身。對於一個負整數來說,它的補碼為原碼取反再加1。
2、字元型數據:把字元的相對應的ASCII碼(整數,映射關系見ASCII碼表)放到存儲碼單元中,而這些ASCII代碼值在計算機中同樣以二進制補碼的形式存放的。
3、實型數據:也叫浮點數,在計算機中也是以二進制的方式存儲,關鍵在於如何將十進制的小數轉化為二進制來表示。
(3)c語言存儲類型擴展閱讀
C語言存儲數據使用注意事項
C語言中(包括C++/Java)實際存儲浮點數都不是這樣直接存儲「整數二進制+小數二進制」就完事的,這只是第一步。轉化二進制以後還要進行處理,實際的存儲標準是IEEE754
遇見一直「乘不凈」的浮點數,最終能取多少位取決於編譯器對應的浮點類型數據的分配位元組,位元組數越多越精確。故double要比float精確不僅僅是整數部分上限更高,小數部分也能取到更低的位數,故而更精確。
盡量避免大的浮點數和小浮點數運算,由於浮點數存儲的特點,常常會使小的浮點數丟失且判斷兩個浮點數或一個浮點數和整數,常量是否相等,使用abs(x-y)<0.000001這種形式。
D. C語言中有哪些存儲類型
四種變數存儲類型。說明符如下:
auto static extern register
一、auto
auto稱為自動變數。
局部變數是指在函數內部說明的變數(有時也稱為自動變數)。用關鍵字auto進
行說明, 當auto省略時, 所有的非全程變數都被認為是局部變數, 所以auto實際上
從來不用。
二、static
static稱為靜態變數。根據變數的類型可以分為靜態局部變數和靜態全程變數。
1. 靜態局部變數
它與局部變數的區別在於: 在函數退出時, 這個變數始終存在, 但不能被其它
函數使用, 當再次進入該函數時, 將保存上次的結果。其它與局部變數一樣。
2. 靜態全程變數
Turbo C將大型程序分成若干獨立模塊文件分別編譯, 然後將所有模塊
的目標文件連接在一起, 從而提高編譯速度, 同時也便於軟體的管理和維護。靜態
全程變數就是指只在定義它的源文件中可見而在其它源文件中不可見的變數。它與
全程變數的區別是: 全程變數可以再說明為外部變數(extern), 被其它源文件使用,
而靜態全程變數卻不能再被說明為外部的, 即只能被所在的源文件使用。
三、extern
extern稱為外部變數。為了使變數除了在定義它的源文件中可以使用外, 還要
被其它文件使用。因此, 必須將全程變數通知每一個程序模塊文件, 此時可用
extern來說明。
四、register
register稱為寄存器變數。
E. 局部變數的儲存類別是什麼變數,靜態局部變數和寄存器變數
C語言存儲類型有四種,分別是auto, extern, register, static。
1、局部變數,在沒有任何修飾的情況下,存儲類型為auto。
即定義局部變數int a;和auto int a;是相同的。
auto為預設類型。
2、靜態局部變數。
靜態局部變數是指有static修飾的局部變數,比如
static int a;
其存儲類型為static。
3、寄存器變數。
是指用register修飾的變數,比如:
register int a;
其存儲類型為register。