本書(shū)以培養(yǎng)計(jì)算機(jī)專(zhuān)業(yè)學(xué)生的系統(tǒng)化編程思維與工程實(shí)踐能力為核心目標(biāo),結(jié)合C語(yǔ)言的基礎(chǔ)性與前沿應(yīng)用場(chǎng)景,系統(tǒng)構(gòu)建從語(yǔ)法基礎(chǔ)到復(fù)雜項(xiàng)目開(kāi)發(fā)的完整知識(shí)體系。在夯實(shí)傳統(tǒng)C語(yǔ)言編程技能的基礎(chǔ)上,本書(shū)創(chuàng)新性引入人工智能工具鏈與跨領(lǐng)域案例,幫助讀者理解C語(yǔ)言在新時(shí)代技術(shù)生態(tài)中的獨(dú)特價(jià)值,具備以工程思維解決實(shí)際問(wèn)題的能力,為后續(xù)專(zhuān)業(yè)學(xué)習(xí)與職業(yè)發(fā)展奠定堅(jiān)實(shí)基礎(chǔ)。
本書(shū)共12章,內(nèi)容循序漸進(jìn)、層次分明。按基礎(chǔ)語(yǔ)法、控制結(jié)構(gòu)、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、文件操作、現(xiàn)代工具和AI應(yīng)用的邏輯順序展開(kāi),并提供了涵蓋大部分知識(shí)點(diǎn)的微課視頻。本書(shū)內(nèi)容全面、條理清晰、實(shí)例豐富、實(shí)用性強(qiáng),主要供高等院校計(jì)算機(jī)和相關(guān)專(zhuān)業(yè)的學(xué)生使用。
本書(shū)采用項(xiàng)目案例驅(qū)動(dòng)模式,配有源代碼、微課視頻、教學(xué)課件、教學(xué)大綱等資源,內(nèi)容豐富實(shí)用。通過(guò)問(wèn)題導(dǎo)向的教學(xué)方式,夯實(shí)學(xué)生的基礎(chǔ)知識(shí),并配有大量編程實(shí)例和綜合設(shè)計(jì)案例,將所有知識(shí)點(diǎn)融入實(shí)踐之中。語(yǔ)言簡(jiǎn)明易懂,程序?qū)嵗δ芡陚,處理過(guò)程嚴(yán)謹(jǐn),應(yīng)用價(jià)值高,非常適合作為計(jì)算機(jī)及相關(guān)專(zhuān)業(yè)、各類(lèi)工科專(zhuān)業(yè)的教材,也可作為C語(yǔ)言程序設(shè)計(jì)愛(ài)好者的自學(xué)用書(shū)。
前言
在數(shù)字化時(shí)代背景下,編程技能已成為開(kāi)啟科技創(chuàng)新之門(mén)的關(guān)鍵。 C語(yǔ)言作為一門(mén)歷史悠久且具有深遠(yuǎn)影響力的編程語(yǔ)言,在計(jì)算機(jī)科學(xué) 領(lǐng)域中占據(jù)著舉足輕重的地位。
C語(yǔ)言的應(yīng)用范圍極為廣泛,其在操作系統(tǒng)(如 Windows、Linux)及 各類(lèi)嵌入式系統(tǒng)(如智能手機(jī)、智能家居設(shè)備)中扮演著不可或缺的角色。 在游戲開(kāi)發(fā)領(lǐng)域,C語(yǔ)言同樣發(fā)揮著關(guān)鍵作用,它能夠?qū)崿F(xiàn)高效的圖形渲 染和游戲邏輯處理。此外,在科學(xué)計(jì)算、金融領(lǐng)域等,C語(yǔ)言也有廣泛的 應(yīng)用,為復(fù)雜的數(shù)值計(jì)算和數(shù)據(jù)處理提供了強(qiáng)大的支持。
本書(shū)旨在為讀者全面系統(tǒng)地介紹C語(yǔ)言程序設(shè)計(jì),主要內(nèi)容涵蓋以 下幾個(gè)方面。 第1章概述了計(jì)算機(jī)語(yǔ)言的演進(jìn)以及C 語(yǔ)言的發(fā)展歷程,闡述了C語(yǔ)言的特點(diǎn),并使讀者初步了解C語(yǔ)言的編程環(huán)境及其相關(guān)流程。 第2、3章從基礎(chǔ)語(yǔ)法入手,詳細(xì)講解C語(yǔ)言的基本數(shù)據(jù)類(lèi)型、常量和 變量的定義及使用、運(yùn)算符的運(yùn)用、數(shù)據(jù)的輸入/輸出等。讓讀者對(duì)C語(yǔ) 言的基本構(gòu)成要素有清晰的認(rèn)識(shí),為后續(xù)的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。
第4、5章深入闡述控制結(jié)構(gòu),包括選擇結(jié)構(gòu)(如if語(yǔ)句、switch 語(yǔ)句 等)和循環(huán)結(jié)構(gòu)(如while語(yǔ) 句、do...while語(yǔ) 句、for語(yǔ) 句 等)。通 過(guò) 大 量 實(shí)例,幫助讀者掌握如何運(yùn)用這些控制結(jié)構(gòu)來(lái)實(shí)現(xiàn)程序的邏輯流程控制。 第6、8、9章涉及數(shù)組、指針、結(jié)構(gòu)體等重要的數(shù)據(jù)結(jié)構(gòu),幫助讀者處 理大規(guī)模數(shù)據(jù)和復(fù)雜的數(shù)據(jù)關(guān)系,實(shí)現(xiàn)更強(qiáng)大的程序功能。 第7章介紹了函數(shù)的定義、調(diào)用和參數(shù)傳遞等知識(shí),讓讀者學(xué)會(huì)將復(fù)雜的問(wèn)題分解為一個(gè)個(gè)獨(dú)立的函數(shù)模塊,提高程序的可讀性、可維護(hù)性和可擴(kuò)展性。
第10章對(duì)文件操作有專(zhuān)門(mén)的講解,包括文件的打開(kāi)、關(guān)閉、讀/寫(xiě)等 操作,能夠?qū)崿F(xiàn)數(shù)據(jù)的持久化存儲(chǔ)與讀取。
第11章介紹了使用現(xiàn)在比較火爆的DeepSeek和Trae等工具賦能 C語(yǔ)言的方法。
第12章論述了人工智能的基礎(chǔ)知識(shí),并通過(guò)案例說(shuō)明了C語(yǔ)言在人 工智能領(lǐng)域中的應(yīng)用。
C語(yǔ)言程序設(shè)計(jì)(微課版)
在學(xué)習(xí)編程的過(guò)程中,讀者可以采用以下方法來(lái)更好地掌握C語(yǔ)言。
(1)多實(shí)踐。編程是一門(mén)實(shí)踐性很強(qiáng)的學(xué)科,只有通過(guò)不斷地編寫(xiě)代碼,才能真正理 解和掌握C語(yǔ)言的各種概念和技巧。每學(xué)習(xí)一個(gè)新的知識(shí)點(diǎn),都要嘗試自己動(dòng)手編寫(xiě)一 些小程序來(lái)鞏固所學(xué)內(nèi)容。 (2)勤思考。在編程過(guò)程中,遇到問(wèn)題不要急于尋求答案,要先自己思考,分析問(wèn)題產(chǎn)生的原因和可能的解決方法,這樣可以培養(yǎng)自己的獨(dú)立思考能力和解決問(wèn)題的能力。
(3)善總結(jié)。學(xué)習(xí)過(guò)程中,要定期總結(jié)所學(xué)的知識(shí),將零散的知識(shí)點(diǎn)整理成體系,加 深對(duì)C語(yǔ)言的整體理解。同時(shí),總結(jié)自己在編程中遇到的問(wèn)題和解決方法,以便在今后 遇到類(lèi)似問(wèn)題時(shí)能夠快速解決。
(4)多交流。加入編程社區(qū)或者與同學(xué)、老師交流,分享自己的學(xué)習(xí)經(jīng)驗(yàn)和心得,同 時(shí)也可以從他人那里學(xué)到新的知識(shí)和技巧。
(5)善于使用AI工具。在編程學(xué)習(xí)過(guò)程中,善于利用AI工具可以極大地提升學(xué)習(xí) 效率和質(zhì)量。AI工具如智能代碼補(bǔ)全、語(yǔ)法檢查、代碼優(yōu)化建議等,可以幫助我們快速定 位和解決編程中的常見(jiàn)問(wèn)題。同時(shí),一些AI驅(qū)動(dòng)的在線編程教育平臺(tái)還提供了個(gè)性化 的學(xué)習(xí)路徑和資源推薦。
在編寫(xiě)本書(shū)的過(guò)程中,注重理論與實(shí)踐相結(jié)合,書(shū)中的每個(gè)知識(shí)點(diǎn)均配有精心設(shè)計(jì)的 示例代碼,以輔助讀者更好地掌握編程技巧。同時(shí),書(shū)中還設(shè)置了大量練習(xí)題和實(shí)踐項(xiàng) 目,旨在通過(guò)實(shí)際操作鞏固所學(xué)知識(shí),提升解決問(wèn)題的能力。此外,本書(shū)還注重培養(yǎng)讀者 的編程思維和創(chuàng)新能力。通過(guò)對(duì)經(jīng)典案例的深入分析和拓展,旨在激發(fā)讀者的創(chuàng)造力,使 其能夠獨(dú)立思考并設(shè)計(jì)出高效、優(yōu)雅的程序。 本書(shū)各章節(jié)編寫(xiě)分工如下:煙臺(tái)南山學(xué)院金燕老師負(fù)責(zé)第1、2章的編寫(xiě),呂莉平老師負(fù)責(zé)第3、4章的編寫(xiě),柳丹陽(yáng)老師負(fù)責(zé)第5、6章的編寫(xiě),鄭美珠老師負(fù)責(zé)第7、8章的編寫(xiě),楊洪軍老師負(fù)責(zé)第9、10章的編寫(xiě),本書(shū)的編者共同負(fù)責(zé)第11、12章的編寫(xiě)。曲阜師范大學(xué)李桂青老師負(fù)責(zé)各章課后習(xí)題的編寫(xiě)。煙臺(tái)南山學(xué)院肖川教授負(fù)責(zé)全書(shū)的統(tǒng)稿工作,并主審了全書(shū)。南山控股李石師等其他老師也為本書(shū)的編寫(xiě)付出了辛勤的勞動(dòng),在此一并表示衷心的感謝。
為便于教學(xué),本書(shū)提供了豐富的配套資源,包括教學(xué)大綱、教學(xué)課件、電子教案、程序 源代碼、習(xí)題答案和知識(shí)點(diǎn)的微課視頻。鑒于作者水平有限,書(shū)中難免存在不足之處,敬 請(qǐng)讀者及各位指教。
編 者
2025年1月
Ⅱ
肖川 教授 校教學(xué)名師
現(xiàn)任煙臺(tái)南山學(xué)院科技與數(shù)據(jù)學(xué)院副院長(zhǎng)。山東省大數(shù)據(jù)研究會(huì)委員、主持的《計(jì)算機(jī)網(wǎng)絡(luò)》《局域網(wǎng)技術(shù)與組網(wǎng)工程》課程獲評(píng)山東省混合式一流本科課程。優(yōu)質(zhì)主編《局域網(wǎng)組網(wǎng)技術(shù)》獲評(píng)山東省一流本科教材。主持山東省教改項(xiàng)目“新工科”背景下計(jì)算機(jī)專(zhuān)業(yè)課程思政教學(xué)模式的研究與實(shí)踐;省成人數(shù)字化課程、省精品資源共享課計(jì)算機(jī)網(wǎng)絡(luò)負(fù)責(zé)人。發(fā)表SCI、EI等核心論文10篇,獲得發(fā)明專(zhuān)利、實(shí)用新型專(zhuān)利、軟件著作權(quán)8項(xiàng),出版著作、譯注、教材10本;主持參與協(xié)同育人項(xiàng)目4項(xiàng),完成省教育廳十三五規(guī)劃項(xiàng)目2項(xiàng),省軟科學(xué)項(xiàng)目2項(xiàng),指導(dǎo)學(xué)生獲得山東省互聯(lián)網(wǎng)+、創(chuàng)新創(chuàng)業(yè)項(xiàng)目、服務(wù)外包項(xiàng)目、計(jì)算機(jī)系統(tǒng)能力大賽等20余項(xiàng)。
目 錄
第1章 初識(shí)C語(yǔ)言———編程探索之旅的嶄新起點(diǎn)…………………… 1
1.1 計(jì)算機(jī)語(yǔ)言 …………………………………………………… 1
1.2 C 語(yǔ)言發(fā)展歷史 ……………………………………………… 4
1.3 C 語(yǔ)言的特點(diǎn) ………………………………………………… 5
1.4 優(yōu)質(zhì)個(gè) C 語(yǔ)言程序 …………………………………………… 6
1.5 C 語(yǔ)言程序開(kāi)發(fā)步驟 ………………………………………… 12
1.6 C 語(yǔ)言程序的算法 …………………………………………… 14
1.6.1 算法的含義 ………………………………………… 14
1.6.2 算法的特點(diǎn) ………………………………………… 16
1.6.3 算法的描述 ………………………………………… 16
職業(yè)素養(yǎng)小故事 …………………………………………………… 20
第2章 數(shù)據(jù)類(lèi)型和運(yùn)算符———C語(yǔ)言編程的基石與工具 ………… 22
2.1 標(biāo)識(shí)符 ………………………………………………………… 22
2.1.1 C 語(yǔ)言的字符集 …………………………………… 22
2.1.2 關(guān)鍵字 ……………………………………………… 23
2.1.3 標(biāo)識(shí)符 ……………………………………………… 24
2.2 數(shù)據(jù)類(lèi)型 ……………………………………………………… 25
2.3 常量和變量 …………………………………………………… 26
2.3.1 常量 ………………………………………………… 26
2.3.2 變量 ………………………………………………… 28
2.3.3 整型變量 …………………………………………… 29
2.3.4 實(shí)型變量 …………………………………………… 31
2.3.5 字符型變量 ………………………………………… 32
2.3.6 變量初始化 ………………………………………… 34
2.3.7 各類(lèi)數(shù)值型數(shù)據(jù)之間的混合運(yùn)算 ………………… 35
2.4 運(yùn)算符和表達(dá)式 ……………………………………………… 36
2.4.1 C 語(yǔ)言運(yùn)算符簡(jiǎn)介 ………………………………… 36
C語(yǔ)言程序設(shè)計(jì)(微課版)
2.4.2 算術(shù)運(yùn)算符 …………………………………………………………… 36
2.4.3 賦值運(yùn)算符和賦值表達(dá)式 …………………………………………… 38
2.4.4 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式 …………………………………………… 40
2.5 宏定義…………………………………………………………………………… 40
2.5.1 不帶參數(shù)的宏定義 …………………………………………………… 41
2.5.2 帶參數(shù)的宏定義 ……………………………………………………… 41
2.6 常見(jiàn)錯(cuò)誤………………………………………………………………………… 42
職業(yè)素養(yǎng)小故事 ……………………………………………………………………… 44
第3章 數(shù)據(jù)的輸入/輸出———C語(yǔ)言程序的交互橋梁 ……………………………… 45
3.1 C 語(yǔ)言語(yǔ)句的分類(lèi)……………………………………………………………… 45
3.2 程序的三種基本結(jié)構(gòu)…………………………………………………………… 47
3.3 數(shù)據(jù)輸入/輸出的概念 ………………………………………………………… 48
3.4 字符輸入/輸出函數(shù) …………………………………………………………… 49
3.4.1 字符輸出函數(shù)putchar()函數(shù) ……………………………………… 49
3.4.2 字符輸入函數(shù)getchar()函數(shù)………………………………………… 50
3.5 格式輸入/輸出函數(shù) …………………………………………………………… 51
3.5.1 格式輸出函數(shù)printf() ……………………………………………… 51
3.5.2 格式輸入函數(shù)scanf()………………………………………………… 55
3.6 程序舉例………………………………………………………………………… 58
3.7 常見(jiàn)錯(cuò)誤………………………………………………………………………… 59
職業(yè)素養(yǎng)小故事 ……………………………………………………………………… 61
第4章 選擇結(jié)構(gòu)———C語(yǔ)言程序的決策核心……………………………………………… 62
4.1 關(guān)系運(yùn)算………………………………………………………………………… 62
4.1.1 關(guān)系運(yùn)算符及優(yōu)先級(jí) ………………………………………………… 62
4.1.2 關(guān)系表達(dá)式