本書(shū)是面向高等院校C語(yǔ)言程序設(shè)計(jì)課程編寫(xiě)的教材,系統(tǒng)介紹C語(yǔ)言程序設(shè)計(jì)的基礎(chǔ)語(yǔ)法知識(shí)和程序設(shè)計(jì)方法。全書(shū)分為11章,主要內(nèi)容包括:緒論,數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式,標(biāo)準(zhǔn)輸入和輸出,選擇結(jié)構(gòu)程序設(shè)計(jì),循環(huán)結(jié)構(gòu)程序設(shè)計(jì),數(shù)組與字符串,函數(shù),指針,結(jié)構(gòu)體,文件,項(xiàng)目案例實(shí)現(xiàn)。在每章的開(kāi)頭,通過(guò)對(duì)科技名人的介紹,引導(dǎo)讀者認(rèn)識(shí)學(xué)習(xí)方法與方式;在每章的結(jié)尾,通過(guò)對(duì)科技前沿知識(shí)的介紹,幫助讀者拓展知識(shí)面;全書(shū)在注重基礎(chǔ)的同時(shí),通過(guò)工程應(yīng)用實(shí)際案例,將學(xué)與用緊密結(jié)合。本書(shū)語(yǔ)言通俗易懂、簡(jiǎn)潔流暢;內(nèi)容敘述深入淺出、突出重點(diǎn);精選大量典型例題,講解由淺入深、細(xì)致詳盡。充分體現(xiàn)了漸進(jìn)式教學(xué)、啟發(fā)式教學(xué)、分層式教學(xué)的思想。為便于讀者高效學(xué)習(xí),快速掌握C語(yǔ)言編程與實(shí)踐,本書(shū)配套完整的教學(xué)大綱、教學(xué)課件、程序代碼、測(cè)試題庫(kù)、習(xí)題解答,以及每章重難點(diǎn)微課視頻。本書(shū)既可以作為高等院校與高職高專(zhuān)院校學(xué)生C語(yǔ)言程序設(shè)計(jì)的教材,又可以作為C語(yǔ)言相關(guān)工作人員和編程愛(ài)好者的參考用書(shū)。
在人類(lèi)科技特別是智能科技發(fā)展歷程中,程序設(shè)計(jì)一直起著重要的作用。而在眾多程序設(shè)計(jì)語(yǔ)言中,C語(yǔ)言以其獨(dú)特的魅力和強(qiáng)大的功能占據(jù)著一席之地。自20世紀(jì)70年代誕生以來(lái),C語(yǔ)言便以其高效、靈活的特性迅速成為系統(tǒng)編程、嵌入式開(kāi)發(fā)以及操作系統(tǒng)設(shè)計(jì)等領(lǐng)域的首選語(yǔ)言。如今,C語(yǔ)言仍然廣泛應(yīng)用于各種軟件開(kāi)發(fā)環(huán)境中,其影響力和生命力可見(jiàn)一斑。
C語(yǔ)言程序設(shè)計(jì)是一門(mén)具有較高難度的課程。一方面,C語(yǔ)言通常是學(xué)生學(xué)習(xí)到的優(yōu)質(zhì)個(gè)編程語(yǔ)言,從面向的對(duì)象、計(jì)算規(guī)則、語(yǔ)法結(jié)構(gòu)等都與已有的知識(shí)積累存在區(qū)別。另一方面,C語(yǔ)言需要初學(xué)者進(jìn)行思維方式的轉(zhuǎn)換,即用計(jì)算機(jī)思維去處理實(shí)際問(wèn)題。
C語(yǔ)言程序設(shè)計(jì)又是相對(duì)簡(jiǎn)單的課程。它具有簡(jiǎn)單明了的語(yǔ)法結(jié)構(gòu)和良好的可移植性,設(shè)計(jì)哲學(xué)強(qiáng)調(diào)高效性和簡(jiǎn)潔性,使得程序員能夠用較少的代碼實(shí)現(xiàn)復(fù)雜的功能。這種特性使得C語(yǔ)言在性能要求較高的場(chǎng)合具有不可替代的優(yōu)勢(shì),編好的程序無(wú)須進(jìn)行大量的修改即可輕松地移植到不同的硬件平臺(tái)和操作系統(tǒng)上。此外,C語(yǔ)言提供了豐富的運(yùn)算符和強(qiáng)大的指針功能,這使得程序員能夠更加直接地操作內(nèi)存,從而編寫(xiě)出更加高效、靈活的代碼。C語(yǔ)言在數(shù)據(jù)結(jié)構(gòu)和算法方面的表現(xiàn)也非常出色。通過(guò)使用C語(yǔ)言提供的數(shù)據(jù)類(lèi)型、控制結(jié)構(gòu),以及函數(shù)等基本元素,程序員可以構(gòu)建各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和算法,從而實(shí)現(xiàn)各種復(fù)雜的計(jì)算任務(wù)。C語(yǔ)言的這一特性使得它在算法研究和軟件開(kāi)發(fā)領(lǐng)域具有廣泛的應(yīng)用前景。
本書(shū)面向程序設(shè)計(jì)初學(xué)者,看重思維方式的引導(dǎo),體現(xiàn)由淺入深、一例貫穿、以例闡理的編寫(xiě)理念,在面向工科學(xué)生專(zhuān)業(yè)學(xué)習(xí)和研究方面進(jìn)行了有益的探索,所選實(shí)例大多來(lái)自工程實(shí)際。本書(shū)通過(guò)引入計(jì)算機(jī)領(lǐng)域名人與科技前沿知識(shí),深化大工匠探索,構(gòu)筑育人新格局。
本書(shū)配備了豐富的教學(xué)資源,如程序代碼、微課視頻、教學(xué)大綱、教學(xué)課件、電子教案、測(cè)試題庫(kù)等,屬于新形態(tài)教材,方便教師與學(xué)生使用,希望本書(shū)得到C語(yǔ)言學(xué)習(xí)者和講授者的使用和喜歡!
作者2025年5月
高峰,院長(zhǎng),博士,教授,碩士生導(dǎo)師。全面主持學(xué)院行政工作,主管人事、財(cái)務(wù)、專(zhuān)業(yè)與學(xué)科建設(shè)、科研和人才隊(duì)伍建設(shè)等工作。主要研究領(lǐng)域圖像智能解譯、智能感知與自動(dòng)化,現(xiàn)為湖南省市級(jí)領(lǐng)軍人才,長(zhǎng)沙市高層次軍事科研一類(lèi)人才、長(zhǎng)沙高新區(qū)骨干人才,湖南軍民融合發(fā)展中心,長(zhǎng)沙市科技委項(xiàng)目評(píng)審,湖南省電子信息協(xié)會(huì)常務(wù)理事。主要科研成果:主持或參與重點(diǎn)項(xiàng)目20余項(xiàng),作為項(xiàng)目負(fù)責(zé)人,主持國(guó)家自然科學(xué)項(xiàng)目1項(xiàng)、主持國(guó)家重大專(zhuān)項(xiàng)項(xiàng)目2項(xiàng)、主持國(guó)家973項(xiàng)目3項(xiàng),作為技術(shù)骨干,參與國(guó)家重大專(zhuān)項(xiàng)6項(xiàng),國(guó)家973項(xiàng)目6項(xiàng),國(guó)防科技創(chuàng)新項(xiàng)目1項(xiàng),國(guó)防型號(hào)項(xiàng)目1項(xiàng)等,并在2014-2015年和2016-2018年擔(dān)任973首席科學(xué)家助理和973項(xiàng)目辦公室主任。所得的科研成果發(fā)表在了IEEE、電子學(xué)報(bào)、計(jì)算機(jī)學(xué)報(bào)等國(guó)內(nèi)著名期刊上,撰寫(xiě)學(xué)術(shù)論文30余篇,其中sci檢索3篇,EI檢索17篇。申請(qǐng)專(zhuān)利4項(xiàng)。
第1章緒論
微課視頻4分鐘
1.1程序與程序設(shè)計(jì)語(yǔ)言
1.1.1程序設(shè)計(jì)語(yǔ)言的發(fā)展
1.1.2程序的算法表示
1.2C語(yǔ)言的發(fā)展歷史
1.3C語(yǔ)言與工科專(zhuān)業(yè)
1.3.1C語(yǔ)言在工科專(zhuān)業(yè)中的應(yīng)用
1.3.2C語(yǔ)言在工科專(zhuān)業(yè)中的重要性
1.4C語(yǔ)言的集成開(kāi)發(fā)環(huán)境
1.5C語(yǔ)言程序調(diào)試
1.6科技前沿之人工智能
本章小結(jié)
本章習(xí)題
第2章數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式
微課視頻24分鐘
2.1數(shù)據(jù)類(lèi)型
2.1.1數(shù)據(jù)類(lèi)型的概念
2.1.2整型
2.1.3實(shí)型
2.1.4字符型
2.2標(biāo)識(shí)符、常量和變量
2.2.1標(biāo)識(shí)符
2.2.2變量
2.2.3常量
2.3變量或數(shù)據(jù)類(lèi)型所占內(nèi)存空間的大小
2.4運(yùn)算符與表達(dá)式
2.4.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式
2.4.2賦值運(yùn)算符與賦值表達(dá)式
2.4.3關(guān)系運(yùn)算符與關(guān)系表達(dá)式
2.4.4條件運(yùn)算符與條件表達(dá)式
2.4.5邏輯運(yùn)算符與邏輯表達(dá)式
2.4.6逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式
2.4.7位運(yùn)算符
2.5數(shù)據(jù)類(lèi)型的轉(zhuǎn)換
2.5.1自動(dòng)類(lèi)型轉(zhuǎn)換
2.5.2強(qiáng)制類(lèi)型轉(zhuǎn)換
2.6科技前沿之物聯(lián)網(wǎng)
本章小結(jié)
本章習(xí)題
第3章標(biāo)準(zhǔn)輸入和輸出
微課視頻7分鐘
3.1輸入和輸出的基本概念
3.2字符型常量
3.2.1ASCII字符集
3.2.2UTF8字符集
3.3單個(gè)字符的輸入和輸出函數(shù)
3.3.1字符輸入函數(shù)getchar()
3.3.2字符輸出函數(shù)putchar()
3.4格式輸入和輸出函數(shù)
3.4.1格式輸入函數(shù)scanf()
3.4.2格式輸出函數(shù)printf()
3.5輸入輸出函數(shù)的安全版本
3.5.1格式輸入函數(shù)的安全版本scanf_s()
3.5.2格式輸出函數(shù)的安全版本printf_s()
3.6科技前沿之云計(jì)算
本章小結(jié)
本章習(xí)題
第4章選擇結(jié)構(gòu)程序設(shè)計(jì)
微課視頻24分鐘
4.1分支結(jié)構(gòu)中關(guān)系運(yùn)算符與表達(dá)式的應(yīng)用
4.1.1關(guān)系運(yùn)算符的應(yīng)用
4.1.2關(guān)系表達(dá)式的應(yīng)用
4.2if語(yǔ)句
4.2.1用if語(yǔ)句實(shí)現(xiàn)單分支選擇結(jié)構(gòu)
4.2.2用ifelse語(yǔ)句實(shí)現(xiàn)雙分支選擇結(jié)構(gòu)
4.2.3條件運(yùn)算符和條件表達(dá)式
4.2.4用ifelse if…語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)
4.2.5ifelse語(yǔ)句的嵌套
4.3switchcase語(yǔ)句
4.3.1switchcase語(yǔ)句的基本形式
4.3.2switchcase語(yǔ)句實(shí)現(xiàn)多路開(kāi)關(guān)控制結(jié)構(gòu)
4.4分支結(jié)構(gòu)中邏輯運(yùn)算符的應(yīng)用及短路特性
4.4.1邏輯非、與、或運(yùn)算符的應(yīng)用
4.4.2邏輯表達(dá)式的短路特性
4.5科技前沿之機(jī)器學(xué)習(xí)
本章小結(jié)
本章習(xí)題
第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
微課視頻23分鐘
5.1基本循環(huán)結(jié)構(gòu)
5.1.1for循環(huán)結(jié)構(gòu)
5.1.2while循環(huán)結(jié)構(gòu)
5.1.3dowhile循環(huán)結(jié)構(gòu)
5.1.43種基本循環(huán)結(jié)構(gòu)比較
5.2循環(huán)結(jié)構(gòu)中的計(jì)數(shù)控制和條件控制
5.2.1計(jì)數(shù)控制循環(huán)結(jié)構(gòu)
5.2.2條件控制循環(huán)結(jié)構(gòu)
5.3嵌套循環(huán)結(jié)構(gòu)
5.4循環(huán)的轉(zhuǎn)移控制
5.4.1break語(yǔ)句和continue語(yǔ)句在循環(huán)結(jié)構(gòu)中的作用
5.4.2goto語(yǔ)句在循環(huán)結(jié)構(gòu)中的作用
5.4.3exit(0)在循環(huán)結(jié)構(gòu)中的作用
5.5科技前沿之深度學(xué)習(xí)
本章小結(jié)
本章習(xí)題
第6章數(shù)組與字符串
微課視頻10分鐘
6.1數(shù)組
6.1.1數(shù)組的定義與聲明
6.1.2數(shù)組的維度
6.1.3數(shù)組的初始化
6.1.4數(shù)組的訪問(wèn)與遍歷
6.1.5數(shù)組的賦值與復(fù)制
6.1.6數(shù)組的應(yīng)用舉例
6.2字符串
6.2.1字符串的定義與表示
6.2.2字符串的輸入與輸出
6.2.3字符串的操作與函數(shù)
6.3科技前沿之人工神經(jīng)網(wǎng)絡(luò)
本章小結(jié)
本章習(xí)題
第7章函數(shù)
微課視頻12分鐘
7.1函數(shù)分類(lèi)
7.1.1標(biāo)準(zhǔn)函數(shù)
7.1.2自定義函數(shù)
7.2函數(shù)調(diào)用
7.2.1函數(shù)調(diào)用的形式與過(guò)程
7.2.2參數(shù)傳遞
7.3遞歸調(diào)用
7.4變量的作用域與生命周期
7.4.1變量的作用域
7.4.2變量的生命周期
7.5模塊化程序設(shè)計(jì)
7.6科技前沿之?dāng)?shù)據(jù)挖掘
本章小結(jié)
本章習(xí)題
第8章指針
微課視頻37分鐘
8.1指針和指針變量
8.1.1指針
8.1.2指針變量
8.2指針運(yùn)算符
8.2.1取地址運(yùn)算符
8.2.2間接尋址運(yùn)算符
8.2.3用指針處理簡(jiǎn)單變量
8.3指針與一維數(shù)組
8.3.1一維數(shù)組的內(nèi)存分配
8.3.2定義指向數(shù)組元素的指針變量
8.3.3使用指針變量訪問(wèn)數(shù)組元素
8.3.4一維數(shù)組的指針作函數(shù)參數(shù)
8.4指針與二維數(shù)組
8.4.1二維數(shù)組的內(nèi)存分配
8.4.2使用指針變量訪問(wèn)二維數(shù)組
8.4.3二維數(shù)組的行地址與列地址
8.4.4二維數(shù)組的指針作函數(shù)參數(shù)
8.5指針與字符串
8.6指針數(shù)組
8.7科技前沿之光子計(jì)算機(jī)
本章小結(jié)
本章習(xí)題
第9章結(jié)構(gòu)體
微課視頻21分鐘
9.1結(jié)構(gòu)體類(lèi)型的定義
9.2結(jié)構(gòu)體變量的定義和使用
9.2.1結(jié)構(gòu)體變量的定義
9.2.2結(jié)構(gòu)體變量成員的使用
9.2.3通過(guò)結(jié)構(gòu)體變量的指針引用成員
9.2.4結(jié)構(gòu)體變量作函數(shù)參數(shù)
9.3結(jié)構(gòu)體數(shù)組
9.3.1結(jié)構(gòu)體數(shù)組的定義和初始化
9.3.2結(jié)構(gòu)體數(shù)組元素的使用
9.3.3結(jié)構(gòu)體數(shù)組作函數(shù)參數(shù)
9.4指針、結(jié)構(gòu)體數(shù)組與函數(shù)
9.4.1指向結(jié)構(gòu)體數(shù)組的指針
9.4.2結(jié)構(gòu)體指針作函數(shù)參數(shù)
9.5動(dòng)態(tài)內(nèi)存分配
9.5.1動(dòng)態(tài)內(nèi)存分配函數(shù)
9.5.2可變長(zhǎng)度的動(dòng)態(tài)數(shù)組
9.6科技前沿之邊緣計(jì)算
本章小結(jié)
本章習(xí)題
第10章文件
微課視頻15分鐘
10.1文件的基本概念
10.1.1文件的分類(lèi)
10.1.2文件指針
10.1.3文件操作的基本過(guò)程
10.2文件的打開(kāi)與關(guān)閉
10.3文件的順序讀寫(xiě)
10.3.1字符讀寫(xiě)函數(shù)
10.3.2字符串讀寫(xiě)函數(shù)
10.3.3格式化讀寫(xiě)函數(shù)
10.3.4數(shù)據(jù)塊讀寫(xiě)函數(shù)
10.4文件的定位與隨機(jī)讀寫(xiě)
10.4.1文件的定位
10.4.2文件的隨機(jī)讀寫(xiě)
10.5科技前沿之大數(shù)據(jù)
本章小結(jié)
本章習(xí)題
第11章項(xiàng)目案例實(shí)現(xiàn)
微課視頻7分鐘
11.1項(xiàng)目需求分析
11.2溫濕度采集模塊
11.3顯示溫濕度信息模塊
11.4溫濕度數(shù)據(jù)排序模塊
11.5溫濕度信息查找模塊
11.6信息修改模塊
11.7加溫加濕終端控制模塊
11.8系統(tǒng)的集成
11.9科技前沿之決策和控制
附錄AC關(guān)鍵字
附錄BGCC中基本數(shù)據(jù)類(lèi)型的取值范圍
附錄CC語(yǔ)言運(yùn)算符的優(yōu)先級(jí)與結(jié)合性
附錄DANSI C碼值與常用字符對(duì)照表
附錄E常用的ANSI C標(biāo)準(zhǔn)庫(kù)函數(shù)
參考文獻(xiàn)