c程序设计语言选修难吗,欢迎大家选修C语言程序设计这门课,本帖解释一下一些常见的问题...
置頂
歡迎大家選修C語言程序設計這門課,本帖解釋一下一些常見的問題
葉卡林娜
發表于2017年01月05日
首先歡迎大家選修浙大翁愷老師的C語言程序設計課程。開課2天就看到討論區已經有這么多帖子,說明同學們的學習熱情很高。結合前幾次開課的經驗以及目前在討論區的一些問題,先就一些常見問題作下說明。
1. 請不要只看視頻課件,而忽略課件當中的富文本的文字說明。
2. 編譯環境的安裝
如果你用的是Windows操作系統,可以選擇使用Dev C++,安裝的參考課件為這里;有的學校可能會用VC6.0,這是個比較古老的版本,它帶的編譯器不支持C99標準,建議還是用Dev C++或者Code::Blocks,當然visual studio也是可以的,但vs中特有的一些函數,OJ是不支持的,提交OJ時需要進行修改。
如果你用的是Mac os,則參考課件是這里;如果是新版的mac系統,在終端輸入gcc之后會有下面的提示:
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun此時在終端運行下面這條語句,就可以了(安裝完整版的xcode是非必須的)。
xcode-select --install
如果你用的是linux系統,我想你肯定能自己搞定的。
Windows配置好環境后,也是可以在終端(命令提示符)用命令進行編譯的,具體怎么配置環境,網上有很多介紹,請善用檢索。如果你想用Dev C++這個集成開發環境,那么不用去糾結“終端是什么”,“怎么打開終端”,“去哪里敲gcc”等這些問題。
3. Dev C++編譯成功的標志
課件里面演示的是5.8.3版的Dev C++(老版本都可以在這里找到),編譯成功后會顯示“編譯成功”。在較新版本(5.10+)里面,編譯成功往往是這樣顯示的:
錯誤0,警告0就說明編譯成功。按運行(默認快捷鍵F10)就可以看運行結果。記得每次修改源代碼后,需要重新編譯,再運行,不然看到的是之前編譯好的可執行程序的運行。
但另外需注意的一點,錯誤0,警告0(Dev C++默認對于警告檢查比較弱,看參考下面第9條),只是說明可以順利通過編譯,并不代表程序本身沒有BUG。
4. Dev C++點擊調試提示“項目沒有調試信息,您想打開項目調試選項并重新生成嗎?”
在工具欄右側有TDM-GCC 4.9.2 64-bit Release的選項,切換為TDM-GCC 4.9.2 64-bit Debug(32位可以用TDM-GCC 4.9.2 32-bit Debug),再編譯運行。
5. Dev C++使用調試功能時,為什么變量的值沒有顯示在左邊的調試窗口?
默認需要手工輸入需要查看的變量,才能在左側調試窗口顯示,如果想在鼠標滑過變量名時自動添加到左側的話,在Dev c++的工具->環境選項,勾選“瀏覽Debug變量下的查看鼠標指向的變量”。
6. 關于在線測評系統(Online Judge)
如果以前沒有用過任何OJ,可能會覺得我在自己電腦上運行都對,怎么到OJ就判錯呢。這個時候很有可能,你有一些不應該的輸出,如第一周的題目,輸出了類似“請輸入一個三位數”這樣的友好性提示,這就和需要輸出的部分不符。正確的是,當輸入123時,輸出的所有內容,只有321。多任何字符,包括空格,回車,都將導致系統判斷“答案錯誤”或“請檢查輸出格式”。但是,請務必養成另一個習慣,在最終輸出"\n"以表示輸出完畢??赡軐τ谀壳暗念}目,是否輸出這個表示結束的符號都將得分,但是在某些情況下,可能就是這個問題導致無法accepted。
7. 有部分同學會把編譯器的錯誤貼上來,而不貼源代碼,這樣往往我們也無法確定代碼問題是什么,所以請務必貼上那段編譯器報錯的代碼,以方便別人來幫你糾錯。而且盡量不要貼圖片,MOOC的圖片在上傳時候會縮放,導致看不清楚上面的代碼。
8. 更多的練習可以在https://pta.patest.cn/pta/test上找到,其中基礎編程題目集是對大家開放的,浙大版《C語言程序設計(第3版)》題目集則是需要買書后,輸入讀者碼才可使用。在pta上遇到的問題,也可以貼到本討論區來。
9. 在視頻當中老師通常是在Mac環境下,此時使用的編譯器是Clang(LLVM),對于代碼的檢查是比較嚴格的。而大部分同學是在Windows環境下的Dev C++進行學習,Dev C++默認的編譯器GCC對于代碼的檢查不太嚴格,但是可以通過增加參數,讓它把所有Warning顯示出來,具體的做法是:在工具->編譯選項,按照下圖填寫:
注意設定的編譯器配置和當時選用的編譯器(右上方下拉菜單)上的是一致的,才有效。
10. OJ里面的測試數據范圍是做什么用的?
在OJ上面經常會看到測試數據的范圍,就比如第二周的0-2359,其實這個提示并不是讓你在程序里面加上一條判斷語句去檢驗系統設置好的測試數據是不是在這個范圍內的。他已經告訴你在這個范圍內,那么何必加一條判斷呢?那么這個范圍是用來做什么的呢?是提示你如何去選擇要使用的數據類型和結構,測試數據是0-2359的整數,很自然可以想到int就夠了。但比如這是一個計算階乘的題目,告訴你測試數據是1-15,那么用int來記錄結果就不夠用了,如果是1-100,那么long long也不夠用了,需要用到后面才會學到的數組。
11.如何像老師一樣在sublime text里面運行C代碼?
在Sublime Text寫完代碼后按 shift + command + B,會提示“clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated”。因為需要配置下Build,具體方法為
在菜單中:Tools -> Build System -> New Build System
然后拷貝以下內容:
{
"cmd": ["gcc", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c",
"variants":
[
{
"name": "Run",
"cmd": ["bash", "-c", "gcc '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
}
]
}
保存為C。以后就可以選擇Tools -> Build System -> C(或者快捷鍵shift + command + B),來編譯和運行C的程序了。
祝大家學習愉快!能夠堅持到最后,拿到證書。
分享
25
回復
總結
以上是生活随笔為你收集整理的c程序设计语言选修难吗,欢迎大家选修C语言程序设计这门课,本帖解释一下一些常见的问题...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在京东中使用云闪付付款
- 下一篇: 电脑老是弹出广告怎么解决电脑老是弹出广告