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語...