1,若有以下定義,char a int b float c double d則表示式a b d c值的型別為

時間 2021-08-11 19:14:19

1樓:匿名使用者

答案:double型別

參考:「隱式型別轉換」

c++定義了一組內建的型別物件之間的標準轉換,在必要時它們被編譯器隱式的應用到物件上。在算式轉換保證了二元操作符,如加法或乘法的兩個運算元被提升為共同的型別,然後再用它表示結果的型別。兩個通用的指導原則如下:

1、為防止精度損失,如果必要的話,型別總是被提升為較寬的型別。

2、所有含有小於整形的有序型別的算術表示式在計算之前其型別都會被轉換成整形。

規則的定義如上面所述,這些規則定義了一個型別轉換層次結構,我們從最寬的型別long double 開始,那麼另一個運算元無論是什麼型別都將被轉換成long double .如果兩個運算元千不是long double 型,那麼若其中一個運算元的型別是double 型,則另一個就被轉換成double 型。例如:

int ival;

float fval;

double dval;

dval + fval + ival //在計算加法前fval和ival都被轉換成double

類似地,如果兩個運算元都不是double型而其中一個操作float型 ,則另一個被轉換成float型。例如:

char cval;

int ival;

float fval;

cval + ival + fval //在計算加法前ival和cval都被轉換成float

否則如果兩個運算元都不是3種浮點型別之一,它們一定是某種整值型別。在確定共同的目標提升型別之前,編譯器將在所有小於int 的整值型別上施加一個被稱為整值提升的過程。

在進行整值提升時型別char、signed char、unsigned char和short int 都被提升為型別int 。如果機器上的型別空間足夠表示所有unsigned short 型的值,這通常發生在short用半個字而int 用一個字表示的情況下,則unsigned short int 也被轉換成int 否則它會被提升為unsigned int 。wchar_t和列舉型別被提升為能夠表示其底層型別所有值的最小整數型別。

在下列表示式中:

char cval;

bool found;

enum mumbermval;

unsigned long ulong;

cval + ulong;ulong + found; mval + ulong;

在確定兩個運算元被提升的公共型別之前,cval found 和mval都被提升為int 型別。

一旦整值提升執行完畢,型別比較就又一次開始。如果一個操作是unsigned long 型,則第二個也被轉換成unsigned long 型。在上面的例子中所有被加到ulong上的3個物件都被提升為unsigned long 型。

如果兩個操作型別都不是unsigned long 而其中一個操作long型,則另一個也被轉換成long型。例如:

char cval;

long lval;

cval + 1024 + lval; //在計算加法前cval和1024都被提升為long型 。

long型別的一般轉換有一個例外。如果一個操作long型而另一個是unsigned int 型,那麼只有機器上的long型的長度足以unsigned int 的所有值時(一般來說,在32位作業系統中long型和int 型都用一長表示,所以不滿足這裡的假設條件),unsigned int 才會被轉換為long型,否則兩個運算元都被提升為unsigned long 型。若兩個運算元都不是long型而其中一個是unsigned int 型 ,則另一個也被轉換成unsigned int 型,否則兩個運算元一定都是int 型。

儘管算術轉換的這些規則帶給你的困惑可能多於啟發,但是一般的思想是儘可能地保留型別表示式中涉及到的值的精度。這下是通過把不同的型別提升到當前出現的最寬的型別實現的。

2樓:機賢媯寅

double

表示式的型別會自動提升為參與表示式求值的最上級型別

3樓:

double。。

結果為最複雜的。。。。

若有以下定義和語句,則值為12的表示式是( )。 a a=b+1; b c=10+2; c d=5; d q=10;

4樓:育知同創教育

答案選b啊,10+2=12,a的a,b變數值不知,c,d直接賦值

5樓:在晴天的雨傘

b ,也只有b選項是可以判斷數值的,其他的選項只有賦值之後才能進行判斷了

什麼叫做詮釋?什麼叫下定義,作詮釋和下定義有什麼區別?還有什麼是摹狀貌?

下定義。為了使讀者對被說明的事物 事理有個明確的概念,作者用準確 簡單 科學的語言給被說明的事物下定義,揭示出事物的本質特徵。通常用什麼是什麼的判斷句式。在內容的揭示方面往往是 種差 屬的形式。例如 食物就是一種能夠構成軀體和 能量的物質,其中的 構成軀體和 能量 是食物這一概念的 種差 即食物不同...

設有如下定義 intptr則以下敘述中正確的是

墨汁諾 c。ptr函式返回一個int 型資料 這個才是正確的,理由是int fun 顯然是一個函式說明,fun換為 ptr 則ptr就是指向函式的指標了。int ptr m ptr是一個指向m長度的線性記憶體空間,即m大小的一維陣列 int ptr ptr是一個返回值為int 引數列表為空的函式指標...

給愛下定義,給愛下一個定義

愛是在寂寞的夜裡,思念如潮水般湧來,手裡捧著書卻怎麼也看不進去,心裡惦記著他此時是否還在加班,吃沒吃晚飯,是不是如自己想著他一般想著自己 愛是希望他和自己步調一致,和自己心靈相通,他無心說的一句玩笑話也能讓自己頃刻情緒低落甚至眼淚汪汪。在他面前,自己是從不設防的。愛是無論到哪都希望有他陪伴。可以站在...