c語言型別比較問題,c語言的不同資料型別能比較嗎?

時間 2022-10-20 02:01:36

1樓:匿名使用者

為真,因為c與unsigned char在比較時都會向int型提公升,char型是有符號的佔1個位元組,而int型佔4個位元組,char提公升時不足部分補c的符號位(負數的符號為1),所以最終的提公升後的int型數的最高位還是1,即為負數,而

unsigned char 是無符號的,提公升時補0,提公升為int型後還是正數,故:

負數 < 正數

回答完畢,請採納

2樓:材看上諞

1,0press any key to continue沒錯 比較時會隱式轉換

a和b比較時 b會轉換為int

b和c比較時 都會轉換為 float

總之 都會轉換為 最大範圍那個進行比較

3樓:匿名使用者

為真,因為都將轉換成int型別後再比較,而不是都轉換成unsigned char型別後再比較。雖然char型別的-1轉換成unsigned char型別後是255,但轉換成int型別後還是-1,而uc轉換成int型別後還是10,所以為真。

4樓:自我程式設計

真。unsigned char,char都是字元型變數,可以賦值字元也可以賦值數值(值不能超出其大小),但就算儲存字元,在記憶體也是數值形式(有對應ascii碼),所以這裡就是單純-1和10比較大小。

c語言的不同資料型別能比較嗎?

5樓:滄海雄風

1,0press any key to continue沒錯 比較時會隱式轉換

a和b比較時 b會轉換為int

b和c比較時 都會轉換為 float

總之 都會轉換為 最大範圍那個進行比較

6樓:匿名使用者

可以 比較的時候會隱式轉換型別 這個書上有 答案是1,0

c語言資料型別問題

7樓:熟悉的陌生人

你這答案有點問題哦,前邊兩個元素是陣列,int和float都是四位元組,char是乙個位元組,總共(4+3)*4+16=44位元組,如果我算錯了你告訴我,我也學學

c語言中不同型別資料之間的比較?

8樓:匿名使用者

#include

int main(void)

9樓:馮小氣氣

i結果應該為0吧。這幾個運算子優先順序高到低分別是 () <= =

也就是先計算(),i=(40)<=(18).然後再計算<=,結果是0.然後再賦值i=0.

10樓:彭珂的課堂

c語言_023_輸出顯示不同型別資料_上

c語言浮點數與整型的比較問題。

11樓:班汀蘭榮子

在c語言中,鍵盤中輸入字元都對應了乙個ascii編碼。可以用ascii碼進行比較

也可以先把浮點數都改成整數型的,再進行比較,比如你的浮點數是兩位小數的,就乘以100,再對兩個數進行比較。

12樓:金色潛鳥

這叫條件表示式。條件表示式中3個表示式型別允許不一樣,計算時要向精度最高的那型別轉換(語法規則),。(emum 是整型,低於float), 所以這裡是 float 型.

13樓:峰巔之戰

表示式的資料型別是float型,因為這個表示式的意思是,如果fri等於m則輸出fri,不等就輸出m,顯然他們不相等,所以輸出的是m,而m的型別是float型,所以是單精度

14樓:左手煙雨

整型數與浮點數在一起時,整型要轉化為浮點數

這是資料型別轉換問題,看一下c語言資料型別的優先順序

15樓:匿名使用者

記住這個例子不是很好嗎? 以後就這麼用啊 當時設計語言的人就是這麼規定的吧

c語言基本型別的問題

16樓:匿名使用者

下面是我從我的講義上複製下來的,你看看吧,應該能有些幫助。

第2章 資料型別、運算子與表示式

本章主要介紹c語言的各種資料型別、運算子和表示式。

2.1 c語言的資料型別

c語言的資料型別具體分類如下:

 基本型別:分為整型、實型(又稱浮點型)、字元型和列舉型四種。

 構造型別:分為陣列型別、結構型別和共用型別三種。

 指標型別

 空型別

2.2 常量和變數

2.2.1 常量

1、常量的概念:在程式執行過程中,其值不能被改變的量稱為常量

2、 常量的分類:

 整型常量

 實型常量

 字元常量

 符號常量

3、常量的型別,可通過書寫形式來判別。

2.2.2 變數

1、變數的概念:在程式執行過程中,其值可以被改變的量稱為變數

2、變數名:每個變數都必須有乙個名字——變數名,變數命名遵循識別符號命名規則

3、變數值:在程式執行過程中,變數值儲存在記憶體中。在程式中,通過變數名來引用變數的值

4、識別符號命名規則:

 只能由字母、數字和下劃線組成,且以字母或下劃線開頭

 有效長度:隨系統而異,但至少前8個字元有效。如果超長,則超長部分被捨棄

 c語言的關鍵字不能用作變數名

 注意:c語言對英文本母的大小敏感,即同一字母的大小寫,被認為是兩個不同的字元。

習慣上,變數名和函式名中的英文本母用小寫,以增加可讀性。

5、變數的定義與初始化

在c語言中,要求對所有用到的變數,必須先定義、後使用;且稱在定義變數的同時進行賦初值的操作為變數初始化。

(1)變數定義的一般格式

資料型別 變數名[, 變數名2……];

例如,float radius, length, area;

(2)變數初始化的一般格式

資料型別 變數名[=初值][, 變數名2[=初值2]……];

例如,float radius=2.5, length, area;

2.3 整型資料

2.3.1 整型變數

1、分類

根據占用記憶體位元組數的不同,整型變數又分為4類:

(1)基本整型(型別關鍵字為int)。

(2)短整型(型別關鍵字為short [int])。

(3)長整型(型別關鍵字為long [int])。

(4)無符號整型。無符號型又分為無符號基本整型(unsigned [int])、無符號短整型(unsigned short)和無符號長整型(unsigned long)三種,只能用來儲存無符號整數。

2、占用記憶體位元組數與值域

上述各型別整型變數占用的記憶體位元組數,隨系統而異。在16位作業系統中,一般用2位元組表示乙個int型變數,且long型(4位元組)≥int型(2位元組)≥short型(2位元組)。

顯然,不同型別的整型變數,其值域不同。占用記憶體位元組數為n的(有符號)整型變數,其值域為:-2n*8-1~(2n*8-1-1);無符號整型變數的值域為:0~(2n*8-1)。

例如,pc機中的乙個int型變數,其值域為-22*8-1~(22*8-1-1),即-32768~32767;乙個unsigned型變數的值域為:0~(22*8-1),即0~65535。

第2章 資料型別、運算子與表示式

本章主要介紹c語言的各種資料型別、運算子和表示式。

2.1 c語言的資料型別

c語言的資料型別具體分類如下:

 基本型別:分為整型、實型(又稱浮點型)、字元型和列舉型四種。

 構造型別:分為陣列型別、結構型別和共用型別三種。

 指標型別

 空型別

2.2 常量和變數

2.2.1 常量

1、常量的概念:在程式執行過程中,其值不能被改變的量稱為常量

2、 常量的分類:

 整型常量

 實型常量

 字元常量

 符號常量

3、常量的型別,可通過書寫形式來判別。

2.2.2 變數

1、變數的概念:在程式執行過程中,其值可以被改變的量稱為變數

2、變數名:每個變數都必須有乙個名字——變數名,變數命名遵循識別符號命名規則

3、變數值:在程式執行過程中,變數值儲存在記憶體中。在程式中,通過變數名來引用變數的值

4、識別符號命名規則:

 只能由字母、數字和下劃線組成,且以字母或下劃線開頭

 有效長度:隨系統而異,但至少前8個字元有效。如果超長,則超長部分被捨棄

 c語言的關鍵字不能用作變數名

 注意:c語言對英文本母的大小敏感,即同一字母的大小寫,被認為是兩個不同的字元。

習慣上,變數名和函式名中的英文本母用小寫,以增加可讀性。

5、變數的定義與初始化

在c語言中,要求對所有用到的變數,必須先定義、後使用;且稱在定義變數的同時進行賦初值的操作為變數初始化。

(1)變數定義的一般格式

資料型別 變數名[, 變數名2……];

例如,float radius, length, area;

(2)變數初始化的一般格式

資料型別 變數名[=初值][, 變數名2[=初值2]……];

例如,float radius=2.5, length, area;

2.3 整型資料

2.3.1 整型變數

1、分類

根據占用記憶體位元組數的不同,整型變數又分為4類:

(1)基本整型(型別關鍵字為int)。

(2)短整型(型別關鍵字為short [int])。

(3)長整型(型別關鍵字為long [int])。

(4)無符號整型。無符號型又分為無符號基本整型(unsigned [int])、無符號短整型(unsigned short)和無符號長整型(unsigned long)三種,只能用來儲存無符號整數。

2、占用記憶體位元組數與值域

上述各型別整型變數占用的記憶體位元組數,隨系統而異。在16位作業系統中,一般用2位元組表示乙個int型變數,且long型(4位元組)≥int型(2位元組)≥short型(2位元組)。

顯然,不同型別的整型變數,其值域不同。占用記憶體位元組數為n的(有符號)整型變數,其值域為:-2n*8-1~(2n*8-1-1);無符號整型變數的值域為:0~(2n*8-1)。

例如,pc機中的乙個int型變數,其值域為-22*8-1~(22*8-1-1),即-32768~32767;乙個unsigned型變數的值域為:0~(22*8-1),即0~65535。

實型資料

2.4.1 實型變數

c語言的實型變數,分為兩種:

(1)單精度型:型別關鍵字為float,一般佔4位元組(32位)、提供7位有效數字。

(2)雙精度型:型別關鍵字為double,一般佔8個位元組、提供15~16位有效數字。

2.4.2 實型常量

1、表示形式

實型常量即實數,在c語言中又稱浮點數,其值有兩種表達形式:

(1)十進位制形式:例如3.14、9.8。

(2)指數形式:《尾數》e(e)《整型指數》。例如3.0e+5等。

2、關於型別

實型常量不分float型和double型。乙個實型常量,可以賦給乙個實型變數(float型或double型)。

2.5 字元型資料

2.5.1 字元常量

1、字元常量的定義

用一對單引號括起來的單個字元,稱為字元常量。

例如,『a』、『1』、『+』等。

2、轉義字元

c語言還允許使用一種特殊形式的字元常量,就是以反斜槓「\ 」開頭的轉義字元。

注意:如果反斜槓或單引號本身作為字元常量,必須使用轉義字元:『\\』、『\』『。

[案例2.1] 用轉義字元輸出可列印字元和不可列印字元。

main()

程式執行結果如下:

ok!2.5.2 字元變數

字元變數的型別關鍵字為char,一般占用1位元組記憶體單元。

1.變數值的儲存

字元變數用來儲存字元常量。將乙個字元常量儲存到乙個字元變數中,實際上是將該字元的ascii碼值(無符號整數)儲存到記憶體單元中。

例如,char ch1, ch2; /*定義兩個字元變數:ch1,ch2*/

ch1=』a』; ch2=』b』; /*給字元變數賦值*/

2.特性

字元資料在記憶體中儲存的是字元的ascii碼—— 乙個無符號整數,其形式與整數的儲存形式一樣,所以c語言允許字元型資料與整型資料之間通用。

(1)乙個字元型資料,既可以字元形式輸出,也可以整數形式輸出。

[案例2.2] 字元變數的字元形式輸出和整數形式輸出。

main()

程式執行結果:

ch1=a,ch2=b

ch1=97,ch2=98

(2)允許對字元資料進行算術運算,此時就是對它們的ascii碼值進行算術運算。

[案例2.3] 字元資料的算術運算。

main()

程式執行結果:

ch1=a,ch2=b

ch1+200=297

ch1+200=)

ch1+256=353

ch1+256=a

關於c語言int型別輸出的問題,關於C語言int型別輸出的問題

int型的超過指定長度 這裡是2 就按照實際長度輸出,float型的5.2指的是一共有輸出五位,其中小數點後佔兩位 超過長度跟上面一樣按實際輸出 那麼 整數部分應該是3位 實際4位數字所以輸出1234,小數部分擷取2位有效數字輸出 整數如果控制長度小於實際長度則全部輸出,如果控制長度大於實際長度則左...

C語言中的資料型別使用問題,C語言中各種資料型別有什麼區別?

int和float在計算機中的儲存格式完全不同.所以導致你上面的結果.巨集定義 定義巨集 define debug 定義巨集 表示值為1 define debug 1 ifdef debug 如果定義了巨集 debug 則 define pr printf debug else 如果沒有定義巨集 d...

簡單的C語言問題,c語言簡單問題

首先你截圖的型別不是字元型char,而是字元指標型char 指標型別的變數pc儲存的是乙個字元的位址,而圖上 asdf 是乙個字串常量,在記憶體中是乙個長度為5的字串 最後有乙個隱藏的結束符號0 用pc asdf 就是把這個字串第乙個字元的位址給了pc變數。或者說指標pc指向了字串常量 asdf 所...

關於C語言的問題,關於c語言問題

先說明一點,c語言中巨集和函式有些差別,巨集是 第乙個例子,double 1 2 這個呼叫實際上是2 1 2,看,x被為1 2,然後根據運算子的規則 實際上應該說是優先順序 先運算2 1,再加上2,所以結果是4。第二個例子就更簡單了,同樣是,toupper s i 這個呼叫,實際上它的 就是 a s...

C 程式設計的資料型別問題,c語言的資料型別

include include using namespace std void main for int i 0 i輸入資料時每個資料以空格或回車隔開,輸入乙個以字母 q 開頭的字串結束輸入。第一步簡單 直接用if語句判斷那個數是否為其他3種型別,符合則直接轉換成整形,否不處理就ok,你試下。c語...