本書是依據(jù)高等學(xué)校計算機(jī)類和信息類各專業(yè)基礎(chǔ)課程教學(xué)的要求與目標(biāo)而編寫的理論與實踐相結(jié)合的教材。本書以C語言基本知識和基本概念為引領(lǐng),將知識融入各個實例,通過實踐來學(xué)習(xí)C語言程序設(shè)計,注重C語言基本概念、基本編程思想的介紹和應(yīng)用,始終貫徹“教、學(xué)、做”相結(jié)合的原則,使學(xué)生掌握C語言程序設(shè)計方法,能夠?qū)W以致用,培養(yǎng)學(xué)生使用C語言來解決實際問題的能力。全書共11章,主要內(nèi)容包括:計算機(jī)程序設(shè)計概述,C語言基礎(chǔ),數(shù)據(jù)輸入與輸出,控制結(jié)構(gòu)程序設(shè)計,數(shù)組和字符串,指針,函數(shù),構(gòu)造數(shù)據(jù)類型,編譯預(yù)處理,文件,高質(zhì)量編程規(guī)范。本書提供配套電子課件、程序代碼和習(xí)題參考答案。
廖小飛,博士,東華大學(xué)信息學(xué)院通信系教師,畢業(yè)于中國科學(xué)技術(shù)大學(xué),通信與信息系統(tǒng)專業(yè)。長期講授C程序設(shè)計、Java程序設(shè)計、高級程序設(shè)計與應(yīng)用實踐、嵌入式系統(tǒng)等課程,曾獲2014年上海交通大學(xué)繼續(xù)教學(xué)學(xué)院“致遠(yuǎn)”優(yōu)秀教師。
第1章計算機(jī)程序設(shè)計概述
1.1計算機(jī)系統(tǒng)組成
1.1.1硬件系統(tǒng)
1.1.2軟件系統(tǒng)
1.2程序設(shè)計語言
1.3計算機(jī)算法簡介
1.3.1算法舉例
1.3.2算法的表示方法
1.3.3基本程序結(jié)構(gòu)和流程圖
1.4數(shù)制及進(jìn)制轉(zhuǎn)換
1.4.1基本進(jìn)位制
1.4.2進(jìn)制數(shù)間相互轉(zhuǎn)換
1.5數(shù)值編碼
1.5.1美國信息交換標(biāo)準(zhǔn)代碼(ASCII)
1.5.2數(shù)的機(jī)器碼表示
1.6C語言概述
1.6.1C語言簡介
1.6.2C語言程序示例
1.6.3C語言程序編譯與執(zhí)行
上機(jī)實驗:熟悉C語言開發(fā)環(huán)境
習(xí)題
第2章C語言基礎(chǔ)
2.1基本知識
2.1.1位和字節(jié)
2.1.2標(biāo)識符
2.1.3數(shù)據(jù)類型
2.2常量
2.2.1整型常量
2.2.2實型常量
2.2.3字符常量
2.2.4字符串常量
2.3變量
2.3.1整型變量
2.3.2實型變量
2.3.3字符變量
2.4數(shù)據(jù)類型轉(zhuǎn)換
2.5運算符和表達(dá)式
2.5.1算術(shù)運算符和算術(shù)表達(dá)式
2.5.2賦值運算符和賦值表達(dá)式
2.5.3逗號運算符和逗號表達(dá)式
2.5.4C語言語句
上機(jī)實驗:C語言基礎(chǔ)知識
習(xí)題
第3章數(shù)據(jù)輸入與輸出
3.1數(shù)據(jù)的輸入
3.1.1字符輸入函數(shù)getchar()
3.1.2格式輸入函數(shù)scanf()
3.2數(shù)據(jù)的輸出
3.2.1字符輸出函數(shù)putchar()
3.2.2格式輸出函數(shù)printf()
3.3順序結(jié)構(gòu)程序設(shè)計
3.4程序示例
上機(jī)實驗:順序結(jié)構(gòu)程序設(shè)計應(yīng)用
習(xí)題
第4章控制結(jié)構(gòu)程序設(shè)計
4.1關(guān)系運算符與邏輯運算符
4.1.1關(guān)系運算符
4.1.2邏輯運算符
4.2選擇結(jié)構(gòu)程序
4.2.1if語句
4.2.2switch語句
4.2.3條件運算符
4.2.4選擇結(jié)構(gòu)程序設(shè)計
4.3循環(huán)結(jié)構(gòu)程序
4.3.1while與do-while語句
4.3.2for語句
4.3.3循環(huán)語句嵌套
4.3.4break與continue語句
4.3.5循環(huán)結(jié)構(gòu)程序設(shè)計
4.4程序示例
上機(jī)實驗:控制結(jié)構(gòu)程序設(shè)計應(yīng)用
習(xí)題
第5章數(shù)組和字符串
5.1一維數(shù)組
5.1.1一維數(shù)組定義
5.1.2一維數(shù)組元素引用
5.2二維數(shù)組
5.2.1二維數(shù)組定義
5.2.2二維數(shù)組元素引用
5.3字符串
5.3.1字符數(shù)組和字符串
5.3.2字符串處理函數(shù)
5.4程序示例
上機(jī)實驗:數(shù)組程序設(shè)計應(yīng)用
習(xí)題
第6章指針
6.1指針基本概念
6.1.1訪問內(nèi)存數(shù)據(jù)
6.1.2指針定義
6.2指針變量
6.2.1指針變量定義
6.2.2指針變量引用
6.2.3空指針和void類型指針
6.2.4兩重指針
6.3指針與數(shù)組元素
6.3.1指向一維數(shù)組元素的指針變量
6.3.2指針變量運算
6.3.3數(shù)組元素的表示方法
6.3.4指向二維數(shù)組元素的指針變量
6.4數(shù)組指針與指針數(shù)組
6.4.1數(shù)組指針
6.4.2指針數(shù)組
6.5指針與字符串
6.6程序示例
上機(jī)實驗:指針程序設(shè)計應(yīng)用
習(xí)題
第7章函數(shù)
7.1函數(shù)基本知識
7.1.1函數(shù)分類
7.1.2函數(shù)定義
7.2函數(shù)參數(shù)與返回值
7.2.1形參與實參
7.2.2函數(shù)返回值
7.3函數(shù)調(diào)用
7.3.1函數(shù)調(diào)用形式
7.3.2函數(shù)嵌套調(diào)用
7.3.3函數(shù)遞歸調(diào)用
7.4數(shù)組與函數(shù)參數(shù)
7.4.1函數(shù)參數(shù)傳遞方式
7.4.2數(shù)組元素作為函數(shù)實參
7.4.3數(shù)組名作為函數(shù)參數(shù)
7.5指針與函數(shù)參數(shù)
7.5.1指針變量作為參數(shù)
7.5.1指針變量和數(shù)組作為參數(shù)
7.6變量種類及存儲類型
7.6.1變量種類
7.6.2存儲類型
7.7程序示例
上機(jī)實驗:函數(shù)程序設(shè)計應(yīng)用
習(xí)題
第8章構(gòu)造數(shù)據(jù)類型
8.1結(jié)構(gòu)體
8.1.1結(jié)構(gòu)體類型
8.1.2結(jié)構(gòu)體數(shù)組
8.1.3結(jié)構(gòu)體指針
8.1.4結(jié)構(gòu)體與函數(shù)
8.2聯(lián)合體
8.3枚舉類型
8.4位運算符與位段
8.4.1位運算符
8.4.1位段
8.5類型定義符typedef
8.6程序示例
上機(jī)實驗:結(jié)構(gòu)體程序設(shè)計應(yīng)用
習(xí)題
第9章編譯預(yù)處理
9.1文件包含
9.2宏定義
9.2.1無參數(shù)宏定義
9.2.2帶參數(shù)宏定義
9.3條件編譯
9.3.1#if系列編譯指令
9.3.2#ifdef和#ifndef編譯指令
9.4其他預(yù)處理指令
9.4.1操作符#和##
9.4.2預(yù)定義宏
9.5程序示例
習(xí)題
第10章文件
10.1文件與文件指針
10.2文件打開與關(guān)閉
10.2.1文件打開
10.2.2文件關(guān)閉
10.3文件基本操作
10.3.1文件檢測
10.3.2順序讀/寫文件
10.3.3隨機(jī)讀/寫文件
10.4程序示例
上機(jī)實驗:文件程序設(shè)計應(yīng)用
習(xí)題
第11章高質(zhì)量編程規(guī)范
11.1宏觀上高質(zhì)量
11.1.1編碼的風(fēng)格
11.1.2程序的版式
11.2微觀上高質(zhì)量
11.2.1程序的健壯性
11.2.2程序的優(yōu)化
11.2.3函數(shù)設(shè)計
11.2.4指針
附錄AC語言課程設(shè)計
A.1目的
A.2課程設(shè)計流程
A.3要求
A.4評測
A.5項目參考
A.5.1學(xué)生管理系統(tǒng)
A.5.2文件加解密系統(tǒng)
附錄B常用資料與C語言自測題
B.1美國信息交換標(biāo)準(zhǔn)代碼(ASCII)
B.2運算符優(yōu)先級
B.3常用庫函數(shù)
B.4C語言自測題
參考文獻(xiàn)