關(guān)于我們
書(shū)單推薦
新書(shū)推薦
|
零基礎(chǔ)學(xué)C語(yǔ)言(第3版,叢書(shū)暢銷30萬(wàn)冊(cè),全新版隆重上市)
本書(shū)主要內(nèi)容包括數(shù)據(jù)的存儲(chǔ)和獲取、屏幕的輸入與輸出、運(yùn)算符、表達(dá)式、分支語(yǔ)句、循環(huán)語(yǔ)句、函數(shù)、數(shù)組、指針、字符串處理、結(jié)構(gòu)體、共用體、枚舉、位運(yùn)算、文件處理、作用域、預(yù)處理、數(shù)據(jù)結(jié)構(gòu)等知識(shí)點(diǎn)。最后一章通過(guò)一些常見(jiàn)的C語(yǔ)言面試題的解析,為讀者踏入職場(chǎng)提供參考資料。
前言
第一篇 C語(yǔ)言基礎(chǔ) 第1章 踏上征程前的思想動(dòng)員 1.1 為什么選擇C語(yǔ)言 1.2 如何學(xué)好C語(yǔ)言 1.3 語(yǔ)言概述 1.3.1 什么是語(yǔ)言 1.3.2 什么是機(jī)器語(yǔ)言 1.3.3 什么是匯編語(yǔ)言 1.3.4 面向過(guò)程的語(yǔ)言 1.3.5 什么是C語(yǔ)言 1.4 程序的開(kāi)發(fā)周期 1.4.1 編輯C源代碼 前言 第一篇 C語(yǔ)言基礎(chǔ) 第1章 踏上征程前的思想動(dòng)員 1.1 為什么選擇C語(yǔ)言 1.2 如何學(xué)好C語(yǔ)言 1.3 語(yǔ)言概述 1.3.1 什么是語(yǔ)言 1.3.2 什么是機(jī)器語(yǔ)言 1.3.3 什么是匯編語(yǔ)言 1.3.4 面向過(guò)程的語(yǔ)言 1.3.5 什么是C語(yǔ)言 1.4 程序的開(kāi)發(fā)周期 1.4.1 編輯C源代碼 1.4.2 編譯C源代碼 1.4.3 連接目標(biāo)文件 1.4.4 編譯連接過(guò)程示例 1.4.5 運(yùn)行程序 1.5 VC++、C++、C和TC的區(qū)別 1.6 小結(jié) 1.7 習(xí)題 第2章 跟我寫(xiě)Hello World 2.1 了解需求才能創(chuàng)建程序 2.2 認(rèn)識(shí)LCC-Win32開(kāi)發(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 開(kāi)始編輯代碼 2.3 編譯運(yùn)行 2.4 調(diào)試排錯(cuò)(debug) 2.4.1 debug的由來(lái) 2.4.2 設(shè)置斷點(diǎn) 2.4.3 調(diào)試運(yùn)行 2.5 第一個(gè)程序容易出現(xiàn)的錯(cuò)誤 2.5.1 包含命令include 2.5.2 關(guān)鍵字main 2.5.3 表示代碼行結(jié)束的分號(hào) 2.6 小結(jié) 2.7 習(xí)題 第3章 分解Hello World——最簡(jiǎn)單C程序的組成 3.1 C程序的構(gòu)成 3.2 C程序的注釋 3.3 C程序必須有的main函數(shù) 3.4 調(diào)用函數(shù)在屏幕上顯示文字 3.5 #include預(yù)處理器指示符 3.5.1 函數(shù)聲明及其作用 3.5.2 試驗(yàn)尋找#include的作用 3.5.3 #include的作用 3.6 計(jì)算1+1的程序?qū)嵗? 3.7 數(shù)據(jù)從哪里來(lái),又到哪里去——變量 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 如何自編寫(xiě)函數(shù) 3.8.5 試驗(yàn)觀察總結(jié)函數(shù)聲明和函數(shù)定義的意義 3.9 語(yǔ)句構(gòu)成程序 3.10 優(yōu)秀程序員的代碼風(fēng)格 3.11 小結(jié) 3.12 習(xí)題 第4章 常量、變量及數(shù)據(jù)類型 4.1 計(jì)算機(jī)是如何表示數(shù)據(jù)的 4.1.1 二進(jìn)制、八進(jìn)制、十六進(jìn)制 4.1.2 表示數(shù)據(jù)的字節(jié)和位 4.1.3 內(nèi)存是存儲(chǔ)數(shù)據(jù)的房間 4.2 數(shù)據(jù)類型 4.2.1 整數(shù)類型 4.2.2 整數(shù)的有符號(hào)和無(wú)符號(hào) 4.2.3 實(shí)數(shù)類型 4.2.4 字符類型 4.2.5 數(shù)據(jù)類型總結(jié) 4.3 常量 4.3.1 直接常量和符號(hào)常量 4.3.2 符號(hào)常量的優(yōu)點(diǎn) 4.3.3 直接常量的書(shū)寫(xiě)格式 4.3.4 轉(zhuǎn)義字符 4.3.5 字符串 4.4 變量 4.4.1 變量的聲明 4.4.2 變量聲明的意義 4.4.3 標(biāo)識(shí)符和關(guān)鍵字 4.4.4 變量在內(nèi)存中占據(jù)的空間和變量的值 4.4.5 為變量賦初值 4.4.6 變量使用時(shí)常見(jiàn)的錯(cuò)誤 4.5 幾個(gè)與變量相關(guān)的經(jīng)典算法 4.5.1 累加和累乘 4.5.2 交換兩個(gè)變量的值 4.6 小結(jié) 4.7 習(xí)題 第5章 用屏幕和鍵盤交互——簡(jiǎn)單的輸出和輸入 5.1 輸入—處理—輸出:這就是程序 5.2 向屏幕輸出——printf()函數(shù)詳解 5.2.1 printf()函數(shù)的一般形式 5.2.2 printf()函數(shù)的輸出原理 5.2.3 格式控制字符串的一般形式 5.2.4 輸出帶符號(hào)的整數(shù)%d 5.2.5 設(shè)置最小寬度的輸出 5.2.6 長(zhǎng)整型輸出%ld 5.2.7 輸出八進(jìn)制形式 5.2.8 輸出十六進(jìn)制的形式 5.2.9 輸出十進(jìn)制的unsigned型數(shù)據(jù) 5.2.10 輸出字符 5.2.11 輸出字符串%s 5.2.12 輸出實(shí)型數(shù)據(jù)%f 5.2.13 輸出指數(shù)形式的實(shí)數(shù) 5.2.14 自動(dòng)選擇%f或者%e形式輸出%g 5.2.15 printf()函數(shù)的幾點(diǎn)說(shuō)明 5.3 字符輸出putchar()和字符串輸出puts() 5.3.1 字符輸出函數(shù) 5.3.2 字符串輸出函數(shù) 5.4 接收鍵盤輸入——scanf()函數(shù)詳解 5.4.1 scanf()函數(shù)的一般形式 5.4.2 scanf()函數(shù)的輸入原理 5.4.3 多數(shù)據(jù)輸入分隔規(guī)則 5.4.4 控制輸入的格式字符 5.4.5 scanf()函數(shù)的使用說(shuō)明 5.4.6 使用scanf()函數(shù)的注意事項(xiàng) 5.5 字符輸入函數(shù)getchar() 5.6 輸入和輸出程序舉例 5.7 小結(jié) 5.8 習(xí)題 第6章 程序的基本構(gòu)成——運(yùn)算符和表達(dá)式 6.1 認(rèn)識(shí)C中的運(yùn)算符和表達(dá)式 6.1.1 運(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.7 強(qiáng)制類型轉(zhuǎn)換和自動(dòng)類型轉(zhuǎn)換 6.7.1 強(qiáng)制類型轉(zhuǎn)換 6.7.2 自動(dòng)類型轉(zhuǎn)換 6.8 運(yùn)算符的優(yōu)先級(jí) 6.8.1 優(yōu)先級(jí)、結(jié)合性匯總 6.8.2 sizeof運(yùn)算 6.9 取地址運(yùn)算符 6.10 小結(jié) 6.11 習(xí)題 第7章 程序的最小獨(dú)立單元——語(yǔ)句 7.1 5種語(yǔ)句類型 7.1.1 表達(dá)式語(yǔ)句 7.1.2 函數(shù)調(diào)用語(yǔ)句 7.1.3 空語(yǔ)句 7.1.4 復(fù)合語(yǔ)句(塊語(yǔ)句) 7.1.5 流程控制語(yǔ)句 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 習(xí)題 第8章 條件判斷——分支結(jié)構(gòu) 8.1 if語(yǔ)句 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 多分支語(yǔ)句和分支語(yǔ)句嵌套 8.3.1 多分支 8.3.2 多分支if結(jié)構(gòu) 8.3.3 分支語(yǔ)句嵌套 8.4 switch結(jié)構(gòu) 8.4.1 一般形式 8.4.2 為什么叫開(kāi)關(guān)語(yǔ)句 8.4.3 default語(yǔ)句 8.4.4 if結(jié)構(gòu)和switch結(jié)構(gòu)之比較 8.4.5 switch結(jié)構(gòu)的常見(jiàn)錯(cuò)誤與解決方法 8.5 小結(jié) 8.6 習(xí)題 第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 while和do...while循環(huán)結(jié)構(gòu) 9.2.1 語(yǔ)法規(guī)則 9.2.2 代碼塊 9.2.3 while語(yǔ)句的常見(jiàn)錯(cuò)誤 9.2.4 do...while語(yǔ)句的常見(jiàn)錯(cuò)誤 9.3 for循環(huán)結(jié)構(gòu) 9.3.1 基本形式 9.3.2 表達(dá)式省略 9.3.3 循環(huán)終止和步長(zhǎng) 9.3.4 for語(yǔ)句的常見(jiàn)錯(cuò)誤 9.4 循環(huán)嵌套 9.4.1 嵌套示例 9.4.2 嵌套的效率 9.4.3 循環(huán)嵌套程序的常見(jiàn)錯(cuò)誤 9.5 與循環(huán)密切相關(guān)的流程轉(zhuǎn)向控制語(yǔ)句 9.5.1 用break跳出循環(huán) 9.5.2 用continue重來(lái)一次 9.5.3 用goto實(shí)現(xiàn)跳轉(zhuǎn) 9.6 小結(jié) 9.7 習(xí)題 第二篇 一窺C語(yǔ)言門庭 第10章 同一類型多個(gè)元素的集合——簡(jiǎn)單數(shù)組 10.1 什么是數(shù)組 10.1.1 數(shù)組是一大片連續(xù)內(nèi)存空間 10.1.2 數(shù)組元素的訪問(wèn) 10.2 一維數(shù)組 10.2.1 一維數(shù)組的聲明 10.2.2 一維數(shù)組元素的訪問(wèn) 10.2.3 一維數(shù)組的初始化 10.2.4 不合法的數(shù)組操作 10.3 二維數(shù)組 10.3.1 二維數(shù)組的聲明 10.3.2 二維數(shù)組的初始化 10.3.3 二維數(shù)組應(yīng)用舉例 10.4 更高維的數(shù)組 10.4.1 高維數(shù)組的聲明和元素訪問(wèn) 10.4.2 初始化 10.4.3 多維數(shù)組在內(nèi)存中是如何排列元素的 10.5 小結(jié) 10.6 習(xí)題 第11章 寫(xiě)程序就是寫(xiě)函數(shù)——函數(shù)入門 11.1 什么是函數(shù) 11.1.1 函數(shù)的由來(lái) 11.1.2 C語(yǔ)言中的函數(shù) 11.2 自定義函數(shù) 11.2.1 定義的語(yǔ)法 11.2.2 函數(shù)定義范例 11.2.3 不要重復(fù)定義 11.3 函數(shù)調(diào)用與返回 11.3.1 形參和實(shí)參 11.3.2 傳址調(diào)用 11.3.3 函數(shù)返回 11.4 告訴編譯器有這么一個(gè)函數(shù) 11.4.1 函數(shù)聲明的語(yǔ)法 11.4.2 聲明不同于定義 11.4.3 標(biāo)準(zhǔn)庫(kù)函數(shù)的聲明 11.5 函數(shù)的調(diào)用過(guò)程 11.6 小結(jié) 11.7 習(xí)題 第12章 C語(yǔ)言難點(diǎn)——指針初探 12.1 計(jì)算機(jī)中的內(nèi)存 12.1.1 內(nèi)存地址 12.1.2 內(nèi)存中保存的內(nèi)容 12.1.3 地址就是指針 12.2 指針的定義 12.2.1 指針變量的聲明 12.2.2 指針變量的初始化 12.2.3 指針變量的值 12.2.4 取地址操作符& 12.2.5 指針變量占據(jù)一定的內(nèi)存空間 12.2.6 指向指針的指針 12.2.7 指針變量常見(jiàn)的錯(cuò)誤分析與解決 12.3 使用指針 12.3.1 運(yùn)算符* 12.3.2 指針的類型和指針?biāo)赶虻念愋? 12.3.3 同類型指針的賦值 12.3.4 void指針 12.3.5 指針的類型和指針?biāo)赶虻念愋筒煌? 12.4 指針的運(yùn)算 12.4.1 算術(shù)運(yùn)算之“指針+整數(shù)”或“指針-整數(shù)” 12.4.2 指針-指針 12.4.3 指針的大小比較 12.5 指針表達(dá)式與左值 12.5.1 指針與整型 12.5.2 指針與左值 12.5.3 指針與const 12.6 動(dòng)態(tài)內(nèi)存分配 12.6.1 動(dòng)態(tài)分配的好處 12.6.2 malloc與free函數(shù) 12.6.3 calloc與free 12.6.4 free函數(shù)與指針 12.6.5 內(nèi)存泄漏 12.6.6 釋放已經(jīng)釋放了的內(nèi)存會(huì)出問(wèn)題 12.7 小結(jié) 12.8 習(xí)題 第13章 字符串及字符串操作 13.1 C風(fēng)格字符串 13.1.1 C風(fēng)格字符串的聲明 13.1.2 C風(fēng)格字符串在內(nèi)存中的表示 13.2 字符數(shù)組的輸入輸出 13.2.1 字符數(shù)組的聲明 13.2.2 字符數(shù)組可以進(jìn)行整體輸入輸出 13.2.3 使用gets()函數(shù)讀取整行 13.2.4 訪問(wèn)字符數(shù)組中某個(gè)元素 13.2.5 使用puts()函數(shù)實(shí)現(xiàn)字符串的輸出 13.2.6 使用字符數(shù)組的常見(jiàn)問(wèn)題 13.3 字符串處理函數(shù) 13.3.1 理解:數(shù)組名是常指針 13.3.2 strlen()函數(shù)與size_t 13.3.3 字符串復(fù)制函數(shù)strcpy() 13.3.4 字符串比較函數(shù)strcmp() 13.3.5 字符串連接函數(shù)strcat() 13.3.6 全轉(zhuǎn)換為大寫(xiě)形式 13.3.7 鏈?zhǔn)讲僮? 13.4 小結(jié) 13.5 習(xí)題 第14章 結(jié)構(gòu)體、共用體、枚舉和typedef 14.1 結(jié)構(gòu)體 14.1.1 結(jié)構(gòu)體的定義 14.1.2 聲明結(jié)構(gòu)體變量 14.1.3 初始化結(jié)構(gòu)變量 14.1.4 訪問(wèn)結(jié)構(gòu)體成員 14.1.5 結(jié)構(gòu)體定義的位置 14.1.6 結(jié)構(gòu)體變量賦值 14.2 特殊結(jié)構(gòu)體 14.2.1 結(jié)構(gòu)體嵌套 14.2.2 匿名結(jié)構(gòu)體 14.3 共用體 14.3.1 什么是共用體 14.3.2 共用體的定義 14.3.3 聲明共用體變量 14.3.4 共用體變量的初始化 14.3.5 共用體成員訪問(wèn) 14.3.6 共用體賦值 14.4 結(jié)構(gòu)體和共用體的內(nèi)存差異 14.4.1 結(jié)構(gòu)體變量和共用體變量?jī)?nèi)存形式的不同 14.4.2 結(jié)構(gòu)體變量的內(nèi)存大小 14.4.3 字節(jié)對(duì)齊 14.4.4 最寬基本類型 14.4.5 共用體的大小 14.5 枚舉類型 14.5.1 什么是枚舉類型 14.5.2 枚舉類型的定義 14.5.3 聲明枚舉變量 14.5.4 枚舉常量是什么 14.5.5 使用枚舉時(shí)常見(jiàn)的錯(cuò)誤 14.6 給類型取個(gè)別名——typedef 14.6.1 typedef基本用法 14.6.2 #define用法 14.7 小結(jié) 14.8 習(xí)題 第15章 如何節(jié)省內(nèi)存——位運(yùn)算 15.1 什么是位運(yùn)算 15.1.1 開(kāi)燈關(guān)燈 15.1.2 改變狀態(tài) 15.1.3 計(jì)算機(jī)中的數(shù)據(jù)存儲(chǔ)形式 15.2 位邏輯運(yùn)算符 15.2.1 位取反操作 15.2.2 位與運(yùn)算 15.2.3 位或運(yùn)算 15.2.4 位異或 15.2.5 實(shí)例分析 15.3 移位運(yùn)算 15.3.1 基本形式 15.3.2 移位舉例 15.3.3 移位和乘以2 15.4 小結(jié) 15.5 習(xí)題 第三篇 C語(yǔ)言進(jìn)階主題 第16章 存儲(chǔ)不僅僅局限于內(nèi)存——文件 16.1 什么是文件 16.1.1 文件 16.1.2 流 16.1.3 重定向 16.1.4 文件的處理形式——緩沖區(qū)和非緩沖區(qū) 16.1.5 文件的存儲(chǔ)形式——文本形式和二進(jìn)制形式 16.2 C語(yǔ)言如何使用文件 16.2.1 文件型指針 16.2.2 文件操作的步驟 16.3 文件的打開(kāi)與關(guān)閉 16.3.1 用于打開(kāi)文件的fopen()函數(shù) 16.3.2 打開(kāi)是否成功 16.3.3 用于關(guān)閉文件的fclose()函數(shù) 16.4 文件的讀寫(xiě) 16.4.1 讀寫(xiě)的相對(duì)參照 16.4.2 如何判斷文件已經(jīng)結(jié)束 16.4.3 字符讀寫(xiě)函數(shù)fgetc()和fputc() 16.4.4 字符串讀寫(xiě)函數(shù)fgets()和fputs() 16.4.5 塊讀寫(xiě)函數(shù)fread()和fwrite() 16.4.6 格式化文件輸入輸出fprintf()與fscanf() 16.5 文件的定位 16.5.1 移動(dòng)指針到文件開(kāi)頭rewind() 16.5.2 移動(dòng)指針到當(dāng)前位置ftell() 16.5.3 移動(dòng)指針fseek() 16.6 小結(jié) 16.7 習(xí)題 第17章 靈活卻難以理解——指針進(jìn)階 17.1 指針與數(shù)組 17.1.1 數(shù)組名指針 17.1.2 使用數(shù)組名常指針表示數(shù)組元素 17.1.3 指向數(shù)組元素的指針變量 17.1.4 指向數(shù)組的指針變量 17.1.5 指針數(shù)組 17.1.6 指針與數(shù)組的常見(jiàn)問(wèn)題 17.2 指針、結(jié)構(gòu)體和結(jié)構(gòu)體數(shù)組 17.2.1 兩種訪問(wèn)形式 17.2.2 聲明創(chuàng)建一個(gè)結(jié)構(gòu)數(shù)組 17.2.3 結(jié)構(gòu)數(shù)組的初始化 17.2.4 結(jié)構(gòu)數(shù)組的使用 17.2.5 指向結(jié)構(gòu)數(shù)組的指針 17.3 函數(shù)指針 17.3.1 函數(shù)名指針 17.3.2 指向函數(shù)的指針 17.3.3 函數(shù)指針類型 17.3.4 函數(shù)指針作函數(shù)參數(shù) 17.3.5 函數(shù)指針數(shù)組 17.3.6 指向函數(shù)指針的指針 17.4 小結(jié) 17.5 習(xí)題 第18章 更深入的理解——函數(shù)進(jìn)階 18.1 參數(shù)傳遞的副本機(jī)制 18.1.1 傳值調(diào)用的副本 18.1.2 傳址調(diào)用的副本機(jī)制 18.2 函數(shù)返回值的副本機(jī)制 18.2.1 return局部變量為什么合法 18.2.2 返回指針申請(qǐng)動(dòng)態(tài)內(nèi)存 18.2.3 不要返回指向棧內(nèi)存的指針 18.2.4 返回指向只讀存儲(chǔ)區(qū)的指針 18.3 函數(shù)與結(jié)構(gòu)體 18.3.1 結(jié)構(gòu)體變量的傳值和傳址調(diào)用 18.3.2 結(jié)構(gòu)體變量的成員作為函數(shù)參數(shù) 18.3.3 返回結(jié)構(gòu)體的函數(shù) 18.3.4 返回結(jié)構(gòu)體指針的函數(shù) 18.4 函數(shù)與數(shù)組 18.4.1 數(shù)組元素作為函數(shù)參數(shù) 18.4.2 數(shù)組名作為函數(shù)參數(shù) 18.4.3 多維數(shù)組名作為函數(shù)參數(shù) 18.4.4 數(shù)組名作函數(shù)參數(shù)時(shí)的退化 18.5 遞歸 18.5.1 遞歸流程 18.5.2 遞歸兩要素 18.5.3 效率VS可讀性 18.6 帶參數(shù)的主函數(shù) 18.7 小結(jié) 18.8 習(xí)題 第19章 生存期、作用域與可見(jiàn)域 19.1 內(nèi)存分配 19.1.1 內(nèi)存分區(qū) 19.1.2 變量的存儲(chǔ)類別 19.1.3 生存期 19.1.4 作用域與可見(jiàn)域 19.2 auto變量 19.2.1 定義格式 19.2.2 作用域和生存期 19.2.3 auto變量的屏蔽準(zhǔn)則 19.2.4 重復(fù)定義 19.2.5 auto變量的初始化和特點(diǎn) 19.3 register變量 19.3.1 定義格式 19.3.2 使用舉例 19.4 extern變量 19.4.1 全局變量定義 19.4.2 全局變量聲明 19.4.3 可見(jiàn)域 19.4.4 全局變量的屏蔽準(zhǔn)則 19.4.5 全局變量的利與弊 19.5 static變量 19.5.1 定義格式 19.5.2 靜態(tài)局部變量 19.5.3 靜態(tài)全局變量 19.5.4 靜態(tài)局部變量和靜態(tài)全局變量的區(qū)別 19.5.5 extern變量和static變量的初始化 19.6 函數(shù)的作用域與可見(jiàn)域 19.6.1 內(nèi)部函數(shù) 19.6.2 外部函數(shù) 19.7 結(jié)構(gòu)體定義的作用域與可見(jiàn)域 19.7.1 定義位置與可見(jiàn)域 19.7.2 允許重復(fù)定義 19.8 常見(jiàn)的有關(guān)變量存儲(chǔ)的錯(cuò)誤 19.9 小結(jié) 19.10 習(xí)題 第20章 編譯及預(yù)處理 20.1 編譯流程 20.1.1 編輯 20.1.2 預(yù)處理 20.1.3 編譯 20.1.4 連接 20.2 程序錯(cuò)誤 20.2.1 錯(cuò)誤分類 20.2.2 編譯錯(cuò)誤 20.2.3 連接錯(cuò)誤 20.2.4 邏輯錯(cuò)誤 20.2.5 排錯(cuò) 20.3 預(yù)處理命令之宏定義 20.3.1 宏定義 20.3.2 不帶參數(shù)的宏定義 20.3.3 帶參數(shù)的宏定義 20.3.4 #define定義常量與const常量 20.3.5 文件包含 20.3.6 條件編譯 20.3.7 宏函數(shù) 20.4 小結(jié) 20.5 習(xí)題 第21章 數(shù)據(jù)結(jié)構(gòu) 21.1 鏈表 21.1.1 鏈表的結(jié)構(gòu) 21.1.2 創(chuàng)建鏈表并遍歷輸出 21.1.3 鏈表的插入 21.1.4 鏈表結(jié)點(diǎn)的刪除 21.1.5 鏈表的逆置 21.1.6 鏈表的銷毀 21.1.7 鏈表的綜合實(shí)例 21.1.8 循環(huán)鏈表 21.1.9 雙鏈表 21.2 棧和隊(duì)列 21.2.1 棧的定義 21.2.2 棧的分類 21.2.3 棧的操作 21.2.4 函數(shù)與棧 21.2.5 隊(duì)列 21.3 自定義類型 21.4 小結(jié) 21.5 習(xí)題 第四篇 C語(yǔ)言程序設(shè)計(jì)實(shí)例與面試題解析 第22章 C語(yǔ)言程序課程設(shè)計(jì):游戲 22.1 黑白棋 22.1.1 程序功能要求 22.1.2 輸入輸出樣例 22.1.3 程序分析 22.1.4 程序初始化 22.1.5 初始化圖形設(shè)備 22.1.6 繪制棋盤 22.1.7 交替繪制黑白棋 22.1.8 游戲(同時(shí)判斷是否有一方勝利) 22.1.9 小結(jié) 22.2 五子棋 22.2.1 程序功能要求 22.2.2 輸入輸出樣例 22.2.3 程序分析 22.2.4 主函數(shù)程序設(shè)計(jì) 22.2.5 系統(tǒng)初始化 22.2.6 移動(dòng)棋子模塊 22.2.7 程序勝負(fù)判定 22.2.8 小結(jié) 22.3 掃雷游戲 22.3.1 程序功能要求 22.3.2 輸入輸出樣例 22.3.3 程序分析 22.3.4 程序設(shè)計(jì) 22.3.5 初始化圖形設(shè)備 22.3.6 事件處理模塊 22.3.7 游戲處理部分 22.3.8 小結(jié) 22.4 速算24 22.4.1 程序功能要求 22.4.2 輸入輸出樣例 22.4.3 程序分析 22.4.4 程序設(shè)計(jì) 22.4.5 撲克牌處理部分 22.4.6 程序運(yùn)算部分 22.4.7 小結(jié) 第23章 面試題解析 23.1 基礎(chǔ)知識(shí) 23.1.1 指針自增自減有什么不同 23.1.2 什么是遞歸 23.1.3 宏定義與操作符的區(qū)別 23.1.4 引用與值傳遞的區(qū)別 23.1.5 指針和引用有什么區(qū)別 23.1.6 什么是棧 23.1.7 main函數(shù)執(zhí)行前還會(huì)執(zhí)行什么代碼 23.1.8 static有什么用途 23.1.9 定義int **a[3][4], 則變量占用的內(nèi)存空間為多少 23.1.10 什么是預(yù)編譯 23.1.11 int (*s[10])(int)表示什么意義 23.1.12 結(jié)構(gòu)體與共同體有何區(qū)別 23.2 算法和思維邏輯知識(shí) 23.2.1 100美元哪里去了 23.2.2 將16升水平均分給四個(gè)人 23.2.3 算出小王買了幾瓶啤酒、幾瓶飲料 23.2.4 找出不同的蘋果 23.2.5 找出不同的球 23.2.6 猜自己的帽子顏色 23.2.7 3筐水果各是什么 23.2.8 最后剩下的是誰(shuí) 23.2.9 聰明的商人 23.2.10 紅球和白球 23.2.11 烏龜賽跑 23.2.12 投硬幣 附錄 ASCII編碼表
你還可能感興趣
我要評(píng)論
|