人類學(xué)語言時(shí),學(xué)會(huì)了聽說讀寫; 學(xué)數(shù)學(xué)時(shí),學(xué)會(huì)了運(yùn)算推理; 學(xué)物理時(shí),學(xué)會(huì)了觀察實(shí)證,從而可以理解現(xiàn)實(shí)生活周圍的各種現(xiàn)象,以便針對問題提出有效的解決方案。出于同樣的理由,我們應(yīng)該學(xué)習(xí)編程,這樣能更好地理解
數(shù)字化世界。如果想要深刻地理解這個(gè)時(shí)代,就要懂得計(jì)算機(jī)編程,編程完成了基于計(jì)算機(jī)的計(jì)算實(shí)現(xiàn),改變著我們的思維方式。編程不只是一門技術(shù),它教會(huì)人們?nèi)绾嗡伎。在編程的世界里?br />程序設(shè)計(jì)
語言就像超市的商品、琳瑯滿目。但是,我們一如既往還說C語言,因?yàn)镃語言是一門古老而常青的編程語言,它具備了現(xiàn)代程序設(shè)計(jì)的基礎(chǔ)要求,它的語法是很多其他編程語言的基礎(chǔ),它在系統(tǒng)程序、嵌入式系統(tǒng)等領(lǐng)域依然是無可替代的,
常年位于
編程語言排行榜前列。
C語言是一門優(yōu)秀的教學(xué)語言,其優(yōu)美的結(jié)構(gòu)、完善的語法,是面向過程的結(jié)構(gòu)化編程語言最好的詮釋。C語言程序設(shè)計(jì)課程是高等院校的必修課程之一,它既是各類專業(yè)技術(shù)的應(yīng)用基礎(chǔ),又是各種實(shí)踐環(huán)節(jié)的軟件工具,更是課程設(shè)計(jì)、學(xué)科競賽、畢業(yè)設(shè)計(jì)、創(chuàng)新創(chuàng)業(yè)等活動(dòng)的重要平臺(tái)。通過學(xué)習(xí)C語言,學(xué)生能夠深入理解計(jì)算機(jī)的工作原理和程序執(zhí)行過程,為后續(xù)學(xué)習(xí)其他編程語言和計(jì)算機(jī)科學(xué)相關(guān)課程打下堅(jiān)實(shí)的基礎(chǔ)。不僅可以培養(yǎng)學(xué)生的邏輯思維和抽象思維能力,而且可以提高學(xué)生解決復(fù)雜問題的能力。編程能力不僅是學(xué)習(xí)者進(jìn)一步專業(yè)深造的潛力體現(xiàn),也是創(chuàng)新人才的重要指標(biāo)。
本書是編者在一線教學(xué)實(shí)踐的基礎(chǔ)上,為適應(yīng)當(dāng)前本科教育教學(xué)改革創(chuàng)新的要求,更好地踐行語言類課程注重實(shí)踐教學(xué)與創(chuàng)新能力培養(yǎng)的需要,組織新編的教程。本書以O(shè)BE(Out come Based Education,成果導(dǎo)向教育)理念為指導(dǎo),以知識(shí)點(diǎn)案例、二級習(xí)題為驅(qū)動(dòng),更加注重培養(yǎng)學(xué)生的實(shí)踐能力,提高學(xué)生的學(xué)習(xí)成果產(chǎn)出,持續(xù)鞏固學(xué)習(xí)成果。本書具有以下特點(diǎn):
(1) 案例貫穿全書,貼近實(shí)際應(yīng)用。全書按照案例貫穿的形式組織內(nèi)容,將實(shí)例融入知識(shí)講解中,使知識(shí)與案例相輔相成,既有利于讀者學(xué)習(xí)知識(shí),又有利于指導(dǎo)讀者實(shí)踐。最后用一個(gè)綜合案例貫穿每章的重點(diǎn)難點(diǎn),方便讀者及時(shí)驗(yàn)證自己的學(xué)習(xí)效果。
(2) 融合二級題庫,增強(qiáng)實(shí)用性與針對性。為了提高學(xué)生的二級考試備考效率和實(shí)際編程能力,我們將二級題庫的典型題型融入教學(xué)內(nèi)容,使本書既是C語言知識(shí)的參考書,也是實(shí)用的備考資源。精選的練習(xí)題和案例分析旨在幫助學(xué)生熟悉考試模式,強(qiáng)化應(yīng)試技巧,并加深對C語言實(shí)際應(yīng)用的理解。
(3) 配套服務(wù)完善,教輔資源豐富。主要章節(jié)均放置了二維碼,掃描二維碼即可在手機(jī)
或計(jì)算機(jī)上觀看相應(yīng)章節(jié)的視頻講解。每章內(nèi)容由線上和線下資源共同構(gòu)成,包含學(xué)習(xí)任務(wù)、重難點(diǎn)、預(yù)備知識(shí)、實(shí)用案例、隨堂測驗(yàn)、拓展資料、本章小結(jié)、實(shí)踐練習(xí)等單元。并在學(xué)習(xí)通平臺(tái)提供疑難解答、教學(xué)交流等服務(wù)。
本書由任瑞仙擔(dān)任主編,王曉霞、黃英擔(dān)任副主編。任瑞仙負(fù)責(zé)整體構(gòu)思與統(tǒng)稿,并編寫了第1章、第8章,錄制了主要知識(shí)點(diǎn)的講解視頻,王麗琴負(fù)責(zé)編寫第2章,李軍紅負(fù)責(zé)編寫第3章,王曉霞負(fù)責(zé)編寫第4章,段新娥負(fù)責(zé)編寫第5章,韓俊芳負(fù)責(zé)編寫第6章,郭偉欣負(fù)責(zé)編寫第7章,曾照華負(fù)責(zé)編寫第9章,黃英負(fù)責(zé)編寫第10章,郝?lián)P瑞負(fù)責(zé)編寫第11章,丁楊柳負(fù)責(zé)編寫附錄,畢鵬云負(fù)責(zé)繪制插圖。
張志東、
路文婷、杜鴻毅、魏曉艷、段海英、趙麗婷、牛思瑤、付淵負(fù)責(zé)
運(yùn)行程序并進(jìn)行測試。
田野、王棟、張敬環(huán)、翟世杰、王瑞兵、蘇穎負(fù)責(zé)內(nèi)容審核與校對工作。
由于編者水平有限,書中難免有疏漏和不足之處,敬請各位專家、同行和讀者批評指正,以
便將教材進(jìn)一步完善。
任瑞仙
2025年1月
第1章初識(shí)C語言
1.1簡單的C程序
1.2C程序的基本結(jié)構(gòu)
1.3C程序的開發(fā)環(huán)境
1.3.1Visual C 2022
1.3.2DevC 開發(fā)環(huán)境
1.3.3運(yùn)行C程序的步驟與方法
1.4算法
1.4.1算法的特性
1.4.2算法的描述
本章小結(jié)
習(xí)題1
第2章C語言基礎(chǔ)知識(shí)
2.1基本數(shù)據(jù)類型
2.2常量
2.2.1整型常量
2.2.2實(shí)型常量
2.2.3字符常量
2.2.4字符串常量
2.2.5符號(hào)常量
2.3變量
2.3.1變量的定義
2.3.2變量賦初值
2.3.3常變量
2.4運(yùn)算符與表達(dá)式
2.4.1賦值運(yùn)算符與賦值表達(dá)式
2.4.2算術(shù)運(yùn)算符與算術(shù)表達(dá)式
2.4.3自增/自減運(yùn)算符
2.4.4關(guān)系運(yùn)算符與關(guān)系表達(dá)式
2.4.5邏輯運(yùn)算符與邏輯表達(dá)式
2.4.6位運(yùn)算符與位表達(dá)式
本章小結(jié)
習(xí)題2
第3章順序結(jié)構(gòu)程序設(shè)計(jì)
3.1程序設(shè)計(jì)的三種基本結(jié)構(gòu)
3.1.1程序的基本編寫方法
3.1.2順序結(jié)構(gòu)
3.2C語句的作用和分類
3.2.1C語句的作用
3.2.2C語句的分類
3.3格式輸出和輸入函數(shù)
3.3.1輸入輸出案例
3.3.2格式化輸出函數(shù)printf
3.3.3格式化輸入函數(shù)scanf
3.4字符輸入輸出函數(shù)
3.4.1字符輸出函數(shù)putchar
3.4.2字符輸入函數(shù)getchar
3.5其他常用函數(shù)
3.5.1常用數(shù)學(xué)函數(shù)
3.5.2常用字符函數(shù)
3.5.3其他常用工具函數(shù)
3.6順序結(jié)構(gòu)程序舉例
本章小結(jié)
習(xí)題3
第4章選擇結(jié)構(gòu)程序設(shè)計(jì)
4.1使用if語句實(shí)現(xiàn)選擇結(jié)構(gòu)
4.1.1用if語句實(shí)現(xiàn)單分支結(jié)構(gòu)
4.1.2用if語句實(shí)現(xiàn)雙分支結(jié)構(gòu)
4.1.3用if語句實(shí)現(xiàn)多分支結(jié)構(gòu)
4.1.4if語句的嵌套
4.2選擇結(jié)構(gòu)的其他表示方法
4.2.1switch結(jié)構(gòu)
4.2.2條件運(yùn)算符
4.3選擇結(jié)構(gòu)應(yīng)用舉例
本章小結(jié)
習(xí)題4
第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
5.1while語句
5.2do…while語句
5.3for語句
5.4break和continue語句
5.5循環(huán)的嵌套
5.6循環(huán)結(jié)構(gòu)典型應(yīng)用
本章小結(jié)
習(xí)題5
第6章數(shù)組
6.1一維數(shù)組
6.1.1一維數(shù)組的定義和引用
6.1.2一維數(shù)組的初始化
6.1.3一維數(shù)組的應(yīng)用
6.2二維數(shù)組
6.2.1二維數(shù)組的定義和引用
6.2.2二維數(shù)組的初始化
6.2.3二維數(shù)組的應(yīng)用
6.3字符數(shù)組與字符串
6.3.1字符串與字符串結(jié)束標(biāo)志
6.3.2字符數(shù)組的定義和元素引用
6.3.3字符數(shù)組的初始化
6.3.4字符數(shù)組的輸入輸出
6.3.5字符串處理函數(shù)
6.3.6字符數(shù)組應(yīng)用舉例
本章小結(jié)
習(xí)題6
第7章函數(shù)
7.1函數(shù)概述
7.1.1函數(shù)的引入
7.1.2函數(shù)的定義
7.1.3函數(shù)的調(diào)用
7.1.4函數(shù)的參數(shù)傳遞
7.1.5函數(shù)的返回值
7.2函數(shù)的嵌套調(diào)用和遞歸調(diào)用
7.2.1函數(shù)的嵌套調(diào)用
7.2.2函數(shù)的遞歸調(diào)用
7.3數(shù)組作為函數(shù)參數(shù)
7.3.1數(shù)組元素作為函數(shù)實(shí)參
7.3.2數(shù)組名作為函數(shù)參數(shù)
7.4函數(shù)中的變量
7.4.1局部變量和全局變量
7.4.2變量的生存期
7.4.3存儲(chǔ)類別小結(jié)
本章小結(jié)
習(xí)題7
第8章指針
8.1指針相關(guān)概念
8.1.1地址與指針
8.1.2變量與指針
8.1.3指針變量
8.1.4指針變量作為函數(shù)參數(shù)
8.2指針與數(shù)組
8.2.1通過指針訪問一維數(shù)組
8.2.2通過指針訪問二維數(shù)組
8.2.3通過指針訪問字符串
8.2.4用數(shù)組名作為函數(shù)參數(shù)
8.3指針與函數(shù)
8.3.1指向函數(shù)的指針
8.3.2返回指針值的函數(shù)
本章小結(jié)
習(xí)題8
第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.2結(jié)構(gòu)體數(shù)組
9.2.1結(jié)構(gòu)體數(shù)組的定義
9.2.2結(jié)構(gòu)體數(shù)組的初始化和引用
9.3結(jié)構(gòu)體指針
9.3.1指向結(jié)構(gòu)體變量的指針
9.3.2指向結(jié)構(gòu)體數(shù)組的指針
9.3.3結(jié)構(gòu)體作為函數(shù)參數(shù)
9.4鏈表
9.4.1鏈表的定義
9.4.2建立簡單鏈表
9.5共用體類型
9.5.1共用體的概念
9.5.2共同體變量的引用
9.5.3共用體類型數(shù)據(jù)的特點(diǎn)
9.6枚舉類型
9.6.1枚舉類型的定義
9.6.2枚舉類型變量的賦值和使用
本章小結(jié)
習(xí)題9
第10章文件
10.1文件基本知識(shí)
10.1.1文件的分類
10.1.2文件緩沖區(qū)
10.1.3文件指針
10.2文件的打開與關(guān)閉
10.2.1文件的打開
10.2.2文件的關(guān)閉
10.3文件的讀寫
10.3.1格式化讀寫函數(shù)
10.3.2字符讀寫函數(shù)
10.3.3字符串讀寫函數(shù)
10.3.4數(shù)據(jù)塊讀寫函數(shù)
10.4文件的定位
10.4.1文件位置指針回繞函數(shù)
10.4.2文件位置指針定位函數(shù)
10.4.3文件位置指針獲取函數(shù)
10.4.4文件檢測函數(shù)
本章小結(jié)
習(xí)題10
第11章綜合實(shí)例學(xué)生成績管理系統(tǒng)
11.1開發(fā)環(huán)境需求
11.1.1Visual C 集成開發(fā)環(huán)境
11.1.2Visual C 的使用
11.2系統(tǒng)功能設(shè)計(jì)
11.2.1系統(tǒng)功能分析
11.2.2系統(tǒng)數(shù)據(jù)分析
11.3主函數(shù)設(shè)計(jì)
11.4子函數(shù)設(shè)計(jì)
11.4.1菜單模塊
11.4.2輸入模塊
11.4.3修改模塊
11.4.4刪除模塊
11.4.5打印模塊
11.4.6查詢模塊
11.4.7統(tǒng)計(jì)模塊
習(xí)題11
參考文獻(xiàn)
附錄A常用字符與ASCII代碼對照表
附錄B運(yùn)算符的優(yōu)先級和結(jié)合性
附錄C常用庫函數(shù)
習(xí)題解析