English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

1。運算式 3.5 + 3 / 2 + 7.6 之結果為何??

2。採用12位元的記憶容量,所能儲存的最大整數為??

3。十六進位(4638)-十六進位(2BCA)=??

4。10111100為一個2的補數,若換算成一個十進位的負數,其值為何??

5。下面程式運算出的結果是??

int main()
{
int x = 10, y = 10;
printf("%d %d\n", x--, --y);
return 0;
}

6。下面程式的輸出結果是??

#include
int main()
{
int a = 1, b = 4, c = 2;
float x = 10.5, y = 4.0, z;
z = ( a + b ) / c + sqrt( (double) y ) * 1.2 / c + x;
printf("%f\n", z);
return 0;
}

7。請從下列運算式中選出a為非0偶數時值為0的運算式
(A)a%2==0
(B)!a%2!=0
(C)a/2*2-a==0
(D)!(a%2)

8。設a=3、b=4、c=5,則邏輯運算式:
  !(a+b)+c-1 && b+c/2的值是??

9。以下程式輸出的結果是??

int main()
{
int i, sum;
for ( i = 1; i < 6; i++)
sum += i;
printf("%d\n", sum);
return 0;
}

10。以下程式輸出的結果是??

int main()
{
int y;
for ( y = 10; y > 0; y--)
if ( y % 3 == 0)
{
printf("%d", --y);
continue;
}
return 0;
}

11。假設a和b為int變數,則執行下列語法後,b值為?

a=1; b=10;
do

b -= a;
a++;
}while(b<0);

12。下列敘述何者錯誤??
(A)任何二進位整數均可用十進位來表示
(B)任何二進位小數均可用十進位來表示
(C)任何十進位整數均可用二進位來表示
(D)任何十進位小數均可用二進位來表示

13。十進位中的20換成下述不同進位的表示式中何者錯誤?
(A)10100(2)
(B)110(4)
(C)24(8)
(D)12(6)

14。下列數列中,何者無法利用二進位完全表示其值??
(A)0.2(16)
(B)0.1(4)
(C)0.1(10)
(D)以上皆可

ps:以上14題。。請各位大大幫忙解答一下吧!!
我希望可以看到解釋。。。否則知道答案。。也不知道為什麼。。。不會做的可以跳過。。。謝謝各位大大唷!!
小女子感激不盡!!
(有看不懂的地方。。可以問我喔!!)

2006-12-19 20:21:12 · 2 個解答 · 發問者 一粒蛋≧﹏≦ 2 in 電腦與網際網路 程式設計

2 個解答

1. 3.5+3/2+7.6=3.5+1.5+7.6=12.6
2. 不會 XD 用2的補數存的話,大概是-2^12~2^12-1吧
3. 4638(16)-2BCA(16)←16進位中10~15是用A~F代表的
先算第一位數:8-A=8-10,不夠減,所以從第二位數借1→8+16-10=14=E
第二位數:上面已經借1了,所以剩2 -C=2-12,不夠減,從高一位數借1→2+16-12=6
第三位數:同上,剩5 -B=5-11,不夠減,向高一位數借1→5+16-11=10=A
第四位數:上面借1了,剩3,3-2=1
→答案:1A6E,這是直接用16進位算的,也可以轉成十進位算完再轉回16進位
4. 負數:2的補數=1的補數+1,1的補數=原負數的正數轉為二進制之後每個bit相反
逆推回去→10111100-1=10111011=1的補數,每個bit相反→01000100=2進位,
→十進位的正數=1*2^6+1*2^2=64+4=68→負數=68(前面要直接寫十進位的負數也可以啦)
5. 即印出x--和--y,x--等於先印出x,之後x=x-1→印出10,之後x=10-1=9
--y:先執行y=y-1=10-1=9,之後印出y→印出9
6. 把值代進去就好了..不過要注意,整數/整數=整數,小數會自動捨去
sqrt(y)代表計算y的開根號,其中y的型態需為double,所以前面多寫一個(double)
其實一開始宣告變數的時候,直接宣告成double y=4.0;就不用多轉一次了...
z=(1+4)/2+sqrt(4.0)*1.2/2+10.5;(1+4)/2=5/2,因為是整數除法→得到的商也是整數=2
z=2+2.0*1.2/2+10.5=2+1.2+10.5=13.7,印出時%f預設會印出6位小數→印出13.700000
若要設定印出n位小數,可以寫%nf,例如:%2f→就會印出13.70
7. %2代表對2取餘數,餘數=0則為偶數,否則為奇數
(A) a%2==0→a為偶數時成立,不過也有可能a=0→成立時值=1→不是答案
(B) !a%2!=0→!a代表a的相反,這裡的相反表示非0的數→0,0→非0,
所以a本來不是0的話,!a就變成0了,0%2一定=0,所以一定不成立→值=0
若a一開始就是0的話,!a會變成非0,非0的數%2才會等於1..→不是答案
(C) a/2*2-a==0→整數除法得到的商會自動取整數,餘數自動捨去..把數字代進去算
例:a=5→5/2*2-5=2*2-5=-1不等於0→運算式不成立→運算式值=0
例:a=6→6/2*2-6=3*2-6=0等於0→運算式成立→運算式值=1
(D) !(a%2)→()內的是判斷a%2是否等於1,因為運算式成立時值=1
前面加個!()代表值變成相反,所以上面的值變成0→a=奇數時,運算式值為0
好像沒有答案 @﹏@ 奇怪的題目-.-
8. !(3+4)+5-1=0+5-1=4,4+5/2=4+2=6,兩個非0的值&&起來,還是非0的值→用1代表→值=1
9. sum沒有初始值,結果不一定,若前面設sum=0才會有正常的結果
for(i=1;i<6;i++)←表示i初始值從1開始,滿足i<6條件的時候執行for迴圈,執行一次之後i++
sum+=i代表sum=sum+i;,所以for迴圈執行的結果是sum=1+2+3+4+5=15
10. 從y=10執行到y=1,中間若y%3==0時印出--y,簡易流程如下:
y=9時,印出--y,y=9-1=8,印出8;y=6時,y=6-1=5 ;y=3時,y=3-1=2;所以印出852
11. do{程式碼}while(判斷式); ←先執行一次程式碼,之後若判斷式成立就繼續執行,否則跳出
流程:b-=a→b=b-a=10-1=9,a++→a=a+1=2;判斷b<0是否成立,不成立→跳出迴圈→b=9,a=2
字數超過了,12~14用寄的,不懂再加我即時通或寄信問吧

2006-12-20 13:31:56 補充:
第一題臨時忘記...3/2取整數應該是1...所以答案是12.1 @﹏@

2006-12-20 13:38:39 補充:
第四題...本來寫負數=68...忘記加-號了..看得懂吧 @﹏@
第七題...你說的運算式有沒有包括==和!=呀? 不過我好像講太多-.-

2006-12-20 18:58:40 補充:
第七題那個(B)...只要a是非0的數都會變0吧 @﹏@
那樣算答案嗎-.- 奇怪的問題-.-

2006-12-20 08:29:11 · answer #1 · answered by ? 5 · 0 0

1. 12.1 (因為 3 和 2 都是整數, 所以商數祇取整數.)

2. 2^12 = 4096

3. = 17976 - 11210 = 6766

4. 先減 1 => 10111011
取補數 => 01000100
十進位 => - 68

5. 10 9 (x 先印再減 1, y先減 1再印.)

6. 13.70000 <== (a+b)/c = 2, 不是 2.5

7. 運算式值全部為 0, 優先順序 ( ), !, * / %, + -, == !=
(A)a%2==0==> a 是奇數, a%2= 1
(B)!a%2!=0==> !a先做, ==> 0 %2= 0
(C)a/2*2-a==0==> a/2*2 = a-1
(D)!(a%2)==> a%2先做, ==> ! ( 1 ) = 0

8. 1 <== !(a+b)= !(7) = 0, ==> 0 + 4 -1 && 4 + 2 == 3 && 6 = 1

9. 15 <== 1 + 2 + 3 + 4 + 5

10. 852 <==實際上, 它是印三次; 8, 5, 2. 但是因為沒有跳行 所以就連在一起了.
另外 continue 在這裡沒什麼作用.

11. 9 <== 做完第一次 (b = b-a=9) 時 要檢查是否 b < 0
結果, b = 9 > 0. 跳出迴路.

12. 錯(D)任何十進位小數均可用二進位來表示
二進位小數 祇能精確地表示 (1/2)^n 或這種型態的數字的和
十進位裡的 0.1 祇能用二進位的近似值來表示

13. (D)12(6)==> 應該是 32 (6)

14. (C)0.1(10)==> 參考 12 題
(A)0.2(16)= 1/8 (10) = 0.001 (2)
(B)0.1(4)= 1/4 (10) = 0.01 (2)

2006-12-20 15:41:50 補充:
抱歉 第7題 "非0偶數" 錯看成 "非偶數"
(A)a%2= 0
(B)!a%2 = 0 %2= 0
(C)a/2為整數, 所以 a/2*2= a, a/2*2-a=0
(D)!(a%2)= !(0) = 1
運算式值輸出結果 (A) 1 (B) 0 (C) 1 (D) 1

2006-12-20 08:26:12 · answer #2 · answered by JJ 7 · 0 0

fedest.com, questions and answers