幫我做一道C語言題吧設已定義x為double型別變數x 4 printf6 2e n ,x)

2021-08-29 11:40:26 字數 5402 閱讀 2824

1樓:匿名使用者

轉換說明給程式設計師提供了大量對輸出格式的控制方法。另一方面,轉換說明很可能是複雜

而難以閱讀的。事實上,在本節中想要完整詳盡地介紹轉換說明是不可能的,這裡將只是簡要

介紹一些較為重要的轉換說明的效能。

在第2章中已經看到,轉換說明可以包含格式化資訊。具體而言,用%.1f來顯示帶小數點

後一位數字的float型數值。更加通用的情況下,轉換說明可以有%m.神格式或%-m.px洛式,

這裡的m和p都是整型常量,而尤是字母。m和p都是可選項;如果省略p,那麼分割m和p的小數點

也要忽略掉。在轉換說明%10.2f中,m是10} p是2,而x;是f。在轉換說明%lof中,m是10,而

丟失孫(連同小數點一起);但是在轉換說明%.2f中,p是2,而丟失了m o

最小欄位寬度(minimum field width) m指定了要顯示的最小字元數量。如果要列印的數值

比m個字元少,那麼值在欄位內是右對齊的。(換句話說,在數值前面放置額外的空格。)例如,

轉換說明%4d將以·123的形式顯示數1230(這裡用符號.表示空格字元)如果要顯示的數值

比m個字元多,那麼欄位寬度會自動擴充套件為需要的尺寸。因此,轉換說明%}4d將以12345的形式顯

示數12345,而不會丟失數字。在m前放上一個負號會發生左對齊;轉換說明%-4d將以123·的

形式顯示1230

精度(precision) p的含義很難描述,因為它依賴於轉換說明符(conversion specifier) x的

選擇。x表明在顯示數值前需要對其進行哪種轉換。對數來說最常用的轉換說明符有:

·d—表示十進位制(基數為:。)形式的整數。巨口p說明可以顯示的數字的最少個數

(如果需要,就在數前加上額外的零);如果忽略掉p,則預設它的值為to

·e—表示指數(科學記數法)形式的浮點數。p說明小數點後應該出現的數字的個數

(預設值為6)。如黝為。,則不顯示小數點。

.f—表示「定點十進位制」形式的浮點數,沒有指數。p的含義與在說明符e中的一樣。

·g—表示指數形式或者定點十進位制形式的浮點數,形式的選擇根據數的大小決定。p

說明可以顯示的有效數字(沒有小數點後的數字)的最大數量。與轉換說明符f不同,g

的轉換將不顯示尾隨零。此外,如果要顯示的數值沒有小數點後的數字,那麼g不會顯

示小數點。

2樓:匿名使用者

選c,其實準確地講是-3.22+003。

%6.2e:e指的是要求用科學計數法表示,6.2指的是輸出的寬度,整形部分輸出寬度最多為6,小數部分最多為2。

3樓:匿名使用者

%6.2e 表示 輸出一共6位 小數點輸出兩位 e就是10e+03 就是 10的三次方

-----------------------在vv++6.0的輸出結果為

-3.22e+003

-----------------------所以選c

c語言題目 若已定義x和y為double型別,則表示式「x=1,y=x+3/2"的值是:

4樓:珈藍惜夢

表示式的計算值為:2.0

源程式**以及演算法解釋如下:

#include //標頭檔案

using namespace std;//引用名稱空間

int main()

程式執行結果如下:

擴充套件資料:

本題目涉及到了型別的轉換問題:

強制型別轉換是通過型別轉換運算來實現的。其一般形式為: (型別說明符) (表示式) 其功能是把表示式的運算結果強制轉換成型別說明符所表示的型別。

強制型別轉換是通過型別轉換運算來實現的。其一般形式為:(型別說明符)(表示式)其功能是把表示式的運算結果強制轉換成型別說明符所表示的型別。

自動轉換是在源型別和目標型別相容以及目標型別廣於源型別時發生一個型別到另一類的轉換。例如: (float) a 把a轉換為浮點型,(int)(x+y) 把x+y的結果轉換為整型。

在使用強制轉換時應注意以下問題:

1.型別說明符和表示式都必須加括號(單個變數可以不加括號),如把(int)(x+y)寫成(int)x+y則成了把x轉換成int型之後再與y相加了。

2.無論是強制轉換或是自動轉換,都只是為了本次運算的需要而對變數的資料長度進行的臨時性轉換,而不改變資料說明時對該變數定義的型別。

賦值中的型別轉換

當賦值運算子兩邊的運算物件型別不同時,將要發生型別轉換, 轉換的規則是:把賦值運算子右側表示式的型別轉換為左側變數的型別。具體的轉換如下:

(1) 浮點型與整型

● 將浮點數(單雙精度)轉換為整數時,將捨棄浮點數的小數部分, 只保留整數部分。將整型值賦給浮點型變數,數值不變,只將形式改為浮點形式, 即小數點後帶若干個0。注意:

賦值時的型別轉換實際上是強制的。

(2) 單、雙精度浮點型

● 由於c語言中的浮點值總是用雙精度表示的,所以float 型資料只是在尾部加0延長為double型資料參加運算,然後直接賦值。double型資料轉換為float型時,通過截尾數來實現,截斷前要進行四捨五入操作。

(3) char型與int型

● int型數值賦給char型變數時,只保留其最低8位,高位部分捨棄。

● char型數值賦給int型變數時, 一些編譯程式不管其值大小都作正數處理,而另一些編譯程式在轉換時,若char型資料值大於127,就作為負數處理。對於使用者來講,如果原來char型資料取正值,轉換後仍為正值;如果原來char型值可正可負,則轉換後也仍然保持原值, 只是資料的內部表示形式有所不同。

(4) int型與long型

● long型資料賦給int型變數時,將低16位值送給int型變數,而將高16 位截斷捨棄。(這裡假定int型佔兩個位元組)。 將int型資料送給long型變數時,其外部值保持不變,而內部形式有所改變。

(5) 無符號整數

● 將一個unsigned型資料賦給一個佔據同樣長度儲存單元的整型變數時(如:unsigned int→int、unsigned long→long,unsigned short→short) ,原值照賦,內部的儲存方式不變,但外部值卻可能改變。

● 將一個非unsigned整型資料賦給長度相同的unsigned型變數時, 內部儲存形式不變,但外部表示時總是無符號的。

5樓:點亮純真

格式化輸出若為%f(即printf(「%f」,y);),那麼輸出就為2.000000;格式化輸出若為%d,輸出就為0;若格式化輸出為%3.1f,那麼輸出才為2.

0;上面題目太不嚴密,希望你能真正搞懂哦!

6樓:匿名使用者

這個是兩個型別的問題:

double、float都是浮點型。double(雙精度型)比float(單精度型)存的資料更準確些,佔的空間也更大。選d。

7樓:青音

你定義了x,y為長整形,輸出就也是長整形所以答案是c

c語言。若已定義x和y為double型別,則表示式「x=1,y=x+3/2」的值是

8樓:噓

c語言。若已定復義x和y為double型別,制則表示式「x=1,y=x+3/2」的值

是2.0。

解釋:這是一個逗號表示式,它的值應為表示式式y=3/2的值,而前一個表示式已給x賦值1,在沒有進行型別轉換的情況下,3/2的值為1,所以x+3/2的值應為2.0。

逗號表示式的要領:

1、從左到右逐個計算;

2、逗號表示式作為一個整體,它的值為最後一個表示式的值;

3、 逗號表示式的優先順序別在所有運算子中最低。

注意:1、逗號表示式只有一個返回值。

2、逗號表示式的最大作用是:用在語法上只能一個表示式,但是邏輯上需要多個表示式的地方

9樓:唐寒夜

答案選d。

double、float都是copy浮點型。double(雙精度型)比float(單精度型)存的資料更準確些,佔的空間也更大。所以選d。

在32 位的系統上,short 佔據的記憶體大小是2 個byte;int佔據的記憶體大小是4 個byte;long佔據的記憶體大小是4 個byte;float佔據的記憶體大小是4 個byte;double佔據的記憶體大小是8 個byte;char佔據的記憶體大小是1 個byte。

10樓:雲端之韻

因為3和2都是int型的,所以認為3/2的結果也是int的,捨棄後面的尾數,僅留下整數位的1.然後加上double型的x,複製給double型的y所以是2.0

11樓:暖寶寶丶吹

1.x=1,,1是int型別,賦值給double的x的時候自動提升為double型別, 所以x=1.0(注意1.0是專double型別的屬)。

2.3/2的結果是int的1,然後double的 x加上int的1,先會吧int的1提升為double的1.0,然後x+1.

0=2.0(2.0為double型別的)。

滿意請採納。

c語言:若已定義x和y為double型,則表示式:x=1,y=x+3/2的值是2.0

12樓:朋全亥雪

因為3和2都是int型的,所以認為3/2的結果也是int的,捨棄後面的尾數,僅留下整數位的1.然後加上double型的x,複製給double型的y所以是2.0

13樓:匿名使用者

1.x=1,,1是baiint型別,賦值給double的x的時候自動提升為

duzhidouble型別,

所以x=1.0(注意1.0是double型別的)。

2.3/2的結dao果是int的1,然後double的 x加上內int的1,先容會吧int的1提升為double的1.0,然後x+1.

0=2.0(2.0為double型別的)。

14樓:匿名使用者

x 和 y 被定義了 ,和x y沒關係 c語言大小寫敏感

15樓:鬼採

2是整型(int)數,2.0是浮點(float或double)數,整型數沒有小數,浮點型數帶有小數。你的定義x,y都是浮點數,計算時,編譯器會先把輸入的整型數自動轉換成double型,然後在計算。

16樓:匿名使用者

如果定義為int型(整型)是定義整數的 值就為2

double型(浮點型)是定義實數的 被定義過的y值只能是2.0

doudle型定義的範圍大於int型

17樓:匿名使用者

好像float 和 double 這樣計算的結果都會 帶.0要是 int 就不會有

一道C語言程式設計題,一道C語言程式設計題

源 只要150行的程式就能用於 抗震救災 一道c語言程式設計題 15 在vc6下除錯通過。include stdio.h main printf 共有 版 d組解 權 n count 一道c語言程式設計題。5 include int s 100 100 定義陣列,第i行存的是第i個學生的成績 int...

一道c語言函式題,一道C語言函式題

原因 i是全域性變數 一步一步來分析這個程式 從main進入 for i 5 i 8 i aa 進入迴圈首先i 5,i 8成立 執行aa 此時i 5 執行下面的迴圈 for i 5 i 8 i printf printf n 列印3個星號一個回車符 然後i的值由於aa中的迴圈變成了8 好了,aa執行...

C語言的一道程式設計題一道C語言程式設計題

include typedef struct pos int right pos pos1,pos pos2,pos pos3 double lengthfun pos pos1,pos pos2 int main pos2 pos3 printf n請輸入第 1個點的座標 t printf n請輸...