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