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