本書案例豐富、啟發(fā)性強,以實踐應(yīng)用為主,以程序設(shè)計思想與方法的傳授為中心,系統(tǒng)、全面地介紹C語言各種語法成分的語義和用法。全書共10章,主要包括程序設(shè)計概述、數(shù)據(jù)類型、運算符與表達(dá)式、程序的控制結(jié)構(gòu)、函數(shù)、數(shù)組、指針、結(jié)構(gòu)體與共用體、文件操作等內(nèi)容。
本書通過漸進式案例和拓展思考案例提高讀者的程序設(shè)計能力,同時結(jié)合豐富的程序設(shè)計人物故事、現(xiàn)代計算機技術(shù)、思想政治教育,從而達(dá)到知識、能力、素質(zhì)共同提升的目的。本書程序調(diào)試和運行環(huán)境為DevC 5.11。
本書可作為高等院校計算機類相關(guān)專業(yè)的C語言程序設(shè)計課程的教材,也可作為各類計算機基礎(chǔ)程序設(shè)計的培訓(xùn)教材,并可作為相關(guān)行業(yè)技術(shù)人員的參考用書。
黨的二十大報告指出: 教育、科技、人才是全面建設(shè)社會主義現(xiàn)代化國家的基礎(chǔ)性、戰(zhàn)略性支撐。必須堅持科技是第一生產(chǎn)力、人才是第一資源、創(chuàng)新是第一動力,深入實施科教興國戰(zhàn)略、人才強國戰(zhàn)略、創(chuàng)新驅(qū)動發(fā)展戰(zhàn)略,這三大戰(zhàn)略共同服務(wù)于創(chuàng)新型國家的建設(shè)。高等教育與經(jīng)濟社會發(fā)展緊密相連,對促進就業(yè)創(chuàng)業(yè)、助力經(jīng)濟社會發(fā)展、增進人民福祉具有重要意義。
在學(xué)習(xí)程序設(shè)計之前,必然要掌握一門計算機語言。C語言是當(dāng)今最有生命力的高級程序設(shè)計語言之一,它簡潔、表達(dá)能力強、可移植性好且用途廣泛。通常將C語言作為大學(xué)的第一門計算機語言進行學(xué)習(xí),這樣不僅能系統(tǒng)地學(xué)習(xí)程序設(shè)計的基本思想和方法,而且對今后的工作也會有很大幫助。選擇C語言的主要原因如下。
(1) 學(xué)習(xí)C語言程序設(shè)計是培養(yǎng)學(xué)生創(chuàng)新精神和實踐能力的重要途徑之一,符合國家對于STEM(科學(xué)、技術(shù)、工程和數(shù)學(xué))教育的倡導(dǎo),以及《習(xí)近平新時代中國特色社會主義思想教育實施綱要》中對于培養(yǎng)創(chuàng)新型人才的要求。
(2) 學(xué)習(xí)C語言程序設(shè)計是適應(yīng)社會發(fā)展需求、提升就業(yè)競爭力的必要技能之一,符合國家對高素質(zhì)人才培養(yǎng)的要求,也與《中長期教育改革和發(fā)展規(guī)劃綱要(20102020年)》中提出的以就業(yè)為導(dǎo)向理念相契合。
(3) 學(xué)習(xí)C語言程序設(shè)計是推進基礎(chǔ)教育與高等教育銜接,促進教育質(zhì)量提升的重要舉措之一,有助于培養(yǎng)學(xué)生的邏輯思維能力和問題解決能力,為高等教育階段的深造和研究打下堅實的基礎(chǔ)。
本書適合程序設(shè)計的初學(xué)者和想更深入了解C語言的讀者。本書將挖掘程序設(shè)計中最基本的思想和方法,以C語言為工具進行描述,卻不拘泥于C語言。培養(yǎng)讀者具有靈活應(yīng)用這些思想和方法的能力,同時,兼顧學(xué)習(xí)的實用性、價值性和趣味性。具體來說,本書特色如下。
(1) 注重由淺入深地進行程序設(shè)計思想、方法和技巧的傳授。例如,大部分例題都設(shè)計了問題分析,引導(dǎo)讀者養(yǎng)成分析的好習(xí)慣,利于提高讀者程序設(shè)計能力; 設(shè)計漸進式案例(如章間的知識傳遞與擴展、章內(nèi)的題目拓展等),以代碼分析形式強調(diào)代碼技巧,使讀者在掌握基本語法的基礎(chǔ)上解決復(fù)雜問題。
(2) 注重拓展讀者思維和培養(yǎng)解決問題的能力。每個例題都會給出拓展思考部分,讀者可以結(jié)合所講例題思考后寫出解決問題的代碼,既增加了學(xué)習(xí)的信心,又提高了程序設(shè)計能力。
(3) 將程序設(shè)計技術(shù)與思想政治教育結(jié)合,旨在培養(yǎng)讀者綜合素質(zhì),使讀者樹立正確價值觀。通過深入淺出的案例分析和理論講解,引導(dǎo)讀者積極探索計算機科學(xué)與社會主義核心價值觀的相互融合,促進讀者全面發(fā)展和正確價值觀的塑造。
(4) 融入數(shù)字化資源。例如,每章提供帶有思維導(dǎo)圖的小結(jié),幫助讀者快速梳理總結(jié)每章的知識; 有難度的題目提供講解視頻,方便讀者利用碎片時間學(xué)習(xí)與提高,滿足個性化學(xué)習(xí)的需求。
(5) 編寫時注重可讀性與可用性、增加趣味性。各章關(guān)鍵語法處設(shè)置Tips,指導(dǎo)讀者閱讀,使讀者很快抓住重點。各章結(jié)尾加入閱讀故事或程序設(shè)計的關(guān)鍵技術(shù)發(fā)展,使讀者了解程序設(shè)計的發(fā)展且感受偉人的魅力,從而拓寬視野并提高學(xué)習(xí)興趣。
為便于教學(xué),本書提供豐富的配套資源,包括教學(xué)課件、電子教案、教學(xué)大綱、程序源碼、習(xí)題答案、拓展閱讀、在線作業(yè)和微課視頻。
資源下載提示
數(shù)據(jù)文件: 掃描目錄上方的二維碼下載。
在線作業(yè): 掃描封底的作業(yè)系統(tǒng)二維碼,登錄網(wǎng)站在線做題及查看答案。
微課視頻: 掃描封底的文泉云盤防盜碼,再掃描書中相應(yīng)章節(jié)的視頻講解二維碼,可以在線學(xué)習(xí)。
全書統(tǒng)稿工作由唐文靜負(fù)責(zé),第1~6章及附錄由唐文靜編寫,第7、8章由梁胤程編寫,第9、10章由朱強編寫。全書的例題講解視頻由魯東大學(xué)信息與電氣工程學(xué)院的郭豐凱、王旭棟、王思慧、劉翔同學(xué)完成,在此表示感謝。感謝我的家人、張玉玲副院長和相關(guān)同事,在他們的支持鼓勵下才能順利完成本書的撰寫工作。在本書的編寫過程中,參閱了諸多同行的著作,在此不再一一列舉,一并向他們致以謝意。
由于時間倉促,加之作者水平有限,錯誤之處在所難免,懇請讀者批評指正。
作者
2025年1月
第1章概述
1.1程序與程序設(shè)計語言
1.1.1程序與程序設(shè)計
1.1.2計算機程序設(shè)計語言
1.2程序設(shè)計基礎(chǔ)知識
1.2.1算法
1.2.2數(shù)據(jù)結(jié)構(gòu)
1.3C語言簡介
1.3.1C語言的發(fā)展及特點
1.3.2C語言程序的基本結(jié)構(gòu)
1.4C語言程序的生成過程及開發(fā)環(huán)境
1.4.1C語言程序生成過程
1.4.2C語言程序開發(fā)環(huán)境Microsoft Visual C 6.0
1.4.3C語言程序開發(fā)環(huán)境DevC
1.5本章小結(jié)
1.6拓展習(xí)題
1.7拓展閱讀
第2章基本數(shù)據(jù)類型和運算符
2.1基本數(shù)據(jù)類型
2.1.1整型
2.1.2字符型
2.1.3實型
2.2常量和變量
2.2.1常量
2.2.2變量
2.3輸入和輸出函數(shù)
2.3.1格式化輸入輸出函數(shù)
2.3.2字符輸入輸出函數(shù)
2.4C的運算符和表達(dá)式
2.4.1算術(shù)運算符和算術(shù)表達(dá)式
2.4.2賦值運算符和賦值表達(dá)式
2.4.3關(guān)系運算符和關(guān)系表達(dá)式
2.4.4邏輯運算符和邏輯表達(dá)式
2.4.5其他運算符
2.5數(shù)據(jù)類型轉(zhuǎn)換
2.6本章小結(jié)
2.7拓展習(xí)題
2.8拓展閱讀
第3章選擇結(jié)構(gòu)
3.1語句
3.2if語句
3.2.1單分支if語句
3.2.2雙分支if…else語句
3.2.3多分支else…if語句
3.2.4if嵌套
3.3switch語句
3.4本章小結(jié)
3.5拓展習(xí)題
3.6拓展閱讀
第4章循環(huán)結(jié)構(gòu)
4.1while循環(huán)
4.2dowhile循環(huán)
4.3for循環(huán)
4.4循環(huán)控制與嵌套
4.4.1break語句
4.4.2continue語句
4.4.3循環(huán)的嵌套
4.5循環(huán)應(yīng)用
4.6本章小結(jié)
4.7拓展習(xí)題
4.8拓展閱讀
第5章函數(shù)
5.1概述
5.1.1模塊化程序設(shè)計
5.1.2函數(shù)分類
5.2函數(shù)的定義與調(diào)用
5.2.1函數(shù)的定義
5.2.2函數(shù)的調(diào)用與聲明
5.2.3函數(shù)的嵌套調(diào)用
5.2.4函數(shù)的遞歸調(diào)用
5.3變量的存儲類別
5.4本章小結(jié)
5.5拓展習(xí)題
5.6拓展閱讀
第6章數(shù)組
6.1一維數(shù)組
6.1.1一維數(shù)組定義與初始化
6.1.2一維數(shù)組元素的引用
6.1.3一維數(shù)組應(yīng)用
6.1.4一維數(shù)組作函數(shù)參數(shù)
6.2二維數(shù)組
6.2.1二維數(shù)組定義與初始化
6.2.2二維數(shù)組元素的引用
6.2.3二維數(shù)組應(yīng)用
6.3字符數(shù)組和字符串
6.3.1字符數(shù)組的定義和初始化
6.3.2字符數(shù)組的輸入輸出
6.3.3常用的字符串函數(shù)
6.4本章小結(jié)
6.5拓展習(xí)題
6.6拓展閱讀
第7章指針
7.1指針的概念
7.2指針變量的定義與引用
7.3指針與數(shù)組
7.3.1數(shù)組指針
7.3.2指針數(shù)組
7.4指針與函數(shù)
7.4.1指向函數(shù)的指針
7.4.2返回指針值的函數(shù)
7.5本章小結(jié)
7.6拓展習(xí)題
7.7拓展閱讀
第8章結(jié)構(gòu)體與共用體
8.1結(jié)構(gòu)體
8.1.1結(jié)構(gòu)體類型與結(jié)構(gòu)體變量定義
8.1.2結(jié)構(gòu)體變量的引用與初始化
8.1.3結(jié)構(gòu)體數(shù)組
8.1.4結(jié)構(gòu)體指針
8.2線性鏈表
8.2.1動態(tài)內(nèi)存分配
8.2.2鏈表的概念
8.2.3鏈表的操作
8.3共用體
8.3.1共用體類型定義
8.3.2共用體變量定義與引用
8.3.3共用體變量賦值
8.4枚舉類型
8.4.1枚舉類型定義
8.4.2枚舉變量定義與引用
8.5自定義類型
8.6本章小結(jié)
8.7拓展習(xí)題
8.8拓展閱讀
第9章編譯預(yù)處理
9.1宏定義
9.2文件包含
9.3條件編譯
9.4本章小結(jié)
9.5拓展習(xí)題
9.6拓展閱讀
第10章文件
10.1文件的概念
10.2文件類型指針
10.3文件操作
10.3.1文件打開與關(guān)閉
10.3.2文件的讀寫
10.3.3文件定位
10.4本章小結(jié)
10.5拓展習(xí)題
10.6拓展閱讀
附錄A常見字符的ASCII值
附錄B運算符及優(yōu)先級一覽表
附錄C全國計算機等級考試二級C語言程序設(shè)計
考試大綱
附錄D相關(guān)程序設(shè)計競賽
參考文獻(xiàn)