[問題] 一些考題有請指教

看板C_and_CPP作者 (一 擊 入 魂)時間12年前 (2013/04/12 22:50), 編輯推噓12(12037)
留言49則, 15人參與, 最新討論串1/3 (看更多)
各位好,目前在準備國考,又是個程式新手,碰到以下幾個問題想請各位指點,謝謝。 我會加入些我的想法,請指正,錯得離譜請海涵<(_ _)> 1. #include<stdio.h> int main() { int choice=1; switch(choice) { case 1: printf("*"); case 2: printf("**"); case 3: printf("***"); } return 0; } 答案:****** 我的想法:choice=1,應該是case 1的輸出吧?就是一顆而已。但是答案是六顆, 感覺像是case1到3全跑過一次!? ============================================================================== 2. (只節錄一段看不懂的部分,是條件判斷) a=10, b=5 if(!a>100 && b<6)是真還是假呢? 我的想法:b<6是真,但是a>100是假,但因為前面有個代表否定的"!"所以變成真。 因此真&&真=真。 ============================================================================== 3. #include<stdio.h> int main() { int a=64, b=1; printf("%/d", a>>(1+(b<<2))); return 0; } 答案:2 我的想法:這題真的搞不懂...抱歉。 ============================================================================== 4. #include<stdio.h> int foo1(int v) { int a=0; a+=v; return a; } int foo2(int v) { static int a=0; a+=v; return a; } int main() { foo1(10); foo2(10); printf("%d %d", foo1(5), foo(5)); return 0; } 答案:5 15 我的想法:一開始foo1和foo2的v=10,所以加進去後兩者的a=10,接著printf內再 輸入v=5,再加進a裡面,foo1應該為15,foo2的a被static,所以還是5。 輸出應該為 15 5。但是完全顛倒... ============================================================================== 以上幾題請不吝指教,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.166.207.206

04/12 23:09, , 1F
還是去找本書看看吧...
04/12 23:09, 1F

04/12 23:10, , 2F
key point: 1.switch 2.operator
04/12 23:10, 2F

04/12 23:11, , 3F
3.bitwise shift 4.static
04/12 23:11, 3F

04/13 00:38, , 4F
這些題目大一好像都考過
04/13 00:38, 4F

04/13 00:54, , 5F
@hpps:我怎麼都沒看過這些題目啊xD 目前大一表示xD
04/13 00:54, 5F

04/13 01:03, , 6F
不教switch logic op 現在大一到底在幹嘛
04/13 01:03, 6F

04/13 01:04, , 7F
shift op還有一點理由不教
04/13 01:04, 7F

04/13 01:05, , 8F
何不問我們教授?業界導向?反正助教神速教完Java螞蟻書
04/13 01:05, 8F

04/13 01:09, , 9F
到底是沒教呢?還是上課沒在聽呢?
04/13 01:09, 9F

04/13 01:09, , 10F
話說,說不定原po不是相關科系,只是為了國考而讀
04/13 01:09, 10F

04/13 01:15, , 11F
另外有一個方法就是,把這些程式碼丟給編譯器跑
04/13 01:15, 11F

04/13 01:16, , 12F
這樣你印象深刻也會得到正確答案
04/13 01:16, 12F

04/13 01:16, , 13F
然後你應該是考資料處理但是沒學過寫c++程式
04/13 01:16, 13F

04/13 01:17, , 14F
建議有空的話還是把c++的程式書拿來練習基本比較好
04/13 01:17, 14F

04/13 01:20, , 15F
抱歉,我不是相關科系,本行是物理,完全是因為考試才接
04/13 01:20, 15F

04/13 01:21, , 16F
觸,非常感謝各位。
04/13 01:21, 16F

04/13 01:31, , 17F
這些都是純C語言 找C語言的書來看就好了 不用到C++
04/13 01:31, 17F

04/13 01:45, , 18F
第二題重點是 operator 的優先度 跟為什麼先乘除後加減一
04/13 01:45, 18F

04/13 01:47, , 19F
樣,是規定
04/13 01:47, 19F

04/13 07:19, , 21F
如果1F上課沒在聽,那他應該也不會在這推文吧......
04/13 07:19, 21F

04/13 07:21, , 22F
(我是指他對coding的熱情~
04/13 07:21, 22F

04/13 14:21, , 23F
@diabloevagto: 我有在聽喔,真的都沒有教~
04/13 14:21, 23F

04/13 14:23, , 24F
@KoenigseggG:有熱情,但是沒方向Q_Q 原本以為大學能給
04/13 14:23, 24F

04/13 14:23, , 25F
我一點方向的,結果反而更混亂Q_Q
04/13 14:23, 25F

04/13 14:43, , 26F
混亂+1啊......後來應該會改善吧XD
04/13 14:43, 26F

04/13 14:47, , 27F
都是教授的錯(阿不是) 想多學一點算法~比較不喜歡實作xD
04/13 14:47, 27F

04/13 15:05, , 28F
大一會河內塔陣列指標就好 其他有興趣再看
04/13 15:05, 28F

04/13 15:31, , 29F
可是我們都沒有教誒xD (雖然說我只要有看概念就會了xD
04/13 15:31, 29F

04/13 16:11, , 30F
那你也蠻強的 大一之前沒接觸過程式的反應幾乎都是一臉茫然
04/13 16:11, 30F

04/13 16:29, , 31F
感謝高中電腦老師<(_ _)> 他讓我在高中時期就對code有
04/13 16:29, 31F

04/13 16:29, , 32F
興趣惹w
04/13 16:29, 32F

04/13 17:04, , 33F
樓上要不要來看看 OCaml XD 非常非常有趣!
04/13 17:04, 33F

04/13 17:18, , 34F
tjjh89017,我不是說你== 是說原po
04/13 17:18, 34F

04/13 17:25, , 35F
對不起QAQ
04/13 17:25, 35F

04/13 17:26, , 36F
google OCaml中...
04/13 17:26, 36F

04/13 22:08, , 37F
個人覺得考試考第二題很沒營養
04/13 22:08, 37F

04/13 22:11, , 38F
第二題在考運算子優先順序,也就是在考括號怎麼括,但
04/13 22:11, 38F

04/13 22:12, , 39F
一般來說,co-working 時不會像題目那樣省略括號
04/13 22:12, 39F

04/13 22:35, , 40F
樓上,這就是考試啊= =常考一堆平常不可能這樣寫的
04/13 22:35, 40F

04/13 22:35, , 41F
code問你output為何orz
04/13 22:35, 41F

04/14 12:03, , 42F
第1題:你沒有告訴電腦要 break,初學者常犯的錯誤:)
04/14 12:03, 42F

04/14 18:48, , 43F
第二題不一定沒營養,運算子優先程度很重要
04/14 18:48, 43F

04/14 18:51, , 44F
不過這些問題都算是基本呢,連我入門國中生都會囉…這
04/14 18:51, 44F

04/14 19:02, , 45F
些都算是語言基本吧?
04/14 19:02, 45F

04/14 21:06, , 46F
不要期望自己或別人在半夜三點還能記得清楚優先順序
04/14 21:06, 46F

04/14 21:10, , 47F
當然能括號能力求可讀性,但不是每個人程式風格都如此優
04/14 21:10, 47F

04/14 21:13, , 48F
況且基本幾種運算優先記一下就好,如果不晦澀的都應該
04/14 21:13, 48F

04/14 21:14, , 49F
但雖然是這樣說,但我還是會縮排和括弧XDlll
04/14 21:14, 49F
文章代碼(AID): #1HQ1yRLr (C_and_CPP)
文章代碼(AID): #1HQ1yRLr (C_and_CPP)