關(guān)于我們
書單推薦
新書推薦
|
C語言程序設(shè)計(jì)
本書內(nèi)容包括程序設(shè)計(jì)語言和程序設(shè)計(jì)的基本概念, C語言的詞法語法, 三種基本控制結(jié)構(gòu), 函數(shù)的定于和調(diào)用, 數(shù)組、結(jié)構(gòu)體、指針等復(fù)雜數(shù)據(jù)類型的定義和應(yīng)用, 文件操作等。
(1) 配套75個(gè)短視頻,詳細(xì)講解C語言的關(guān)鍵知識(shí)點(diǎn);
(2) 提供教學(xué)課件、在線單元測(cè)試、答案解析、綜合練習(xí)、在線答疑;
(3) 可到中國大學(xué)MOOC上獲取上述教學(xué)資源(網(wǎng)址見書中“前言”說明)。
(4) 本書以介紹C語言的語法為線索,采用案例教學(xué)方法,將程序設(shè)計(jì)的一般方法和技巧貫穿在實(shí)例分析中;
(5) 構(gòu)建了完善的教學(xué)解決方案,提供在線視頻課程、課件、作業(yè)、測(cè)試、答案解析;
(6) 視頻課程教學(xué)方法靈活,講解精練易懂,培養(yǎng)學(xué)生自主學(xué)習(xí)的能力;
(7) 可以在移動(dòng)端登錄視頻課程,便于隨時(shí)隨地學(xué)習(xí)。
“C語言程序設(shè)計(jì)”是高校非計(jì)算機(jī)專業(yè)學(xué)生的編程入門課程,廈門大學(xué)公共計(jì)算機(jī)教學(xué)部已開設(shè)該門課程超過20年。通過長(zhǎng)期的計(jì)算機(jī)基礎(chǔ)教學(xué)實(shí)踐與研究,老師們都積累了豐富的經(jīng)驗(yàn),并先后修訂了3次教材,前3版都是基于ANSI C的標(biāo)準(zhǔn)編寫的。隨著C標(biāo)準(zhǔn)與時(shí)俱進(jìn)地更新,目前的C99標(biāo)準(zhǔn)與ANSI C標(biāo)準(zhǔn)已有較多差異,有些與本書涉及的內(nèi)容相關(guān)。因此促使編者對(duì)本書再次進(jìn)行改版,并配套豐富的教輔資料,具體工作內(nèi)容如下:
1. 修訂內(nèi)容
第4版對(duì)各章節(jié)內(nèi)容進(jìn)行了修改與補(bǔ)充,包括以下5個(gè)方面:
(1) 對(duì)C標(biāo)準(zhǔn)更改的地方進(jìn)行了更新。
(2) 增加了對(duì)DevC++的介紹,開發(fā)環(huán)境可以有更多選擇。
(3) 為第1~4、6章增設(shè)了問答題,這些章節(jié)語法知識(shí)點(diǎn)較多,記清有一定的難度。問答題多以選項(xiàng)的形式給出,是對(duì)主要知識(shí)點(diǎn)的歸納。通過問答,厘清與編程相關(guān)的主要或易錯(cuò)知識(shí)點(diǎn)。
(4) 從易于理解的角度出發(fā),對(duì)部分教材內(nèi)容進(jìn)行了補(bǔ)充與修改。
(5) 選擇題、編程題也做了一定程度的擴(kuò)充,使習(xí)題更有針對(duì)性,更有梯度。
在對(duì)教材進(jìn)行改版的過程中,同時(shí)保留了第3版的特色,注重案例教學(xué),將編程方法與技巧融入各案例分析中。C語言是一門實(shí)踐性很強(qiáng)的課程,學(xué)好C語言的最佳途徑就是編程,多寫多練。
2. 配套豐富的教輔資源
為推動(dòng)信息技術(shù)與C語言教學(xué)的深度融合,進(jìn)一步提高教學(xué)質(zhì)量,收獲更好的教學(xué)效果,廈門大學(xué)公共計(jì)算機(jī)教學(xué)部啟動(dòng)在線開放課程的建設(shè),并于2016年10月15日在中國大學(xué)MOOC開課,課程鏈接為/course/XMU1001771003,其中有大量的教輔資源。
教輔資源內(nèi)容包括以下4類:
1) 75個(gè)教學(xué)短視頻
MOOC課程與傳統(tǒng)上課不同,學(xué)生是課程學(xué)習(xí)的主人,教師是學(xué)生學(xué)習(xí)的引導(dǎo)者和輔助者,從“教”為中心改為以“學(xué)”為中心。為激發(fā)學(xué)生的學(xué)習(xí)積極性,我們對(duì)教學(xué)內(nèi)容進(jìn)行合理規(guī)劃,把知識(shí)點(diǎn)碎片化為一個(gè)個(gè)不超過10分鐘的視頻,精心組織每個(gè)視頻的內(nèi)容,充分使用現(xiàn)代技術(shù)將知識(shí)點(diǎn)以易于吸收的形式展示。
視頻完全免費(fèi)觀看。每輪開課分13周在線發(fā)布,與課堂教學(xué)同步。學(xué)生可以自選時(shí)間觀看,每輪課程結(jié)束后仍然一直開放,參與者可以隨時(shí)觀看。
2) PDF講稿
可以免費(fèi)自由下載。講稿簡(jiǎn)潔清晰,以另一種方式闡述教學(xué)內(nèi)容,便于復(fù)習(xí)與歸納。
3) 在線單元測(cè)試與作業(yè)
每周知識(shí)配有單元測(cè)試題,系統(tǒng)自動(dòng)評(píng)分。答題結(jié)束后,可以看到每道題的解析。單元測(cè)試題以鞏固知識(shí)點(diǎn)為目的,同時(shí)通過自主做題掌握重點(diǎn)、難點(diǎn),學(xué)習(xí)編程技巧。作業(yè)題是編程題,側(cè)重于應(yīng)用,也是書后習(xí)題的有益補(bǔ)充。
4) 討論、答疑
重要章節(jié)設(shè)計(jì)有課堂討論題,是對(duì)所學(xué)知識(shí)的擴(kuò)充與引導(dǎo)。積極參與課堂討論,有助于語法的深入理解及學(xué)以致用。對(duì)于學(xué)習(xí)過程中的任何問題,也可以在討論區(qū)中提出,同學(xué)和老師都可以參與解答,在互助的環(huán)境中學(xué)習(xí)。
到2017年6月10日截止,已完成兩輪開課,視頻、單元測(cè)試等各類資源已較成熟。在此,要誠摯地感謝莊朝暉、曾華琳老師的參與,使得內(nèi)容更為豐富完整。
還要特別地感謝黃保和老師,他一直支持MOOC建設(shè),并為《C語言程序設(shè)計(jì)(第4版)》的編寫無私地提供材料與建議。最后還要感謝廈門大學(xué)公共教學(xué)部的各位老師,他們?yōu)榻滩牡母倪M(jìn)一如既往地提供幫助與支持。
《C語言程序設(shè)計(jì)(第4版)》由黃洪藝策劃和統(tǒng)稿。黃洪藝編寫第1、2、3、11章,李慧琪編寫第4、5、10章,張麗麗編寫第6、7、8、9章。
“C語言程序設(shè)計(jì)”課程是廈門大學(xué)重點(diǎn)建設(shè)的慕課課程,本課程可到“中國大學(xué)MOOC”觀看學(xué)習(xí)。每年春、秋兩季開課,開課期間,在“中國大學(xué)MOOC”首頁搜索“C程序設(shè)計(jì)基礎(chǔ)”,即可看到課程并進(jìn)入學(xué)習(xí)。也可通過上頁介紹的課程鏈接進(jìn)入課程。
在使用本書過程中,如有寶貴意見和建議,懇請(qǐng)與黃洪藝聯(lián)系。
編者2017年8月
第1章緒論
1.1程序設(shè)計(jì)語言
1.2程序設(shè)計(jì)
1.2.1程序設(shè)計(jì)概念
1.2.2算法
1.2.3程序設(shè)計(jì)的步驟
1.3C語言發(fā)展和C++簡(jiǎn)介
1.3.1C語言發(fā)展簡(jiǎn)述
1.3.2C++簡(jiǎn)介
1.3.3集成開發(fā)環(huán)境
1.4C語言程序的構(gòu)成
1.5Visual C++簡(jiǎn)介
1.5.1運(yùn)行簡(jiǎn)單C程序
1.5.2程序調(diào)試一般過程和手段
1.5.3Visual C++調(diào)試方法和工具
1.6DevC++ 5.11簡(jiǎn)介
1.6.1C程序的編輯與運(yùn)行
1.6.2DevC++調(diào)試方法和工具
習(xí)題
第2章C語言基礎(chǔ)
2.1C語言詞法
2.1.1基本字符集
2.1.2關(guān)鍵字
2.1.3特定字
2.1.4標(biāo)識(shí)符
2.1.5運(yùn)算符
2.1.6分隔符
2.2C語言的數(shù)據(jù)類型
2.2.1數(shù)據(jù)類型概述
2.2.2基本數(shù)據(jù)類型
2.3常量與變量
2.3.1常量
2.3.2變量
2.3.3常量與變量應(yīng)用舉例
2.4表達(dá)式
2.4.1表達(dá)式概述
2.4.2算術(shù)表達(dá)式
2.4.3類型轉(zhuǎn)換
2.4.4賦值表達(dá)式
2.4.5自增、自減表達(dá)式
2.4.6逗號(hào)表達(dá)式
習(xí)題
第3章結(jié)構(gòu)程序設(shè)計(jì)
3.1結(jié)構(gòu)化程序設(shè)計(jì)方法
3.2語句的概念
3.3輸入輸出函數(shù)
3.3.1格式輸出函數(shù)
3.3.2格式輸入函數(shù)
3.3.3字符輸出函數(shù)
3.3.4字符輸入函數(shù)
3.4順序結(jié)構(gòu)程序設(shè)計(jì)舉例
習(xí)題
第4章選擇結(jié)構(gòu)程序設(shè)計(jì)
4.1關(guān)系表達(dá)式和邏輯表達(dá)式
4.1.1關(guān)系表達(dá)式
4.1.2邏輯表達(dá)式
4.2if語句
4.2.1if語句
4.2.2if…else語句
4.2.3if語句的嵌套
4.2.4if…else if語句
4.2.5條件表達(dá)式
4.3switch語句
習(xí)題
第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
5.1for語句
5.2while語句
5.3do…while語句
5.4循環(huán)的嵌套
5.5break語句和continue語句
5.6goto語句
5.7常用算法舉例
習(xí)題
第6章函數(shù)
6.1函數(shù)定義與調(diào)用
6.1.1函數(shù)定義
6.1.2函數(shù)調(diào)用
6.1.3函數(shù)原型聲明
6.2函數(shù)間數(shù)據(jù)傳遞
6.2.1函數(shù)參數(shù)
6.2.2函數(shù)返回值
6.3函數(shù)的嵌套與遞歸
6.3.1函數(shù)嵌套調(diào)用
6.3.2函數(shù)遞歸調(diào)用
6.4函數(shù)應(yīng)用舉例
6.5變量屬性
6.5.1變量的生存期和可見性
6.5.2變量的作用域
6.5.3變量的存儲(chǔ)類別
習(xí)題
第7章編譯預(yù)處理
7.1宏定義
7.1.1不帶參數(shù)的宏
7.1.2帶參數(shù)的宏
7.1.3取消宏定義
7.2文件包含
7.3條件編譯
7.3.1#if和#endif命令
7.3.2#ifdef和#ifndef命令
7.3.3defined預(yù)處理運(yùn)算符
習(xí)題
第8章數(shù)組
8.1一維數(shù)組
8.1.1一維數(shù)組的定義
8.1.2一維數(shù)組的引用
8.1.3一維數(shù)組的初始化
8.1.4一維數(shù)組應(yīng)用舉例
8.2多維數(shù)組
8.2.1二維數(shù)組的定義和引用
8.2.2二維數(shù)組的初始化
8.2.3二維數(shù)組應(yīng)用舉例
8.3字符串
8.3.1字符型數(shù)組
8.3.2字符串
8.3.3字符串處理函數(shù)
8.3.4字符串應(yīng)用舉例
習(xí)題
第9章結(jié)構(gòu)體、共用體和枚舉類型
9.1結(jié)構(gòu)體
9.1.1結(jié)構(gòu)體類型的定義
9.1.2結(jié)構(gòu)體變量定義和初始化
9.1.3結(jié)構(gòu)體變量的引用
9.1.4結(jié)構(gòu)體數(shù)組
9.2共用體
9.2.1共用體類型的定義
9.2.2共用體變量的定義
9.3枚舉類型
9.3.1枚舉類型的定義
9.3.2枚舉變量的定義
9.4typedef語句
習(xí)題
第10章指針
10.1地址與指針變量
10.1.1內(nèi)存單元地址
10.1.2指針
10.1.3指針變量的定義和初始化
10.1.4指針的運(yùn)算
10.2指針與函數(shù)
10.2.1指針變量作為函數(shù)參數(shù)
10.2.2函數(shù)的返回值為指針
10.2.3指向函數(shù)的指針
10.3指針與數(shù)組
10.3.1一維數(shù)組與指針
10.3.2字符串與指針
10.3.3指針數(shù)組
10.4指針與結(jié)構(gòu)體
10.4.1指向結(jié)構(gòu)體的指針
10.4.2動(dòng)態(tài)存儲(chǔ)分配
10.4.3鏈表
習(xí)題
第11章文件
11.1文件概述
11.2文件的打開和關(guān)閉
11.2.1文件的打開
11.2.2文件的關(guān)閉
11.3文件的讀寫
11.3.1文本文件的讀寫
11.3.2二進(jìn)制文件的讀寫
11.4文件的定位
習(xí)題
附錄AASCII編碼字符集
附錄BC語言運(yùn)算符的優(yōu)先級(jí)和結(jié)合性
參考文獻(xiàn)
第5章
CHAPTER 5
循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
循環(huán)結(jié)構(gòu)是程序中用得最多的一種控制結(jié)構(gòu),大多數(shù)程序都要用到循環(huán),它是解決許多問題的基本方法,特別是涉及一組數(shù)據(jù)處理問題,例如,1~100的所有整數(shù)累加求和,找出10000以內(nèi)的所有素?cái)?shù),輸入并計(jì)算某課程的全班平均成績(jī)等。
循環(huán)結(jié)構(gòu)一般由循環(huán)初始化、循環(huán)條件、循環(huán)體三個(gè)部分組成。其中,循環(huán)初始化提供初始數(shù)據(jù),為循環(huán)條件提供初值; 循環(huán)條件描述了重復(fù)操作需要滿足的條件,條件成立執(zhí)行循環(huán)體,條件不成立則終止循環(huán); 循環(huán)體是要重復(fù)執(zhí)行的語句,它包含了對(duì)循環(huán)條件的控制,為下一次執(zhí)行循環(huán)體準(zhǔn)備數(shù)據(jù)。一般來說,每一次循環(huán)操作都有循環(huán)趨于結(jié)束的語句,否則,將會(huì)出現(xiàn)“死循環(huán)”,即循環(huán)永不終止。
C語言提供了三種循環(huán)語句: for語句、while語句和do…while語句。for語句適合計(jì)數(shù)變量遞增或遞減的循環(huán),while語句在循環(huán)體執(zhí)行之前測(cè)試循環(huán)條件,do…while語句在循環(huán)體執(zhí)行之后測(cè)試循環(huán)條件。此外,break語句、continue語句和goto語句可以改變循環(huán)的執(zhí)行流程。熟練掌握循環(huán)語句的概念和運(yùn)用是程序設(shè)計(jì)的基本要求。
5.1for語句
for循環(huán)稱為計(jì)數(shù)型循環(huán),特別適合描述循環(huán)次數(shù)已知的循環(huán)。
圖5.1.1for循環(huán)流程圖
for語句的語法格式如下:
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
循環(huán)體
for循環(huán)執(zhí)行過程如圖5.1.1所示,執(zhí)行流程描述如下:
(1) 計(jì)算表達(dá)式1;
(2) 計(jì)算表達(dá)式2,若其值非0,則執(zhí)行循環(huán)體語句,然后執(zhí)行步驟(3); 若其值為0,則退出循環(huán),轉(zhuǎn)向步驟(5);
(3) 計(jì)算表達(dá)式3;
(4) 轉(zhuǎn)向步驟(2)繼續(xù)執(zhí)行;
(5) 執(zhí)行for循環(huán)的后續(xù)語句。
說明:
(1) 通常根據(jù)某個(gè)變量的值判斷是否繼續(xù)循環(huán),該變量稱為循環(huán)控制變量,簡(jiǎn)稱循環(huán)變量。
(2) 表達(dá)式1通常用于給循環(huán)控制變量賦初值,在循環(huán)結(jié)構(gòu)中僅被執(zhí)行一次。
(3) 表達(dá)式2是循環(huán)是否繼續(xù)的條件,通常為關(guān)系表達(dá)式或邏輯表達(dá)式,也可以是算術(shù)表達(dá)式,當(dāng)表達(dá)式2的值非0時(shí)執(zhí)行循環(huán)體,否則結(jié)束循環(huán)。
(4) 表達(dá)式3通常用于更新循環(huán)控制變量的值,使循環(huán)條件發(fā)生變化。
(5) 循環(huán)體是循環(huán)結(jié)構(gòu)的主體,表達(dá)要重復(fù)執(zhí)行的操作,如果循環(huán)體多于一個(gè)語句,必須用花括號(hào){}把它們括起來,形成復(fù)合語句。循環(huán)體也稱為for語句的內(nèi)嵌語句。
(6) 表達(dá)式1、表達(dá)式2、表達(dá)式3都可以省略,但是for中兩個(gè)分號(hào)不能省略。如果省略表達(dá)式2,則默認(rèn)表達(dá)式2為真值,必須在循環(huán)體中設(shè)計(jì)其他停止循環(huán)的語句。
for語句的最簡(jiǎn)單應(yīng)用也是最容易理解的形式是使用循環(huán)變量,用循環(huán)變量的初值、終值、循環(huán)變量的增量來決定循環(huán)的執(zhí)行。
【例5.1.1】繪制5條直線,每條直線由4個(gè)“-”符號(hào)組成。
分析: 本例需重復(fù)輸出5條直線,因此,循環(huán)體為輸出一條直線的語句,循環(huán)體共執(zhí)行了5次。
……
你還可能感興趣
我要評(píng)論
|