本書主要介紹了C語言的數(shù)據(jù)類型、運算符和表達式、結(jié)構(gòu)化程序設(shè)計語句、數(shù)組、函數(shù)、指針、復(fù)合數(shù)據(jù)類型、文件、圖形程序設(shè)計基礎(chǔ)等各種典型內(nèi)容。全書共10章,前9章分別介紹C語言各種基礎(chǔ)知識,通過大量案例和練習(xí)讓讀者掌握所學(xué)知識,第10章介紹了兩個綜合項目,分別是不帶圖形界面的管理信息系統(tǒng)和帶圖形界面的迷宮探險游戲。每章最后配有類型豐富的在線測試練習(xí)題,并提供了習(xí)題參考答案。本書對C語言各知識的闡述通俗易懂,習(xí)題的選擇難易適當(dāng),題型豐富;對于在Turbo C 2.0和Visual C++6.0不同環(huán)境下運行結(jié)果不同的程序,給出兩種環(huán)境下的運行結(jié)果,方便讀者理解。書中所有程序均已調(diào)試運行通過,運行結(jié)果為截屏顯示。本書既可作為高職高專、職業(yè)技術(shù)大學(xué)、應(yīng)用型本科院校計算機專業(yè)程序設(shè)計課程的教材,也可作為成人教育、自學(xué)考試和從事計算機應(yīng)用的工程技術(shù)人員的參考書。本書配有視頻講解教程、配套電子教案、電子課件、源代碼等相關(guān)資源,可掃描書中二維碼觀看視頻或登錄電子工業(yè)出版社的華信教育資源網(wǎng)(http://www.hxedu.com.cn)注冊后免費下載。
劉暢,副教授,畢業(yè)于沈陽理工大學(xué),碩士。十多年來一直從事于計算機軟件方面開發(fā)與授課工作,F(xiàn)任計算機系軟件技術(shù)教研室主任,軟件專業(yè)骨干教師(在高等學(xué)校骨干教師資源信息庫備案)。
第1章 C語言概述
1.1 程序設(shè)計的基本概念
1.1.1 程序的概念
1.1.2 程序設(shè)計的一般過程
1.1.3 程序設(shè)計的方法
1.2 C語言簡介
1.2.1 C語言的發(fā)展
1.2.2 C語言的特點
1.2.3 C語言的書寫規(guī)則
1.2.4 C程序的幾種類型文件
1.2.5 C語言的應(yīng)用領(lǐng)域及發(fā)展前景
1.3 C語言程序案例
1.3.1 第一個C語言程序
1.3.2 定義符號常量的C語言程序
1.3.3 有多個函數(shù)的C語言程序
1.4 算法
1.4.1 算法概述
1.4.2 算法的圖形表示
1.5 C語言編程環(huán)境
1.5.1 Turbo C 2.0編程環(huán)境
1.5.2 Visual C++ 6.0編程環(huán)境
1.5.3 “C/C++程序設(shè)計學(xué)習(xí)與實驗系統(tǒng)”編程環(huán)境
本章小結(jié)
學(xué)生自我完善練習(xí)
在線測試一
第2章 程序中的數(shù)據(jù)
2.1 數(shù)據(jù)類型、變量與常量
2.1.1 數(shù)據(jù)類型概述
2.1.2 標(biāo)識符
2.1.3 變量的定義、賦值和初始化
2.1.4 數(shù)的原碼、反碼和補碼
2.1.5 整型變量及整型常量
2.1.6 實型變量及實型常量
2.1.7 字符變量及字符常量、字符串常量
2.1.8 符號常量
2.2 運算符與表達式
2.2.1 算術(shù)運算符與算術(shù)表達式
2.2.2 自增、自減運算符(++、--)
2.2.3 賦值運算符與賦值表達式
2.2.4 關(guān)系運算符與關(guān)系表達式
2.2.5 邏輯運算符與邏輯表達式
2.2.6 位運算符
2.2.7 其他運算符
2.3 數(shù)據(jù)類型轉(zhuǎn)換及數(shù)據(jù)的溢出誤差
2.3.1 類型轉(zhuǎn)換概述
2.3.2 自動類型轉(zhuǎn)換
2.3.3 賦值類型轉(zhuǎn)換
2.3.4 強制類型轉(zhuǎn)換
2.3.5 數(shù)據(jù)的溢出和誤差
2.4 數(shù)據(jù)的輸入/輸出
2.4.1 格式化輸出函數(shù)printf
2.4.2 格式化輸入函數(shù)scanf
2.4.3 字符的輸入與輸出
2.5 程序案例
2.5.1 典型案例——求直角三角形的周長和面積
2.5.2 典型案例——英文大小寫字母的轉(zhuǎn)換
本章小結(jié)
學(xué)生自我完善練習(xí)
在線測試二
第3章 程序設(shè)計語句
3.1 程序的語句與結(jié)構(gòu)
3.1.1 程序的語句
3.1.2 程序的結(jié)構(gòu)
3.1.3 如何設(shè)計C語言程序
3.1.4 順序結(jié)構(gòu)
3.2 選擇結(jié)構(gòu)
3.2.1 條件語句——if語句
3.2.2 開關(guān)語句——switch語句
3.3 循環(huán)結(jié)構(gòu)
3.3.1 程序的設(shè)計過程
3.3.2 當(dāng)型循環(huán)——while循環(huán)
3.3.3 直到型循環(huán)——do-while循環(huán)
3.3.4 格式化的當(dāng)型循環(huán)——for循環(huán)
3.3.5 循環(huán)的嵌套
3.4 break、continue和goto語句
3.4.1 break語句
3.4.2 continue語句
3.4.3 goto語句
3.5 程序案例
3.5.1 典型案例——求四項表達式的值
3.5.2 典型案例——求1+(1+2)+(1+2+3)+(1+2+3+4)+…+(1+2+…+n)數(shù)列的和
3.5.3 典型案例——猜數(shù)字游戲
本章小結(jié)
學(xué)生自我完善練習(xí)
在線測試三
第4章 數(shù)組
4.1 數(shù)組概念的引入
4.2 一維數(shù)組
4.2.1 一維數(shù)組的定義
4.2.2 一維數(shù)組的元素引用
4.2.3 一維數(shù)組的賦值方法
4.3 二維數(shù)組
4.3.1 二維數(shù)組的定義
4.3.2 二維數(shù)組的元素引用
4.3.3 二維數(shù)組的存儲
4.3.4 二維數(shù)據(jù)的賦值方法
4.4 字符數(shù)組與字符串
4.4.1 字符數(shù)組的定義、初始化和引用
4.4.2 字符串的輸入和輸出函數(shù)
4.4.3 字符串函數(shù)
4.5 程序案例
4.5.1 典型案例——冒泡法排序
4.5.2 典型案例——矩陣的轉(zhuǎn)置
4.5.3 典型案例——打印楊輝三角形
本章小結(jié)
學(xué)生自我完善練習(xí)
在線測試四
第5章 函數(shù)和編譯預(yù)處理
5.1 模塊化的設(shè)計思想
5.2 函數(shù)的定義、調(diào)用和聲明
5.2.1 函數(shù)的定義
5.2.2 函數(shù)的調(diào)用
5.2.3 函數(shù)的聲明
5.3 函數(shù)的參數(shù)傳遞
5.4 函數(shù)的嵌套調(diào)用
5.5 函數(shù)的遞歸調(diào)用
5.6 變量的作用域和存儲類型
5.6.1 變量的作用域
5.6.2 變量的生存期
5.6.3 變量的存儲類型
5.7 編譯預(yù)處理
5.7.1 宏定義
5.7.2 文件包含
5.7.3 條件編譯
5.8 程序案例
5.8.1 典型案例——編寫函數(shù)求xn
5.8.2 典型案例——設(shè)計遞歸函數(shù)gcd(x,y)
5.8.3 典型案例——設(shè)計函數(shù)驗證任意偶數(shù)為兩個素數(shù)之和
5.8.4 典型案例——編寫函數(shù)實現(xiàn)任意進制數(shù)的轉(zhuǎn)換
本章小結(jié)
學(xué)生自我完善練習(xí)
在線測試五
第6章 指針
6.1 地址和指針的關(guān)系
6.2 指針變量的定義和賦值
6.2.1 指針變量的定義及初始化
6.2.2 指針變量的賦值
6.3 指針變量的運算
6.3.1 *運算符和&運算符
6.3.2 指針的算術(shù)運算和關(guān)系運算
6.4 指針和數(shù)組的關(guān)系
6.4.1 指針與一維數(shù)組
6.4.2 指針與字符數(shù)組
6.4.3 指針與二維數(shù)組
6.4.4 指針數(shù)組
6.4.5 指向指針的指針——二級指針
6.5 指針在函數(shù)中的應(yīng)用
6.5.1 函數(shù)的參數(shù)是指針
6.5.2 函數(shù)的返回值是指針
6.5.3 指向函數(shù)的指針
6.5.4 帶參數(shù)的main函數(shù)
6.6 程序案例
6.6.1 典型案例——用指針統(tǒng)計字符串中各字符的個數(shù)
6.6.2 典型案例——找出多個字符串中最長字符串
6.6.3 典型案例——將矩陣元素右移
本章小結(jié)
學(xué)生自我完善練習(xí)
在線測試六
第7章 復(fù)合的數(shù)據(jù)類型
7.1 結(jié)構(gòu)概念的引入
7.2 結(jié)構(gòu)體的描述與存儲
7.2.1 結(jié)構(gòu)體類型定義
7.2.2 結(jié)構(gòu)體變量定義
7.2.3 結(jié)構(gòu)體變量初始化
7.2.4 結(jié)構(gòu)體變量和成員的引用及賦值
7.2.5 結(jié)構(gòu)體變量的空間分配及查看方法
7.2.6 結(jié)構(gòu)體類型的嵌套定義
7.3 結(jié)構(gòu)體數(shù)組和結(jié)構(gòu)體指針的使用
7.3.1 結(jié)構(gòu)體數(shù)組
7.3.2 結(jié)構(gòu)體指針
7.4 結(jié)構(gòu)體與函數(shù)的關(guān)系
7.4.1 結(jié)構(gòu)體變量、指針和數(shù)組作為函數(shù)參數(shù)
7.4.2 結(jié)構(gòu)體變量和指針作為函數(shù)的返回值
7.5 共用體、枚舉和typedef類型定義
7.5.1 共用體
7.5.2 枚舉
7.5.3 typedef重命名類型
*7.6 鏈表
7.6.1 鏈表基礎(chǔ)知識及動態(tài)分配函數(shù)
7.6.2 鏈表的操作
7.7 程序案例
7.7.1 典型案例——用“結(jié)構(gòu)”統(tǒng)計學(xué)生成績并排序
7.7.2 典型案例——枚舉示例,輸出52張撲克牌
本章小結(jié)
學(xué)生自我完善練習(xí)
在線測試七
第8章 文件
8.1 文件的概念和基本操作
8.1.1 文件的概念
8.1.2 文件的打開和關(guān)閉
8.2 文件的讀和寫
8.2.1 字符的讀、寫函數(shù)
8.2.2 字符串的讀、寫函數(shù)
8.2.3 數(shù)據(jù)塊的讀、寫函數(shù)
8.2.4 格式化輸入/輸出文件函數(shù)
8.3 文件的定位和檢測
8.3.1 文件的定位
8.3.2 文件的檢測
8.4 程序案例
8.4.1 典型案例——文件的字符串讀寫程序?qū)崿F(xiàn)人員登錄功能
8.4.2 典型案例——文件中的字?jǐn)?shù)統(tǒng)計程序
本章小結(jié)
學(xué)生自我完善練習(xí)
在線測試八
第9章 圖形程序設(shè)計基礎(chǔ)
9.1 屏幕設(shè)置
9.1.1 屏幕顯示模式與坐標(biāo)系
9.1.2 圖形驅(qū)動程序與圖形模式
9.1.3 TC圖形庫函數(shù)
9.2 圖形處理函數(shù)
9.2.1 圖形系統(tǒng)管理函數(shù)
9.2.2 屏幕管理和顏色設(shè)置函數(shù)
9.2.3 畫點和坐標(biāo)位置相關(guān)函數(shù)
9.2.4 繪圖函數(shù)
9.2.5 設(shè)定線型函數(shù)
9.2.6 基本圖形的填充及填充方式的設(shè)定
9.3 圖形操作函數(shù)
9.3.1 圖形窗口操作函數(shù)
9.3.2 圖形模式下的字符
9.4 綜合程序案例
9.4.1 典型案例——畫不同粗細、線型的圖形
9.4.2 典型案例——運動的小車動畫
本章小結(jié)
學(xué)生自我完善練習(xí)
在線測試九
第10章 綜合訓(xùn)練項目
10.1 不帶圖形界面的綜合項目——管理信息系統(tǒng)
10.1.1 項目功能介紹與系統(tǒng)結(jié)構(gòu)分析
10.1.2 各功能模塊功能簡介
10.1.3 源程序及運行結(jié)果
*10.2 圖形界面綜合項目——迷宮探險游戲
10.2.1 項目功能介紹與系統(tǒng)結(jié)構(gòu)分析
10.2.2 各功能模塊功能簡介
10.2.3 源程序及運行結(jié)果
附錄A 常用字符與ASCII碼對照表
參考文獻