1. 計算下列各題之值:
(1) 816+916=( ? )16
(2)假設1 代表真,0 代表假,則NOT 10>13 AND 8 < 5 + 10 運算完之值是多少?
(3)三個二進位數(Binary Numbers)分別為11011, 10011 與11,其和以二進位數表示為?
2. 比較下列甲、乙、丙、丁之大小:
(1)四種資料儲存裝置:甲代表main memory、乙代表register、丙代表cache memory、丁代表hard disk,其存取資料速度由快
而慢為?
(2)在C 語言中,甲代表int、乙代表char、丙代表double、丁代表float,此四種基本資料型態所佔記憶體的空間由大到小排列
順序為何?
(3)今有甲、乙、丙、丁四個數分別為八進位、十進位、十六進位、與二進位,甲之值為(24.4)8,乙之值為(21.2)10,丙之值為(18.8)16, 丁之值為(10101)2,則甲、乙、丙、丁四個數之大小關係為何?
3. 回答下列各程式題
(1)欲求10! 的值,則下列程式標籤30 的敘述應為:
10 FACT=1
20 FOR I = 10 TO 1 STEP –1
30
40 NEXT I
50 PRINT FACT
(2)若函數f(x, y)之定義如下,請問f(2, 1)之值為何?
FUNCTION f(x, y)
if (x > 0) and (y > 0) then
Return (f(x-1, y) + f(x, y-1))
else
Return (x + y)
END FUNCTION
(3)下列程式執行的結果為何:
int A=3, B=4, C=5;
C = A + B * 2 % 3 + 2;
printf(“%d\n”, C);
(4)若變數i 為整數資料型態,則下面程式片斷中,for 迴路共執行幾次?
for (i = 5; i ==0; i++)
printf (“%d”, i ++);
請問誰可以幫我解答一下>""""""<...3Q...
(我想要有計算過程)
2007-07-04 04:43:42 · 3 個解答 · 發問者 松鼠 1 in 電腦與網際網路 ➔ 程式設計
ㄜ...其實這是轉學考的題目...
我也不認識這位老師說= =""
不過聽完你醬說...我整個很想撞牆...
因為我不知道這份考題這麼糟糕...
只覺得有夠難查詢答案= ="""...
謝謝你的意見...>0<...
2007-07-04 06:21:37 · update #1
(1) 816+916=( ? )16
=========================================================
(8)16=8*16(0次方)=8(10進位)
(9)16=9*16(0次方)=9(10進位)
9+8=17(十進位)
17用輾轉相除法用16去取它餘數 為11
所以答案是 (11)16次方
=========================================================
(2)假設1 代表真,0 代表假,則NOT 10>13 AND 8 < 5 + 10 運算完之值是多少?
NOT 10>13 AND 8 < 5 + 10
| |
| 這地方5+10要先做,做完之後跟8比較,發現成立所以
| 是1,最後在跟AND比較,發現兩邊成立,符合AND的特
| 性,所以整個式子為TRUE =1
本來10沒有大於13,但是因為10的前面有NOT(反向),所以變成成立了!所以這段是真=1
它的順序優先權為1.not 2.+ 3.> < 4. AND
========================================================
(3)三個二進位數(Binary Numbers)分別為11011, 10011 與11,其和以二進位數表示為?
=========================================================
11011 -- 為27(10進位)
10011 -- 為19(10進位)
11 -- 為3 (10進位)
27+19+3 =49
49輾轉相除法 由下往上取餘數為 110001
=========================================================
2. 比較下列甲、乙、丙、丁之大小:
(1)四種資料儲存裝置:甲代表main memory、乙代表register、丙代表cache memory、丁代表hard disk,其存取資料速度由快
而慢為?
=========================================================
乙 >丙 >甲 > 丁 (最慢)
=========================================================
(2)在C 語言中,甲代表int、乙代表char、丙代表double、丁代表float,此四種基本資料型態所佔記憶體的空間由大到小排列
順序為何?
=========================================================
字元佔1byte . 整數佔2byte . 單精確浮點佔4byte 雙精準佔8byte
所以是 double >float >int > char
丙 > 丁 >甲 >乙
=========================================================
(3)今有甲、乙、丙、丁四個數分別為八進位、十進位、十六進位、與二進位,甲之值為(24.4)8,乙之值為(21.2)10,丙之值為(18.8)16, 丁之值為(10101)2,則甲、乙、丙、丁四個數之大小關係為何?
=========================================================
先將全部轉為10進位
甲 (24.4)= 4*8(0次方) +2*8(1次方) +4*8(-1次方)=20.5
乙 (21.2)=21.2保持不動
丙 (18.8)=8*16(0次方)+1*16(1次方)+8*16(-1次方)=24.5
丁 (10101)=1*2(0次方)+1*2(2次方)+1*2(4次方)=21
所以 丙 > 乙 > 丁> 甲
2007-07-04 13:20:28 補充:
3. 回答下列各程式題
(1)欲求10! 的值,則下列程式標籤30 的敘述應為:
10 FACT=1
20 FOR I = 10 TO 1 STEP –1
30
40 NEXT I
50 PRINT FACT
=========================================================
30 FACT=FACT*I
2007-07-04 13:22:29 補充:
2.依照條件 當 X.Y都要大於0會回傳 (f(x-1, y) + f(x, y-1))
(2,1)
= f(1,1) + f(2,0)
= f(0,1)+f(1,0) +f(2,0)->這一個已經不會在動作了,因為條件不成立
接著他的條件是xy只要一個沒大於0 就傳x+y 也就是說 只要有一個數值有0 它就回傳 x+y
(2,1)
= f(1,1) + f(2,0)
= f(0,1)+f(1,0) +f(2,0)--->會回傳1+1+2=4
| | |
0+1 1+0 2+0
2007-07-04 13:23:34 補充:
(3)
C= 3 + 4 * 2 %3 +2 先把AB數值寫進去
C= 3+ 8%3 +2 4*2要先做 因為優先度比較高 *>%>+
C= 3+ 2 +2 =7 8%3去餘數為2
C= 7 把右式的過程結果指定給左式C
印出C 就是7
2007-07-04 13:23:56 補充:
(4)若變數i 為整數資料型態,則下面程式片斷中,for 迴路共執行幾次?
for (i = 5; i ==0; i++)
printf (“%d”, i ++);
=========================================================
for (i = 5; i ==0; i++) 這一行有問題耶,他原本假設 i =5 但是條件又是
i==0 這個不成立耶
應該是不會執行吧 條件不足
=========================================================
如果有錯誤煩請指教!!!謝謝
2007-07-04 09:18:00 · answer #1 · answered by ? 2 · 0⤊ 0⤋
1.
(1) 816+916=1710=1116
(2) NOT 10>13 AND 8 < 5 + 10
-> NOT (false) AND (8 < 15)
-> (true) AND (true) ->True
(3) (11011)2=2710 (10011)2=1910 (00011)2=310
4910=(11000)2
2.
(1) 乙丙甲丁
(2) 丙甲丁乙 或是 丙丁甲乙
( 32 位元 )
char=1 byte
int=4 bytes
float=4 bytes
double=8 bytes
(3) 小綿羊不會這一題~!
3.
(1) FACT *=I
(2) f(2,1)=f(1,1)+f(2,0)=f(0,1)+f(1,0)+f(2,0)
=1+1+2=4
(3) C = A + B * 2 % 3 + 2 ;
3+4*2%3+2=3+8%3+2=3+2+2=7
(4) 題目怪怪滴
2007-07-04 08:13:31 · answer #2 · answered by Big_John-tw 7 · 0⤊ 0⤋
你老師有沒有在進修啊!?
(不然,他就是直接拿15年前東東出來用!)
2. (2)應該是一萬年前的題目!
那時這樣還〝勉強〞問沒問題;
現代這問題,根本〝可以說〞是出錯了!
2007-07-04 09:48:34 補充:
3 的 (4) 犯同樣的錯誤!
請他好好讀書,不要誤人子弟!
2007-07-04 09:51:41 補充:
C 的 int 是以 CPU 的 位元數為準!
在未知CPU 的 位元數下,int 的最大值、位元數,都不知!
現在又正值 32 / 64 位元世代交替的時期!
請問要以哪個為準?
2007-07-05 01:43:48 補充:
通常,Not 的優先權極高!
所以,Not 10 > 13 是 (Not 10) > 13 → 0 > 10 = False
49 是 110001
int 在 16 位元佔 2 bytes, 32 佔 4, 64 佔 8
16: 丙>丁>甲>乙
32: 丙>丁=甲>乙
64: 丙=甲>丁>乙
由程式結構看來像是 BASIC
BASIC 不認識 *=
不會執行:條件不成立
2007-07-04 05:46:39 · answer #3 · answered by ? 7 · 0⤊ 0⤋