1樓:匿名使用者
int c = a + int)b;
這樣的c就是int型的。
double c = a + b;
這樣的c就是double型的。
c語言中,double的級別比int高,所以從int轉換到double可以自動轉換,只要加號兩邊有一個double,結果就會變成double的。但是從double轉換為int需要寫明,例如(int)b就是把b轉換為int型。
顯示的時候,如果c是int的,這樣顯示:
printf("%d",c);
如果c是double的,這樣顯示:
printf("%f",c);
2樓:匿名使用者
不用轉換啊,對於int和double的運算,都是預設將int轉換為double,然後運算的,不用程式控制轉換。對於你要int和double兩種輸出格式,建議定義c用double,這樣的話,用int(c)可以強制轉換成int,不然將c先定義成int再強制轉換成double輸出值上沒什麼太大差別。
3樓:匿名使用者
用強制型別轉換;
在你現在的程式中,c算出來的值就已經是double型的了。
如果你要int型的,用強制型別轉換一下。
如c=int(c)。
4樓:匿名使用者
在程式的輸入地方加上:
printf("這個double形式c= %f ",double(c));一種是int形式的printf("這個int形式c= %d ",int(c));一種是double形式。
新手c語言問題
5樓:梅秀雲焉嫻
問題一:c語言中int
main()和void
main()有什麼不同?
答:intmain()必須返回一個int的數值。
voidmain()不需要返回資料。
問題二:在網上看到一段話:
「可以指定一個整型常量為二進位制、八進位制或十六進位制,如以下語句:
-129,0x12fe,0177
常量的前面有符號0x,這個符號表示該常量是十六進位制表示。如果前面的符號只有一個字母0,那麼表示該常量是八進位制。
有時我們在常量的後面加上符號l或者u,來表示該常量是長整型或者無符號整型:
22388l,0x4efb2l,40000u」
答:前面加-代表是有符號數。
0x代表(hex十六制)
0代表oct八進位制,不過八進進位制用的少,而且並不通用,你可以放棄八進位制了。
進位制的就不多說了,一門語言的基礎了,l就是long,u就是unsigned.
組合就多了,long
int;long
float等,unsigned
char;unsigned
int等;
c語言初學問題 15
c語言,初學者問一問題。
6樓:匿名使用者
既然是初學者,我想告訴你一點基本的知識,首先那個scanf函式,是個輸入流函式,即是從終端(即鍵盤)讀取資訊,你的那條語句是要輸入三個資料,首先就有個怎麼用鍵盤輸入三個資料的問題,我想讓你知道,你輸入資料的時候,最好用空格來分隔三個資料,這些你慢慢就會知道為什麼這麼做。
然後,是那個 a=x/; 這條語句,我想說,兩個整形相除還是整形,是下取整的,舉個例子(你也可以自己程式設計去試試),1/2=0 4/3=1。就沒有必要減去了。
最後,是那個三元操作符。首先a==20?21:
20;這條語句,是三元操作符是有個結果的,即如果a==20,則結果是21,反之結果是20;所以你應該用a來存貯這個結果,因為你的意思應該是,如果上面的表示式的結果是20的話,那就是21世紀(這什麼要+1,我也理解你的想法),反之是20世紀(這個想法其實是初學者的通病,即想的都是那麼現實,其實程式跟人的想法和現實是有差距的,程式是呆板的,不能用人的邏輯去寫程式),你是想著人一般不是20世紀,就是21世紀,這無可厚非,但總歸有侷限性。其實,這樣的話,就可以大可不必用這條語句了。
我的答案是:
#include
main()
如果非要用那個三元表示式的話(是存在侷限性的):
#include
main()
希望等幫你解決一些難題,都是這麼過來的,當時有人幫過我,我也想幫助別人。
7樓:匿名使用者
你的程式裡 有些錯誤。
#include
main()
程式可改為:
#include
main()
8樓:網友
main()
//算出生 世紀就這樣就可以了。
// 輸入的時候要加/ 比如:2012/11/24
關於c的新手問題
9樓:匿名使用者
給你解讀下:
x>y? 否。
條件2: x==y? 否。
條件2:(float)x/(-y))
>>z=x/--y y=5
z= 如果z定義為整行,結果z=0,如果z定義為實型,z=
結果 x=4 y=5
新手關於c的問題
10樓:閒餘追溯
1.求4位資料的個位和千位?
用求餘的方法求個位;除法求千位;如四位數為:1234 則1234%10將得到個位數4,;1234/1000則得到千位數1;
2.今年是兔年,求50年後是什麼年?
因為有十二個生肖,先將每個生肖各用一個數字表示從今年(1)開始排列下去,總共排到12;然後用50%12所得到的餘數和所對應的12個數中哪一個對應就是哪一個生肖,就能夠知道是什麼年了!
3.求4位數a的個位,百位?
這題和第一題一樣的,個位就不講了,至於百位,先a/100得到a的千位和百位兩個數,再將得到的數求餘就得到百位上的數!
仔細想想,相信你會明白的!
關於c語言的新手問題
11樓:匿名使用者
嗯,你這樣對問題進行思考是很好的。
1、a是一個指標,它的裡面存放字元變數的地址或者字串的起始地址,而printf函式格式說明符為%s時就是從後面列表中表示式對應的地址開始輸出字元直到遇到結束符為止,所以就可以輸出一個字串,而a中恰好存放了一個字串的起始地址,所以就能輸出你所看到的結果;
2、後面的字串"asdhjkasd"從我們的角度和指標a的角度看到的是不同的結果,我們看到的是字串,而a看到的是該字串的起始地址,也就是說a被初始化為後面的字串的起始地址;
3、記憶體裡面給字串分配地址了,分配在常量區,會給它分配一個無名的字元陣列來存放它。通過上面的定義,恰好使得a指向了它開始的元素,即指向了這個字串,或者說它的起始地址。
12樓:匿名使用者
char *a="asdhjkasd";/定義了一個字元型指標a,初始化就是將該字串的首字元的地址賦值給指標a
printf("%s",a);/s表示以字串的格式輸出a所指向的字串,這裡的a代表的是字串的首地址,為什麼會輸出整個字串,這是這種輸出的規定,
新手c語言的簡單問題
include include void main else if num 2 應該用 else zx printf 你選擇了周逍 n xianshi 沒有定義這個標籤 h1 sh printf 敵人hp n while h1 0 xianshiz printf n我方hp n h1 hp whil...
C語言新手陣列問題,C語言陣列問題
a i j a i j 理解運算優先順序就好了,裡面的那個括號 可有可無 原解析有誤。二維陣列其實就是i個具有j個元素的一維陣列,因此a i j a i j a i j c語言陣列問題 你的 問題有以下幾個 1 min和max沒有初始化 2 對於a min 和a max 沒有做迴圈參考 如下 inc...
本人新手,想學c語言,本人新手,想學C語言,,
如果你之前沒學過程式語言,現在學c語言,會很困難,有很多計算機方面的思想很難理解。但是挺過去就前途一片光明,以後學習其他程式語言就會很輕鬆。學習c語言一般選擇vc 6.0作為程式設計工具,你也可以選擇其他工具,像vs。入門書籍,每個人的口味都不一樣,別人推薦的就未必適合自己,自己到書店或圖書館找一下...