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