第一篇 基 礎(chǔ) 篇
第1章 C語言程序設(shè)計概述
視頻講解:70分鐘 12集
1.1 C語言相關(guān)知識概述
1.1.1 C語言的歷史沿革
1.1.2 C語言的重要性
1.1.3 C語言的特點
1.2 C語言程序設(shè)計入門三要素
1.2.1 安裝軟件并開發(fā)HelloWorld程序
【例1-1】第一個簡單的C程序
1.2.2 掌握基本的輸入/輸出手段
【例1-2】一個完整的輸入/輸出示例
【例1-3】計算輸入的兩個整數(shù)的和的程序
【例1-4】計算兩個浮點數(shù)的乘積
【例1-5】改進例1-4中的輸出格式
1.2.3 理解C語言程序的基本結(jié)構(gòu)
【例1-6】兩個函數(shù)構(gòu)成的C程序示例
1.2.4 C語言程序的簡單調(diào)試
【例1-7】利用Dev-C 進行程序的調(diào)試
1.3 案例分析
1.3.1 動畫效果的HelloWorld程序
【例1-8】動畫效果的HelloWorld程序1
【例1-9】動畫效果的HelloWorld程序2
1.3.2 帶聲音的HelloWorld程序
【例1-10】帶聲音的HelloWorld程序1
【例1-11】帶聲音的HelloWorld程序2
1.3.3 功能強大的system庫函數(shù)
【例1-12】利用system庫函數(shù)實現(xiàn)關(guān)機
小結(jié)
習(xí)題與實踐
第2章 數(shù)據(jù)存儲與運算
視頻講解:53分鐘 13集
2.1 示例程序
【例2-1】計算圓的面積
2.2 數(shù)據(jù)類型與變量
2.2.1 數(shù)據(jù)類型
2.2.2 常量
2.2.3 變量
【例2-2】計算1~n的和
2.2.4 標(biāo)識符
2.3 整數(shù)類型
2.3.1 基本整數(shù)類型int
【例2-3】定義int變量
【例2-4】以十進制、八進制、十六進制打印
十進制數(shù)1000
2.3.2 有符號整數(shù)類型
【例2-5】5種有符號整數(shù)類型所占字節(jié)數(shù)及
數(shù)據(jù)范圍
2.3.3 無符號整數(shù)類型
2.3.4 char類型
【例2-6】字符變量定義并用字符常量賦值
2.3.5 整型變量的溢出
【例2-7】數(shù)據(jù)溢出示例
2.3.6 整數(shù)常量
2.4 浮點類型
2.4.1 定義浮點型變量
2.4.2 浮點常量
2.4.3 輸出浮點值
【例2-8】浮點類型定義、初始化及輸出
2.5 枚舉類型
2.6 void類型
2.7 運算符和表達式
【例2-9】運算符優(yōu)先級示例
【例2-10】運算符的結(jié)合性示例
2.7.1 算術(shù)運算符
【例2-11】應(yīng)用整除和求模運算符輸出3位
整數(shù)的每一位
2.7.2 自增自減運算符
【例2-12】自增運算符編程實例
2.7.3 賦值運算符
【例2-13】賦值運算符編程實例
2.7.4 關(guān)系運算符
【例2-14】關(guān)系運算符示例程序
2.7.5 邏輯運算符
【例2-15】邏輯運算符示例程序
2.7.6 其他運算符
【例2-16】sizeof運算符獲取int空間大小
的三種方式
【例2-17】顯式強制類型轉(zhuǎn)換與自動類型
轉(zhuǎn)換示例
【例2-18】條件運算符示例
小結(jié)
習(xí)題與實踐
第3章 簡單程序的設(shè)計
視頻講解:98分鐘 19集
3.1 算法概述
3.1.1 算法的概念
【例3-1】求兩個變量值交換的算法流程
【例3-2】求分段函數(shù)值的算法流程
【例3-3】求兩個數(shù)最大公約數(shù)的算法流程
3.1.2 算法的特征
3.1.3 算法的表示
3.2 順序結(jié)構(gòu)程序設(shè)計
3.2.1 賦值語句
3.2.2 表達式語句
3.2.3 函數(shù)調(diào)用語句
3.2.4 空語句與復(fù)合語句
3.3 順序結(jié)構(gòu)的實例
【例3-4】編程實現(xiàn)交換兩個變量的值
【例3-5】求ax2 bx c=0方程的根
【例3-6】輸入三角形的三條邊的長,求三角形的面積
【例3-7】已知一個四位數(shù)的整數(shù),求其逆轉(zhuǎn)后對應(yīng)的整數(shù)并輸出
3.4 選擇結(jié)構(gòu)程序設(shè)計
3.4.1 條件語句
【例3-8】輸入一個年份,判斷其是否為閏年
【例3-9】求給定整數(shù)x的絕對值
【例3-10】求兩個整數(shù)a,b較大者的值
【例3-11】輸入一個整數(shù)成績,判斷是否通過
【例3-12】求分段函數(shù)的值
【例3-13】 輸入一個學(xué)生成績(0~100),輸出其對應(yīng)的等級(A~E)
【例3-14】 輸入年份y和月份m的值,輸出y年m月的天數(shù)
【例3-15】簡單四則運算:編寫形如A op B的加減乘除四則運算的程序
3.4.2 開關(guān)語句
【例3-16】 用switch語句實現(xiàn)例3-13成績等級輸出程序
小結(jié)
習(xí)題與實踐
第4章 循環(huán)結(jié)構(gòu)程序的設(shè)計
視頻講解:114分鐘 16集
4.1 循環(huán)結(jié)構(gòu)概述
【例4-1】用goto語句編程實現(xiàn)求1~100 之間整數(shù)和的程序
4.2 條件控制循環(huán)語句
4.2.1 while語句
【例4-2】閱讀程序理解while的使用
【例4-3】用while語句實現(xiàn)求1~100之間整數(shù)和的程序
【例4-4】已知兩個正整數(shù),求它們的最大公約數(shù)及最小公倍數(shù)
【例4-5】計算一個不足10位數(shù)整數(shù)的位數(shù)
4.2.2 do...while語句
4.3 計數(shù)控制循環(huán)語句(for語句)
【例4-6】求n個分?jǐn)?shù)的和
4.4 循環(huán)的中斷
4.4.1 break語句
4.4.2 continue語句
【例4-7】編程實現(xiàn)輸出100以內(nèi)的偶數(shù)
【例4-8】編程實現(xiàn)判斷一個整數(shù)m是否為素數(shù)(質(zhì)數(shù)),并輸出判斷結(jié)果
4.5 循環(huán)嵌套
【例4-9】編寫程序,輸出圖4-7所示的
圖形
【例4-10】編程實現(xiàn)輸出2~100之間的素數(shù),要求每行輸出5個素數(shù)
4.6 循環(huán)結(jié)構(gòu)的簡單應(yīng)用
4.6.1 枚舉問題
【例4-11】輸出所有水仙花數(shù)
【例4-12】找零錢問題
【例4-13】推理問題
4.6.2 遞推問題
【例4-14】Fibonacci Sequence
(斐波那契數(shù)列)
小結(jié)
習(xí)題與實踐
第5章 函數(shù)
視頻講解:56分鐘 12集
5.1 函數(shù)概述
5.1.1 函數(shù)的定義與聲明
【例5-1】符號函數(shù)sign
【例5-2】絕對值函數(shù)myabs
【例5-3】求兩數(shù)中的最大值函數(shù)max
【例5-4】計算1 2 3 … n的和的函數(shù)sum
【例5-5】判斷正整數(shù)n是否為質(zhì)數(shù)的函數(shù)isPrime
5.1.2 函數(shù)的調(diào)用與傳參
【例5-6】輸出1~n的和
【例5-7】演示函數(shù)定義在調(diào)用前,不需要聲明
【例5-8】利用傳值的方式能交換兩個實參的值嗎
5.1.3 函數(shù)的嵌套調(diào)用與遞歸調(diào)用
【例5-9】函數(shù)嵌套調(diào)用示例
【例5-10】利用遞歸求1 2 3 … n的和
【例5-11】利用遞歸求an
5.2 變量的生存期與作用域
【例5-12】全局變量和局部變量
【例5-13】演示在代碼塊內(nèi)定義的局部變量
【例5-14】演示全局變量和局部變量同名時的情況
【例5-15】演示靜態(tài)局部變量與非靜態(tài)局部變量
5.3 編譯預(yù)處理
5.3.1 包含頭文件
5.3.2 宏定義及宏展開
【例5-16】宏定義中的#運算符
【例5-17】宏定義中的##運算符
【例5-18】演示#undef取消宏定義
5.3.3 條件編譯
【例5-19】條件編譯指令示例
【例5-20】條件編譯指令示例
【例5-21】嵌套條件編譯指令示例
【例5-22】條件編譯指令的用法
5.3.4 特殊符號處理
【例5-23】編譯預(yù)處理中的特殊符號
【例5-24】演示#line的用法
5.4 模塊化編譯鏈接
5.4.1 分別編譯
【例5-25】分別編譯并鏈接的示例
5.4.2 鏈接
小結(jié)
習(xí)題與實踐
第6章 數(shù)組
視頻講解:137分鐘 13集
6.1 數(shù)組的引入
【例6-1】輸入一組學(xué)生的年齡,求平均
年齡,要求保留小數(shù)點后兩位
6.2 一維數(shù)組的初識
6.2.1 一維數(shù)組的聲明、初始化及引用
【例6-2】將一組整數(shù)逆置
6.2.2 數(shù)組與函數(shù)
【例6-3】求平均年齡及大于平均年齡的
學(xué)生數(shù)
6.2.3 一維數(shù)組的簡單應(yīng)用
【例6-4】輸入n(n10)及n個整數(shù),
輸出最大整數(shù)及其位序
【例6-5】選擇排序
【例6-6】順序查找
6.3 二維數(shù)組的初識
6.3.1 二維數(shù)組的定義
6.3.2 二維數(shù)組元素的引用
6.3.3 二維數(shù)組的初始化
6.3.4 二維數(shù)組的應(yīng)用
【例6-7】多個班級某課程的成績管理
6.4 字符串
【例6-8】字符串的簡單加密
【例6-9】系統(tǒng)登錄驗證的實現(xiàn)
小結(jié)
習(xí)題與實踐
第7章 指針
視頻講解:81分鐘 13集
7.1 指針概述
【例7-1】指針就是內(nèi)存地址,指針變量
用于存儲地址
【例7-2】交換兩個整型變量的值
7.2 空指針和void指針
7.2.1 空指針
7.2.2 void指針
7.2.3 malloc函數(shù)
【例7-3】隨機生成指定長度的字符串
【例7-4】與指定數(shù)字相同的數(shù)的個數(shù)
7.3 const指針常量
【例7-5】函數(shù)形參是常量指針
7.4 指針與數(shù)組
7.4.1 通過指針變量訪問數(shù)組
【例7-6】通過指針操作數(shù)組
【例7-7】在數(shù)組中查找元素
7.4.2 數(shù)組指針
【例7-8】數(shù)組指針訪問二維數(shù)組
7.4.3 指針數(shù)組
【例7-9】指針數(shù)組編程示例
7.5 指向函數(shù)的指針
【例7-10】函數(shù)指針簡單示例
【例7-11】對用戶輸入的兩個數(shù)字,進行
加減乘除計算
【例7-12】使用qsort()函數(shù)完成數(shù)組排序
7.6 命令行參數(shù)
【例7-13】命令行參數(shù)的概念程序示例
【例7-14】求輸入的若干個整數(shù)中的最大
者程序示例
小結(jié)
習(xí)題與實踐
第8章 結(jié)構(gòu)、聯(lián)合與位字段
視頻講解:38分鐘 6集
8.1 結(jié)構(gòu)
8.1.1 聲明結(jié)構(gòu)類型
8.1.2 訪問結(jié)構(gòu)成員
【例8-1】計算兩點間距離
8.1.3 結(jié)構(gòu)變量的內(nèi)存分配
【例8-2】計算結(jié)構(gòu)體變量內(nèi)存空間大小
并輸出結(jié)構(gòu)成員的起始地址
8.1.4 結(jié)構(gòu)數(shù)組
【例8-3】獎學(xué)金問題
8.1.5 鏈表
【例8-4】單鏈表的創(chuàng)建與遍歷
8.2 聯(lián)合
【例8-5】聯(lián)合union編程實例
8.3 位字段
【例8-6】位字段編程實例
小結(jié)
習(xí)題與實踐
第9章 文件
視頻講解:36分鐘 4集
9.1 文件概述
9.2 文件的打開與關(guān)閉
【例9-1】編程實現(xiàn)以只讀方式打開文本
文件
9.3 文件的讀寫操作
9.3.1 文件的順序讀寫
【例9-2】從指定文件中讀取數(shù)據(jù)
【例9-3】從鍵盤輸入字符,并將其寫入一個文本文件
【例9-4】編程實現(xiàn)將一個字符串追加到指定文件中
【例9-5】編程實現(xiàn)文件復(fù)制
【例9-6】用fscanf和fprintf函數(shù)實現(xiàn)商品信息輸入
【例9-7】數(shù)據(jù)塊讀寫函數(shù)的使用
9.3.2 文件的隨機讀寫
【例9-8】輸出第m個商品信息
9.4 文件檢測函數(shù)
小結(jié)
習(xí)題與實踐
第二篇 進 階 篇
第10章 內(nèi)存問題
10.1 程序運行需要內(nèi)存
10.2 內(nèi)存編址、尋址
10.3 C語言訪問內(nèi)存的方式
10.4 棧和堆內(nèi)存管理
10.5 C程序的內(nèi)存五區(qū)
第11章 簡單計算問題
視頻講解:38分鐘 2集
【例11-1】計算IPv6地址能分配多久
【例11-2】簡單四則運算
【例11-3】表達式求值問題
【例11-4】多項式求值問題
小結(jié)
習(xí)題與實踐
第12章 數(shù)制轉(zhuǎn)換問題
視頻講解:32分鐘 3集
【例12-1】八進制到十進制
【例12-2】十進制到八進制
【例12-3】N進制到M進制
【例12-4】確定進制問題
小結(jié)
習(xí)題與實踐
第13章 日期相關(guān)問題
視頻講解:34分鐘 3集
【例13-1】輸出當(dāng)前計算機系統(tǒng)的日期及時間
【例13-2】n天后日期問題
【例13-3】打印月歷
【例13-4】確定母親節(jié)
【例13-5】黑色星期五
小結(jié)
習(xí)題與實踐
第14章 數(shù)組進階
視頻講解:89分鐘 7集
14.1 篩選法的應(yīng)用
【例14-1】求1~n間的質(zhì)數(shù),每行輸出5
個質(zhì)數(shù)
【例14-2】反質(zhì)數(shù)
14.2 循環(huán)數(shù)組的應(yīng)用
【例14-3】機器翻譯
【例14-4】約瑟夫環(huán)問題
14.3 排序與查找
14.3.1 排序
【例14-5】冒泡排序
【例14-6】插入排序
【例14-7】快速排序
【例14-8】使用庫函數(shù)qsort完成排序
14.3.2 查找
【例14-9】在n個整數(shù)中,使用折半查找方法查找x,輸出查找結(jié)果
14.4 二維數(shù)組的應(yīng)用
【例14-10】同行同列同對角線的格子
【例14-11】鞍點問題
小結(jié)
習(xí)題與實踐
第15章 字符串處理
視頻講解:73分鐘 6集
【例15-1】統(tǒng)計字符數(shù)
【例15-2】被3整除
【例15-3】487-3279
【例15-4】刪除單詞后綴
【例15-5】字符串移位包含問題
【例15-6】查找文本串中的單詞
【例15-7】字符串加密
【例15-8】過濾多余的空格
【例15-9】ISBN號碼
【例15-10】提取數(shù)字
小結(jié)
習(xí)題與實踐
第16章 高精度計算問題
視頻講解:57分鐘 3集
【例16-1】高精度加法
【例16-2】高精度乘法
【例16-3】高精度階乘
【例16-4】高精度除法
小結(jié)
習(xí)題與實踐
第17章 位運算問題
視頻講解:42分鐘 5集
【例17-1】給定一個整型數(shù)a,設(shè)置a二進制表示中的bit5為1, 其他位不變
【例17-2】給定一個整型數(shù)a,它的bit15清0,其他位不變
【例17-3】給定一個整型數(shù)a,求a的bit3~bit8對應(yīng)的整數(shù)
【例17-4】用C語言給一個寄存器(32位)的bit7~bit17賦值937
【例17-5】用C語言實現(xiàn)將一個寄存器的bit7~bit17的值加17
【例17-6】使用位運算判斷一個整數(shù)是奇數(shù)還是偶數(shù)
【例17-7】使用位運算計算一個 int整數(shù) 的二進制數(shù)中有多少個1
【例17-8】使用位運算完成兩個變量值的交換
【例17-9】一組整數(shù)中只有一個數(shù)只出現(xiàn)一次,其余的數(shù)都是成對出現(xiàn)的,請找出這個只出現(xiàn)一次的數(shù)
【例17-10】已知一個含有N個整數(shù)集合,輸出它的所有非空子集
小結(jié)
習(xí)題與實踐
第18章 遞推與遞歸
視頻講解:70分鐘 5集
【例18-1】n!
【例18-2】青蛙過河
【例18-3】漢諾塔問題
【例18-4】分解因數(shù)
【例18-5】整數(shù)劃分問題
【例18-6】擴號匹配問題
【例18-7】分書問題
【例18-8】紅與黑
小結(jié)
習(xí)題與實踐
第19章 鏈表
視頻講解:60分鐘 3集
【例19-1】計算與指定數(shù)字相同的數(shù)的個數(shù)
【例19-2】生日相同
【例19-3】分?jǐn)?shù)線劃定
【例19-4】子串計算
【例19-5】猴子選大王
小結(jié)
習(xí)題與實踐
第三篇 項 目 篇
第20章 有聲有色文本庫
視頻講解:107分鐘 7集
20.1 mycon庫的安裝配置與基本使用
20.1.1 函數(shù)庫使用的核心要點
20.1.2 mycon庫的安裝配置與基本使用
【例20-1】帶聲音的打字機動畫版
HelloWorld程序
20.2 mycon文本庫的應(yīng)用編程案例
20.2.1 超級賭馬大賽
20.2.2 彈小球游戲
20.2.3 打飛機游戲
20.2.4 貪吃蛇游戲
20.2.5 推箱子游戲
小結(jié)
習(xí)題與實踐
第21章 開源圖形庫EGE
視頻講解:91分鐘 7集
21.1 EGE使用基礎(chǔ)
21.1.1 EGE簡介
21.1.2 EGE的配置與基本使用
【例21-1】圖形打字機動畫版的
HelloWorld程序
21.2 EGE的應(yīng)用編程案例
21.2.1 漢字點陣顯示及變換
21.2.2 水平跑馬燈廣告牌
21.2.3 環(huán)形跑馬燈廣告牌
21.2.4 七段數(shù)碼管日期時間
21.2.5 推箱子游戲
21.2.6 撲克牌21點游戲
小結(jié)
習(xí)題與實踐
第22章 編程訪問網(wǎng)絡(luò)
視頻講解:45分鐘 6集
22.1 網(wǎng)絡(luò)基礎(chǔ)
22.1.1 網(wǎng)絡(luò)的引入
22.1.2 網(wǎng)絡(luò)的基本概念
22.2 Windows Sockets套接字編程基礎(chǔ)
22.2.1 Windows Sockets套接字
22.2.2 Windows Sockets套接字編程步驟
22.3 Windows Sockets套接字編程案例
22.3.1 查詢主機名對應(yīng)的IP地址
22.3.2 UDP實現(xiàn)的點對點聊天
22.3.3 TCP實現(xiàn)的點對點聊天
22.3.4 TCP實現(xiàn)的遠程文件上傳
22.3.5 TCP實現(xiàn)的多人聊天室
小結(jié)
習(xí)題與實踐
第23章 編程訪問數(shù)據(jù)庫
視頻講解:50分鐘 4集
23.1 數(shù)據(jù)庫基礎(chǔ)
23.1.1 數(shù)據(jù)庫的引入
23.1.2 MySQL數(shù)據(jù)庫的安裝與使用初步
23.1.3 C語言訪問MySQL數(shù)據(jù)庫的配置
23.2 C語言數(shù)據(jù)庫編程案例
23.2.1 標(biāo)準(zhǔn)化考試系統(tǒng)
23.2.2 同學(xué)通訊錄系統(tǒng)
小結(jié)
習(xí)題與實踐
第24章 綜合實踐應(yīng)用
視頻講解:67分鐘 6集
24.1 英語單詞標(biāo)準(zhǔn)化測試系統(tǒng)
24.2 軟件產(chǎn)權(quán)保護系統(tǒng)
24.3 計算用戶的月通信費用
24.4 實現(xiàn)Linux下的wc命令
24.5 24位BMP位圖圖像變換
24.6 貪吃蛇游戲外掛基本原理
小結(jié)
習(xí)題與實踐
參考文獻