《零基礎(chǔ)學(xué)C語言》的特點(diǎn)是內(nèi)容全面、翔實(shí),通俗易懂,循序漸進(jìn)地介紹了C語言各方面的知識(shí),重點(diǎn)突出。《零基礎(chǔ)學(xué)C語言》含有大量實(shí)例,代碼短小精煉,緊扣所講要點(diǎn)的本質(zhì),以加深讀者的印象,同時(shí)結(jié)合筆者多年使用C語言的經(jīng)驗(yàn),闡述了很多代碼編寫技巧,讀者可將代碼復(fù)制到自己的機(jī)器上進(jìn)行實(shí)驗(yàn),自行實(shí)踐和演練。C語言是編程方式靈活多樣、功能強(qiáng)大、應(yīng)用廣泛的一種程序設(shè)計(jì)語言。從程序設(shè)計(jì)語言的發(fā)展歷程來看,盡管后來出現(xiàn)了以C++、Java和C#等為代表的新語言,但C語言的基礎(chǔ)地位不可撼動(dòng)。C語言的核心是結(jié)構(gòu)化的編程思想,《零基礎(chǔ)學(xué)C語言》一共分為四篇,循序漸進(jìn)地講述了C語言的語法規(guī)則和編程思想,從基本概念到具體實(shí)踐、從入門知識(shí)到高階主題、從語法語義到數(shù)據(jù)結(jié)構(gòu)和算法都進(jìn)行了詳細(xì)的闡述,并通過實(shí)例對(duì)具體知識(shí)點(diǎn)進(jìn)行了詳細(xì)的講解。
目錄
前言
第一篇 C語言基礎(chǔ)
第1章 踏上征程前的思想動(dòng)員
1.1 為什么選擇C語言
1.2 如何學(xué)好C語言
1.3 語言概述
1.3.1 什么是語言
1.3.2 什么是機(jī)器語言
1.3.3 什么是匯編語言
1.3.4 面向過程的語言
1.3.5 什么是C語言
1.4 深刻認(rèn)識(shí)程序如何開發(fā)出來—程序開發(fā)周期
1.4.1 編輯C源代碼
1.4.2 編譯C源代碼
1.4.3 連接目標(biāo)文件
1.4.4 編譯連接過程示例
1.4.5 運(yùn)行程序
1.5 VC++、C++、C和TC—認(rèn)識(shí)開發(fā)環(huán)境和語言的區(qū)別
1.6 小結(jié)
1.7 上機(jī)實(shí)踐
第2章 跟我寫Hello World
2.1 自己動(dòng)手創(chuàng)建程序
2.2 認(rèn)識(shí)LCC-Win32開發(fā)環(huán)境
2.2.1 為什么選擇LCC-Win32
2.2.2 啟動(dòng)LCC-Win32
2.2.3 新建Hello World工程
2.2.4 定義新工程
2.2.5 添加源代碼到工程
2.2.6 編譯器設(shè)置
2.2.7 連接器設(shè)置
2.2.8 調(diào)試器設(shè)置
2.2.9 開始編輯代碼
2.3 編譯運(yùn)行—欣賞你的杰作
2.4 查看代碼如何一步一步被執(zhí)行—調(diào)試排錯(cuò)(debug)
2.4.1 debug一詞的由來
2.4.2 設(shè)置斷點(diǎn)
2.4.3 調(diào)試運(yùn)行
2.5 小結(jié)
2.6 上機(jī)實(shí)踐
第3章 分解HelloWorld—最簡(jiǎn)單C程序的組成
3.1 C程序概貌
3.2 為何有必要在代碼里留下程序員的解釋—注釋
3.3 從哪里開始,到哪里結(jié)束—main函數(shù)
3.4 如何在屏幕上顯示文字—函數(shù)調(diào)用
3.5 編譯器如何認(rèn)識(shí)printf函數(shù)—#include預(yù)處理器指示符
3.5.1 函數(shù)聲明及其作用
3.5.2 試驗(yàn)尋找#include的作用
3.5.3 #include的作用
3.6 計(jì)算1+1—有些小作為的程序
3.7 數(shù)據(jù)從哪里來,又到哪里去—變量
3.7.1 變量在內(nèi)存中的表現(xiàn)形式
3.7.2 編譯器使用變量符號(hào)表
3.7.3 變量及其使用
3.8 自己設(shè)計(jì)C函數(shù)
3.8.1 在main函數(shù)中計(jì)算3個(gè)整數(shù)的平均數(shù)
3.8.2 在main函數(shù)中分3次計(jì)算3個(gè)整數(shù)的平均數(shù)
3.8.3 自編函數(shù)實(shí)現(xiàn)計(jì)算3個(gè)整數(shù)的平均數(shù)
3.8.4 如何自編寫函數(shù)
3.8.5 試驗(yàn)觀察總結(jié)函數(shù)聲明和函數(shù)定義的意義
3.9 語句構(gòu)成程序
3.10 向好程序員看齊—代碼風(fēng)格
3.11 小結(jié)
3.12 上機(jī)實(shí)踐
第4章 如何存儲(chǔ)和獲取數(shù)據(jù)—變量及數(shù)據(jù)類型
4.1 二進(jìn)制、八進(jìn)制、十六進(jìn)制
4.2 計(jì)算機(jī)中如何表示數(shù)據(jù)—字節(jié)和位
4.3 內(nèi)存是存儲(chǔ)數(shù)據(jù)的“房間”—認(rèn)識(shí)計(jì)算機(jī)內(nèi)存
4.4 數(shù)據(jù)類型
4.4.1 整數(shù)類型
4.4.2 整數(shù)的正負(fù)—有符號(hào)和無符號(hào)
4.4.3 實(shí)數(shù)類型
4.4.4 字符類型
4.4.5 數(shù)據(jù)類型總結(jié)
4.5 常量
4.5.1 直接常量(字面常量)和符號(hào)常量
4.5.2 符號(hào)常量的優(yōu)點(diǎn)
4.5.3 字面常量的書寫格式
4.5.4 轉(zhuǎn)義字符
4.5.5 字符串
4.6 變量
4.6.1 變量的聲明
4.6.2 變量聲明的意義
4.6.3 標(biāo)識(shí)符和關(guān)鍵字
4.6.4 變量在內(nèi)存中占據(jù)的空間和變量的值
4.6.5 變量賦初值
4.7 幾個(gè)與變量相關(guān)的經(jīng)典算法
4.7.1 累加和累乘
4.7.2 交換兩個(gè)變量的值
4.8 小結(jié)
4.9 上機(jī)實(shí)踐
第5章 用屏幕和鍵盤交互—簡(jiǎn)單的輸出和輸入
5.1 輸入—處理—輸出:這就是程序
5.2 向屏幕輸出—printf函數(shù)詳解
5.2.1 printf函數(shù)的一般形式
5.2.2 格式字符串的一般形式
5.2.3 %d—十進(jìn)制形式輸出帶符號(hào)整數(shù)
5.2.4 %最小寬度d格式符
5.2.5 %ld格式符—以長(zhǎng)整型方式輸出
5.2.6 %o格式符—以八進(jìn)制形式輸出整數(shù)
5.2.7 %x格式符—以十六進(jìn)制的形式輸出整數(shù)
5.2.8 %u格式符—以十進(jìn)制形式輸出unsigned型數(shù)據(jù)
5.2.9 %c格式符
5.2.10 %s格式符—輸出字符串
5.2.11 %f格式符—輸出實(shí)型數(shù)據(jù)
5.2.12 %e格式符—以指數(shù)形式輸出實(shí)數(shù)
5.2.13 %g格式符—自動(dòng)選擇%f或者%e形式輸出
5.2.14 printf函數(shù)小結(jié)
5.3 字符輸出putchar和字符串輸出puts
5.3.1 putchar函數(shù)(字符輸出函數(shù))
5.3.2 puts函數(shù)(字符串輸出函數(shù))
5.4 接收鍵盤輸入—scanf函數(shù)詳解
5.4.1 一般形式
5.4.2 scanf函數(shù)的工作原理
5.4.3 多數(shù)據(jù)輸入分隔規(guī)則
5.4.4 格式字符
5.4.5 scanf使用方法說明
5.4.6 使用scanf函數(shù)的注意事項(xiàng)
5.5 字符輸入函數(shù)getchar
5.6 輸入輸出程序舉例
5.7 小結(jié)
5.8 上機(jī)實(shí)踐
第6章 程序的基本構(gòu)成—運(yùn)算符和表達(dá)式
6.1 認(rèn)識(shí)C中的運(yùn)算符和表達(dá)式
6.1.1 認(rèn)識(shí)運(yùn)算符和表達(dá)式
6.1.2 操作數(shù)、運(yùn)算符和表達(dá)式
6.1.3 C運(yùn)算符簡(jiǎn)介
6.2 算術(shù)運(yùn)算符和算術(shù)表達(dá)式
6.2.1 基本的算術(shù)運(yùn)算符
6.2.2 ++自增、--自減運(yùn)算符
6.2.3 算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)及結(jié)合性
6.3 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式
6.3.1 逗號(hào)表達(dá)式的一般形式
6.3.2 逗號(hào)表達(dá)式的優(yōu)先級(jí)和結(jié)合性
6.4 關(guān)系運(yùn)算符和關(guān)系表達(dá)式
6.4.1 關(guān)系運(yùn)算符的種類
6.4.2 關(guān)系表達(dá)式的一般形式
6.5 邏輯運(yùn)算符和邏輯表達(dá)式
6.5.1 邏輯運(yùn)算符
6.5.2 邏輯真值表
6.6 賦值運(yùn)算符和賦值表達(dá)式
6.6.1 賦值表達(dá)式
6.6.2 復(fù)合賦值運(yùn)算符
6.6.3 類型轉(zhuǎn)換
6.6.4 左值與程序?qū)嶓w
6.7 強(qiáng)制類型轉(zhuǎn)換和自動(dòng)類型轉(zhuǎn)換
6.7.1 強(qiáng)制類型轉(zhuǎn)換
6.7.2 自動(dòng)類型轉(zhuǎn)換
6.7.3 函數(shù)調(diào)用時(shí)的轉(zhuǎn)換
6.8 運(yùn)算符的優(yōu)先級(jí)
6.8.1 優(yōu)先級(jí)、結(jié)合性匯總
6.8.2 短路表達(dá)式
6.8.3 sizeof運(yùn)算符與sizeof表達(dá)式
6.9 小結(jié)
6.10 上機(jī)實(shí)踐
第7章 程序的最小獨(dú)立單元—語句
7.1 5種語句類型
7.1.1 表達(dá)式語句
7.1.2 函數(shù)調(diào)用語句
7.1.3 空語句
7.1.4 復(fù)合語句(塊語句)
7.1.5 流程控制語句
7.2 結(jié)構(gòu)化程序設(shè)計(jì)
7.2.1 什么是算法
7.2.2 算法的表示
7.2.3 算法的偽代碼表示
7.2.4 算法的流程圖表示
7.2.5 3種控制結(jié)構(gòu)
7.2.6 算法示例
7.3 小結(jié)
7.4 上機(jī)實(shí)踐
第8章 條件判斷—分支結(jié)構(gòu)
8.1 簡(jiǎn)單的條件判斷—if語句
8.1.1 判斷表達(dá)式
8.1.2 花括號(hào)和if結(jié)構(gòu)體
8.2 兩條岔路的選擇—if else結(jié)構(gòu)
8.2.1 關(guān)鍵在else
8.2.2 if else結(jié)構(gòu)體
8.3 多分支語句和分支語句嵌套
8.3.1 多分支
8.3.2 多分支if結(jié)構(gòu)
8.3.3 分支語句嵌套
8.4 開關(guān)語句—switch結(jié)構(gòu)
8.4.1 一般形式
8.4.2 為什么叫開關(guān)語句
8.4.3 default語句
8.4.4 if結(jié)構(gòu)和switch結(jié)構(gòu)之比較
8.5 小結(jié)
8.6 上機(jī)實(shí)踐
第9章 一遍又一遍—循環(huán)結(jié)構(gòu)
9.1 構(gòu)造循環(huán)
9.1.1 循環(huán)的條件
9.1.2 當(dāng)型循環(huán)和直到型循環(huán)
9.2 簡(jiǎn)潔循環(huán)語句—while和do while結(jié)構(gòu)
9.2.1 語法規(guī)則
9.2.2 代碼塊
9.3 最常用的循環(huán)語句—for結(jié)構(gòu)
9.3.1 基本形式
9.3.2 表達(dá)式省略
9.3.3 循環(huán)終止和步長(zhǎng)
9.4 循環(huán)嵌套
9.4.1 嵌套示例
9.4.2 嵌套的效率
9.5 與循環(huán)密切相關(guān)的流程轉(zhuǎn)向控制語句
9.5.1 跳出循環(huán)—break
9.5.2 重來一次—continue
9.5.3 隨心所欲—goto
9.6 小結(jié)
9.7 上機(jī)實(shí)踐