1樓:匿名使用者
c/c++麼?c這貨還是float啊= =
2樓:匿名使用者
當然還是float=,=運算又不會改變變數的型別。但是a+b+c+d這個中間值得型別是double哦
3樓:觀音大_溼
double 吧 好像有自動型別轉換
已知:char a;int b;float c;double d;執行語句 c=a+b+c+d;後,變數c的資料型別是_
4樓:賞攸司空曉凡
c的型別不會變,仍然是float,只是在運算過程中的中間結會是double型,然後轉化為float,賦給c。
變數的型別經過定義後是不會變的。
5樓:聽不清啊
執行語句 c=a+b+c+d;後,變數c的資料型別仍是float。
做加法運算時系統會自動進行型別轉換的。a+b時,自動轉換為int,再+c時,自動轉換為float,最後+d時,自動轉換為double。最後的結果是double,但是把此結果賦值給c時,自動轉換為float。
6樓:紅顏不求得
運算時的「型別自動轉換」轉換的是「值」,而不是「變數本身的型別」。
所以不管你是c=a+b+c+d還是a=b+c-d或者別的什麼表示式,運算結束後a還是char,b還是int,c還是float,d還是double
c語言:有定義語句char a;int b;float c;double d;
7樓:夢幻子凝
首先,在c中,資料之間的運算必須是同型別的才能進行運算。如果型別不一致,就必須先轉換成相同的型別----------由低階別 → 高階別轉換。
資料型別級別由低到高分別為:char→int→float→double。轉換時由低階別向高階別轉換。
本題中,資料型別分別為:char型、int型、float型和double型。
按照轉換規則,就要先char轉換為doubl型(因為double級別比char高),int 型轉為double型 ,float型轉為double型, 即全部轉為 double型 再進行運算。 所以,最後的資料型別是double型 。
【注意】不能理解為:先將char轉換成int,再轉換成floatd,再轉換成double。
希望對您有所幫助!
8樓:愛國者搗蛋
都變成了double型的
已知char a=』a』;float b=2.3;double c=41;int d;則執行語句d=a+b+c;後變數d的資料型別為
9樓:匿名使用者
int因為再怎麼賦值再怎麼變,他的申明就是int,所以他就是int型別。
有一道c語言的題目:已知:char a; int b; float c; double d;則計算表示式a*c+c-d之後,記過的資料型別是
10樓:陽光少年
選d,因為double所表示的數的範圍最大。。。
11樓:匿名使用者
該題選擇d答案:
1、a定義的是char型,實際上他也可以看做是int型,你試過沒有將一個char型的變數用%d的格式輸出後,為一個整數,該整數是該字元的ascii碼,是十進位制而已。所以a*c之後的型別為float型
2、a*c+c自然也就是float型了。。那麼最後就變為float減去一個double型,因為double型表示的數值精度比較高,那麼自然結果也就轉換成了double型了,你要明白型別的轉換實際上可以看做為資料在記憶體的對齊。。。
12樓:
d。向精度高的資料型別轉換
簡述switch語句的執行過程
switch parm 先拿來parm,挨個跟case比對,有符合的就執行case裡的語句,沒有匹配的內就執行default裡的語句。一般情況下case後面容的語句都要跟一個break,否則一直執行下去。switch 中屬於 抄襲條件,case 屬於 判斷條件 若滿足 執行 否則bai 一直向下判斷...
執行語句 a b 3 System out println a《2b》2後的輸出結果為
a和b的值都變成了3 輸出結果為12,0 是邏輯左移,右邊補0,符號版位和其他位一樣要移動。權例如 3 2,則是將數字3左移2位計算過程 3 2 首先把3轉換為二進位制數字0000 0000 0000 0000 0000 0000 0000 0011,然後把該數字高位 左側 的兩個零移出,其他的數字...
設有語句int a 3則執行了語句a a a a後,變數a的值是
0第一步 a a 9 運算後a為3 第二步運算 a 9後並返回a的值,得 a a 此時a的值為12 第二步 結果為0 賦值運算是從右到左的 上面的語句運算順序是 a a a a a 計算第一個後a 的值是 6,再計算第二個,a 的值就是 12 是賦bai值符號,賦值表達 du式先運算zhi 後的表示...