內容簡介
《C語言從入門到項目實戰(全程視頻版)》是一本C語言從入門、進階到項目實戰的計算機語言編程類圖書,詳細介紹了C語言程式設計中的核心技術和編程技巧。全書分3篇共24章,其中第一篇為基礎篇,詳細介紹了C語言程式設計概述,數據存儲與運算,簡單程式的設計,循環結構程式的設計,函式,數組,指針,結構、聯合與位欄位,檔案;第二篇為進階篇,主要介紹了記憶體問題、簡單計算問題、數制轉換問題、日期相關問題、數組進階、字元串處理、高精度計算問題、位運算問題、遞推與遞歸、鍊表;第三篇為項目篇,介紹了有聲有色文本庫、開源圖形庫EGE、編程訪問網路、編程訪問資料庫、綜合實踐套用。在知識點的介紹過程配以大量的示例案例代碼及注釋解析,在“提示”“注意”等模組中融入了各種實戰經驗小技巧,可讓讀者在學習過程中少走彎路,並快速掌握C語言技術精髓,快速提升C語言程式開發技能。
《C語言從入門到項目實戰(全程視頻版)》適合C語言從入門到精通層次的讀者參考學習。所有C語言初學者、C語言編程愛好者、C語言工程師等均可選擇本書作為軟體開發的實戰指南和參考工具書,套用型高校計算機相關專業、培訓機構也可選擇本書作為C語言算法、C語言程式設計和面向過程編程的教材或參考書。
圖書目錄
第一篇 基 礎 篇
第1章 C語言程式設計概述
視頻講解:70分鐘 12集
1.1 C語言相關知識概述
1.1.1 C語言的歷史沿革
1.1.2 C語言的重要性
1.1.3 C語言的特點
1.2 C語言程式設計入門三要素
1.2.1 安裝軟體並開發HelloWorld程式
【例1-1】第一個簡單的C程式
1.2.2 掌握基本的輸入/輸出手段
【例1-2】一個完整的輸入/輸出示例
【例1-3】計算輸入的兩個整數的和的程式
【例1-4】計算兩個浮點數的乘積
【例1-5】改進例1-4中的輸出格式
1.2.3 理解C語言程式的基本結構
【例1-6】兩個函式構成的C程式示例
1.2.4 C語言程式的簡單調試
【例1-7】利用Dev-C++進行程式的調試
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庫函式
【例1-12】利用system庫函式實現關機
小結
習題與實踐
第2章 數據存儲與運算
視頻講解:53分鐘 13集
2.1 示例程式
【例2-1】計算圓的面積
2.2 數據類型與變數
2.2.1 數據類型
2.2.2 常量
2.2.3 變數
【例2-2】計算1~n的和
2.2.4 標識符
2.3 整數類型
2.3.1 基本整數類型int
【例2-3】定義int變數
【例2-4】以十進制、八進制、十六進制列印
十進制數1000
2.3.2 有符號整數類型
【例2-5】5種有符號整數類型所占位元組數及
數據範圍
2.3.3 無符號整數類型
2.3.4 char類型
【例2-6】字元變數定義並用字元常量賦值
2.3.5 整型變數的溢出
【例2-7】數據溢出示例
2.3.6 整數常量
2.4 浮點類型
2.4.1 定義浮點型變數
2.4.2 浮點常量
2.4.3 輸出浮點值
【例2-8】浮點類型定義、初始化及輸出
2.5 枚舉類型
2.6 void類型
2.7 運算符和表達式
【例2-9】運算符優先權示例
【例2-10】運算符的結合性示例
2.7.1 算術運算符
【例2-11】套用整除和求模運算符輸出3位
整數的每一位
2.7.2 自增自減運算符
【例2-12】自增運算符編程實例
2.7.3 賦值運算符
【例2-13】賦值運算符編程實例
2.7.4 關係運算符
【例2-14】關係運算符示例程式
2.7.5 邏輯運算符
【例2-15】邏輯運算符示例程式
2.7.6 其他運算符
【例2-16】sizeof運算符獲取int空間大小
的三種方式
【例2-17】顯式強制類型轉換與自動類型
轉換示例
【例2-18】條件運算符示例
小結
習題與實踐
第3章 簡單程式的設計
視頻講解:98分鐘 19集
3.1 算法概述
3.1.1 算法的概念
【例3-1】求兩個變數值交換的算法流程
【例3-2】求分段函式值的算法流程
【例3-3】求兩個數最大公約數的算法流程
3.1.2 算法的特徵
3.1.3 算法的表示
3.2 順序結構程式設計
3.2.1 賦值語句
3.2.2 表達式語句
3.2.3 函式調用語句
3.2.4 空語句與複合語句
3.3 順序結構的實例
【例3-4】編程實現交換兩個變數的值
【例3-5】求ax2+bx+c=0方程的根
【例3-6】輸入三角形的三條邊的長,求三角形的面積
【例3-7】已知一個四位數的整數,求其逆轉後對應的整數並輸出
3.4 選擇結構程式設計
3.4.1 條件語句
【例3-8】輸入一個年份,判斷其是否為閏年
【例3-9】求給定整數x的絕對值
【例3-10】求兩個整數a,b較大者的值
【例3-11】輸入一個整數成績,判斷是否通過
【例3-12】求分段函式的值
【例3-13】 輸入一個學生成績(0~100),輸出其對應的等級(A~E)
【例3-14】 輸入年份y和月份m的值,輸出y年m月的天數
【例3-15】簡單四則運算:編寫形如“A op B”的加減乘除四則運算的程式
3.4.2 開關語句
【例3-16】 用switch語句實現例3-13成績等級輸出程式
小結
習題與實踐
第4章 循環結構程式的設計
視頻講解:114分鐘 16集
4.1 循環結構概述
【例4-1】用goto語句編程實現求1~100 之間整數和的程式
4.2 條件控制循環語句
4.2.1 while語句
【例4-2】閱讀程式理解while的使用
【例4-3】用while語句實現求1~100之間整數和的程式
【例4-4】已知兩個正整數,求它們的最大公約數及最低公倍數
【例4-5】計算一個不足10位數整數的位數
4.2.2 do...while語句
4.3 計數控制循環語句(for語句)
【例4-6】求n個分數的和
4.4 循環的中斷
4.4.1 break語句
4.4.2 continue語句
【例4-7】編程實現輸出100以內的偶數
【例4-8】編程實現判斷一個整數m是否為素數(質數),並輸出判斷結果
4.5 循環嵌套
【例4-9】編寫程式,輸出圖4-7所示的
圖形
【例4-10】編程實現輸出2~100之間的素數,要求每行輸出5個素數
4.6 循環結構的簡單套用
4.6.1 枚舉問題
【例4-11】輸出所有水仙花數
【例4-12】找零錢問題
【例4-13】推理問題
4.6.2 遞推問題
【例4-14】Fibonacci Sequence
(斐波那契數列)
小結
習題與實踐
第5章 函式
視頻講解:56分鐘 12集
5.1 函式概述
【例5-1】符號函式sign
【例5-2】絕對值函式myabs
【例5-3】求兩數中的最大值函式max
【例5-4】計算1+2+3+…+n的和的函式sum
【例5-5】判斷正整數n是否為質數的函式isPrime
【例5-6】輸出1~n的和
【例5-7】演示函式定義在調用前,不需要聲明
【例5-8】利用傳值的方式能交換兩個實參的值嗎
【例5-9】函式嵌套調用示例
【例5-10】利用遞歸求1+2+3+…+n的和
【例5-11】利用遞歸求an
5.2 變數的生存期與作用域
【例5-12】全局變數和局部變數
【例5-13】演示在代碼塊內定義的局部變數
【例5-14】演示全局變數和局部變數同名時的情況
【例5-15】演示靜態局部變數與非靜態局部變數
5.3 編譯預處理
【例5-16】宏定義中的“#”運算符
【例5-17】宏定義中的“##”運算符
【例5-18】演示#undef取消宏定義
【例5-19】條件編譯指令示例
【例5-20】條件編譯指令示例
【例5-21】嵌套條件編譯指令示例
【例5-22】條件編譯指令的用法
【例5-23】編譯預處理中的特殊符號
【例5-24】演示#line的用法
5.4 模組化編譯連結
【例5-25】分別編譯並連結的示例
小結
習題與實踐
第6章 數組
視頻講解:137分鐘 13集
6.1 數組的引入
【例6-1】輸入一組學生的年齡,求平均
年齡,要求保留小數點後兩位
6.2 一維數組的初識
【例6-2】將一組整數逆置
【例6-3】求平均年齡及大於平均年齡的
學生數
【例6-4】輸入n(n≤10)及n個整數,
輸出最大整數及其位序
【例6-5】選擇排序
【例6-6】順序查找
6.3 二維數組的初識
【例6-7】多個班級某課程的成績管理
6.4 字元串
【例6-8】字元串的簡單加密
【例6-9】系統登錄驗證的實現
小結
習題與實踐
第7章 指針
視頻講解:81分鐘 13集
7.1 指針概述
【例7-1】指針就是記憶體地址,指針變數
用於存儲地址
【例7-2】交換兩個整型變數的值
7.2 空指針和void指針
【例7-3】隨機生成指定長度的字元串
【例7-4】與指定數字相同的數的個數
7.3 const指針常量
【例7-5】函式形參是常量指針
7.4 指針與數組
【例7-6】通過指針運算元組
【例7-7】在數組中查找元素
【例7-8】數組指針訪問二維數組
【例7-9】指針數組編程示例
7.5 指向函式的指針
【例7-10】函式指針簡單示例
【例7-11】對用戶輸入的兩個數字,進行
加減乘除計算
【例7-12】使用qsort()函式完成數組排序
7.6 命令行參數
【例7-13】命令行參數的概念程式示例
【例7-14】求輸入的若干個整數中的最大
者程式示例
小結
習題與實踐
第8章 結構、聯合與位欄位
視頻講解:38分鐘 6集
8.1 結構
【例8-1】計算兩點間距離
【例8-2】計算結構體變數記憶體空間大小
並輸出結構成員的起始地址
【例8-3】獎學金問題
【例8-4】單鍊表的創建與遍歷
8.2 聯合
【例8-5】聯合union編程實例
8.3 位欄位
【例8-6】位欄位編程實例
小結
習題與實踐
第9章 檔案
視頻講解:36分鐘 4集
9.1 檔案概述
9.2 檔案的打開與關閉
【例9-1】編程實現以唯讀方式打開文本
檔案
9.3 檔案的讀寫操作
【例9-2】從指定檔案中讀取數據
【例9-3】從鍵盤輸入字元,並將其寫入一個文本檔案
【例9-4】編程實現將一個字元串追加到指定檔案中
【例9-5】編程實現檔案複製
【例9-6】用fscanf和fprintf函式實現商品信息輸入
【例9-7】數據塊讀寫函式的使用
【例9-8】輸出第m個商品信息
9.4 檔案檢測函式
小結
習題與實踐
第二篇 進 階 篇
第10章 記憶體問題
10.1 程式運行需要記憶體
10.2 記憶體編址、定址
10.3 C語言訪問記憶體的方式
10.4 棧和堆記憶體管理
10.5 C程式的記憶體五區
第11章 簡單計算問題
視頻講解:38分鐘 2集
【例11-1】計算IPv6地址能分配多久
【例11-2】簡單四則運算
【例11-3】表達式求值問題
【例11-4】多項式求值問題
小結
習題與實踐
第12章 數制轉換問題
視頻講解:32分鐘 3集
【例12-1】八進制到十進制
【例12-2】十進制到八進制
【例12-3】N進制到M進制
【例12-4】確定進制問題
小結
習題與實踐
第13章 日期相關問題
視頻講解:34分鐘 3集
【例13-1】輸出當前計算機系統的日期及時間
【例13-2】n天后日期問題
【例13-3】列印月曆
【例13-4】確定母親節
【例13-5】黑色星期五
小結
習題與實踐
第14章 數組進階
視頻講解:89分鐘 7集
14.1 篩選法的套用
【例14-1】求1~n間的質數,每行輸出5
個質數
【例14-2】反質數
14.2 循環數組的套用
【例14-3】機器翻譯
【例14-4】約瑟夫環問題
14.3 排序與查找
【例14-5】冒泡排序
【例14-6】插入排序
【例14-7】快速排序
【例14-8】使用庫函式qsort完成排序
【例14-9】在n個整數中,使用折半查找方法查找x,輸出查找結果
14.4 二維數組的套用
【例14-10】同行同列同對角線的格子
【例14-11】鞍點問題
小結
習題與實踐
第15章 字元串處理
視頻講解:73分鐘 6集
【例15-1】統計字元數
【例15-2】被3整除
【例15-3】487-3279
【例15-4】刪除單詞後綴
【例15-5】字元串移位包含問題
【例15-6】查找文本串中的單詞
【例15-7】字元串加密
【例15-8】過濾多餘的空格
【例15-9】ISBN號碼
【例15-10】提取數字
小結
習題與實踐
第16章 高精度計算問題
視頻講解:57分鐘 3集
【例16-1】高精度加法
【例16-2】高精度乘法
【例16-3】高精度階乘
【例16-4】高精度除法
小結
習題與實踐
第17章 位運算問題
視頻講解:42分鐘 5集
【例17-1】給定一個整型數a,設定a二進制表示中的bit5為1, 其他位不變
【例17-2】給定一個整型數a,它的bit15清0,其他位不變
【例17-3】給定一個整型數a,求a的bit3~bit8對應的整數
【例17-4】用C語言給一個暫存器(32位)的bit7~bit17賦值937
【例17-5】用C語言實現將一個暫存器的bit7~bit17的值加17
【例17-6】使用位運算判斷一個整數是奇數還是偶數
【例17-7】使用位運算計算一個 int整數 的二進制數中有多少個1
【例17-8】使用位運算完成兩個變數值的交換
【例17-9】一組整數中只有一個數隻出現一次,其餘的數都是成對出現的,請找出這個只出現一次的數
【例17-10】已知一個含有N個整數集合,輸出它的所有非空子集
小結
習題與實踐
第18章 遞推與遞歸
視頻講解:70分鐘 5集
【例18-1】n!
【例18-2】青蛙過河
【例18-3】漢諾塔問題
【例18-4】分解因數
【例18-5】整數劃分問題
【例18-6】擴號匹配問題
【例18-7】分書問題
【例18-8】紅與黑
小結
習題與實踐
第19章 鍊表
視頻講解:60分鐘 3集
【例19-1】計算與指定數字相同的數的個數
【例19-2】生日相同
【例19-3】分數線劃定
【例19-4】子串計算
【例19-5】猴子選大王
小結
習題與實踐
第三篇 項 目 篇
第20章 有聲有色文本庫
視頻講解:107分鐘 7集
20.1 mycon庫的安裝配置與基本使用
【例20-1】帶聲音的打字機動畫版HelloWorld程式
20.2 mycon文本庫的套用編程案例
小結
習題與實踐
第21章 開源圖形庫EGE
視頻講解:91分鐘 7集
21.1 EGE使用基礎
【例21-1】圖形打字機動畫版的HelloWorld程式
21.2 EGE的套用編程案例
小結
習題與實踐
第22章 編程訪問網路
視頻講解:45分鐘 6集
22.1 網路基礎
22.2 Windows Sockets套接字編程基礎
22.3 Windows Sockets套接字編程案例
小結
習題與實踐
第23章 編程訪問資料庫
視頻講解:50分鐘 4集
23.1 資料庫基礎
23.2 C語言資料庫編程案例
小結
習題與實踐
第24章 綜合實踐套用
視頻講解:67分鐘 6集
24.1 英語單詞標準化測試系統
24.2 軟體產權保護系統
24.3 計算用戶的月通信費用
24.4 實現Linux下的wc命令
24.5 24位BMP點陣圖圖像變換
24.6 “貪吃蛇”遊戲外掛基本原理
小結
習題與實踐
參考文獻