注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)C/C++及其相關(guān)C語(yǔ)言開發(fā)手冊(cè)(典藏版)

C語(yǔ)言開發(fā)手冊(cè)(典藏版)

C語(yǔ)言開發(fā)手冊(cè)(典藏版)

定 價(jià):¥99.00

作 者: 薛園園 等編著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: VC++

ISBN: 9787121121203 出版時(shí)間: 2011-04-01 包裝: 精裝
開本: 16開 頁(yè)數(shù): 794 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  毋庸置疑,C語(yǔ)言從產(chǎn)生到現(xiàn)在的各個(gè)階段,都是最重要和最流行的編程語(yǔ)言之一。熟悉和掌握C語(yǔ)言程序設(shè)計(jì),已經(jīng)成為程序員的一門必修課。本書言簡(jiǎn)意賅、通俗易懂,知識(shí)點(diǎn)覆蓋全面,詳細(xì)介紹了C語(yǔ)言的程序設(shè)計(jì)及最新的C語(yǔ)言編程技術(shù)?!禖語(yǔ)言開發(fā)手冊(cè)(典藏版)》分4篇,共29章,分別介紹了C語(yǔ)言基礎(chǔ)、C語(yǔ)言進(jìn)階、C語(yǔ)言的接口技術(shù)和現(xiàn)代C語(yǔ)言的擴(kuò)展。首先,介紹了C語(yǔ)言及其開發(fā)環(huán)境,并全面介紹了C語(yǔ)言的基本語(yǔ)法知識(shí);接著,詳細(xì)講解了C語(yǔ)言的一些高級(jí)程序應(yīng)用;然后,介紹了C語(yǔ)言與其他主流編程語(yǔ)言的接口;最后,講解了現(xiàn)代C語(yǔ)言的一些擴(kuò)展應(yīng)用和高級(jí)技術(shù)。《C語(yǔ)言開發(fā)手冊(cè)(典藏版)》結(jié)構(gòu)安排緊湊、講解詳細(xì)、實(shí)例豐富。C語(yǔ)言程序設(shè)計(jì)的初學(xué)者通過(guò)本書可以快速掌握C語(yǔ)言程序設(shè)計(jì)方法。讀者對(duì)象:本書對(duì)現(xiàn)代C語(yǔ)言程序的接口和高級(jí)技術(shù)進(jìn)行了全面講解,對(duì)具有一定開發(fā)經(jīng)驗(yàn)的設(shè)計(jì)人員也有非常好的參考價(jià)值。本書可以作為C語(yǔ)言初學(xué)者的入門教材,也可作為C語(yǔ)言程序員的參考手冊(cè),還可作為大中專院校學(xué)生及電腦培訓(xùn)班的參考書。

作者簡(jiǎn)介

  薛園園北京科技大學(xué)雙學(xué)士。對(duì)C語(yǔ)言有深入的研究,長(zhǎng)期從事單片機(jī)設(shè)計(jì)與開發(fā),在單片機(jī)程序開發(fā)、Protel電路制版等方面積累了豐富經(jīng)驗(yàn)。曾經(jīng)編寫并出版《USB應(yīng)用開發(fā)技術(shù)大全》等多部專著。

圖書目錄

第1篇 C語(yǔ)言基礎(chǔ)篇
第1章 C語(yǔ)言概述
C語(yǔ)言是現(xiàn)代應(yīng)用最為廣泛的編程語(yǔ)言,深受廣大程序員的喜愛。本章將簡(jiǎn)要介紹C語(yǔ)言的產(chǎn)生發(fā)展、C語(yǔ)言的特點(diǎn)、標(biāo)準(zhǔn)及C語(yǔ)言流程等內(nèi)容。并通過(guò)一個(gè)完整的例子演示C程序開發(fā)過(guò)程中的項(xiàng)目創(chuàng)建、源代碼編寫、編譯及調(diào)試的全過(guò)程。同時(shí),將分析C語(yǔ)言程序構(gòu)成特點(diǎn)。
1.1 C語(yǔ)言發(fā)展歷史
1.2 C語(yǔ)言的特點(diǎn)
1.2.1 C語(yǔ)言的基本特點(diǎn)
1.2.2 C語(yǔ)言的優(yōu)點(diǎn)
1.2.3 C語(yǔ)言的缺點(diǎn)
1.3 C語(yǔ)言的標(biāo)準(zhǔn)
1.3.1 C標(biāo)準(zhǔn)概述
1.3.2 C語(yǔ)言的新標(biāo)準(zhǔn)
1.3.3 編譯器對(duì)C標(biāo)準(zhǔn)的支持
1.4 C語(yǔ)言開發(fā)流程
1.4.1 功能分析
1.4.2 劃分任務(wù)
1.4.3 編寫源代碼
1.4.4 編譯和鏈接
1.4.5 修改源代碼
1.4.6 功能測(cè)試
1.4.7 發(fā)布程序
1.4.8 維護(hù)和修改
1.5 第一個(gè)C程序
1.5.1 創(chuàng)建項(xiàng)目
1.5.2 輸入源代碼
1.5.3 編譯鏈接
1.5.4 調(diào)試
1.6 C程序構(gòu)成分析
1.6.1 頭文件
1.6.2 主函數(shù)
1.6.3 其他組成部分
1.7 良好的編程規(guī)范
1.7.1 完備和詳盡的程序注釋
1.7.2 整齊的代碼書寫格式
1.7.3 簡(jiǎn)潔清晰的命名
1.8 C語(yǔ)言在不同領(lǐng)域的擴(kuò)展應(yīng)用
1.8.1 單片機(jī)方面
1.8.2 LabVIEW方面
1.8.3 LabWindows/CVI方面
1.8.4 MATLAB方面
1.8.5 JavaScript方面
1.8.6 并行計(jì)算方面
1.8.7 Linux平臺(tái)
1.9 小結(jié)
第2章 典型的C語(yǔ)言開發(fā)環(huán)境
C語(yǔ)言的成功及大范圍的應(yīng)用也造就了豐富的C語(yǔ)言編譯器。對(duì)于用戶來(lái)說(shuō),學(xué)習(xí)C語(yǔ)言要緊密結(jié)合C編譯器或者C集成開發(fā)環(huán)境來(lái)進(jìn)行。程序員要想快速高效地開發(fā)C程序,必須首先熟悉C語(yǔ)言開發(fā)環(huán)境的使用。本章將介紹幾種主流的C語(yǔ)言開發(fā)環(huán)境。
2.1 C語(yǔ)言開發(fā)環(huán)境簡(jiǎn)介
2.1.1 C語(yǔ)言開發(fā)環(huán)境的構(gòu)成
2.1.2 典型的C語(yǔ)言開發(fā)環(huán)境
2.2 使用Turbo C開發(fā)
2.2.1 Turbo C的開發(fā)環(huán)境簡(jiǎn)介
2.2.2 Turbo C的配置文件
2.2.3 用Turbo C創(chuàng)建C程序
2.2.4 編譯鏈接程序
2.2.5 運(yùn)行程序
2.3 使用Visual Studio開發(fā)
2.3.1 Microsoft Visual C++的開發(fā)環(huán)境簡(jiǎn)介
2.3.2 使用Visual Studio 2008創(chuàng)建C程序
2.3.3 編譯鏈接程序
2.3.4 調(diào)試運(yùn)行程序
2.4 使用Dev-C++開發(fā)
2.4.1 Dev-C++的開發(fā)環(huán)境簡(jiǎn)介
2.4.2 Dev-C++開發(fā)環(huán)境的設(shè)置
2.4.3 使用Dev-C++創(chuàng)建C程序
2.4.4 編譯和運(yùn)行程序
2.4.5 升級(jí)Dev-C++
2.5 使用Code::Blocks開發(fā)
2.5.1 Code::Blocks的開發(fā)環(huán)境簡(jiǎn)介
2.5.2 Code::Blocks開發(fā)環(huán)境的設(shè)置
2.5.3 使用Code::Blocks創(chuàng)建C程序
2.5.4 編譯運(yùn)行程序
2.6 小結(jié)
第3章 C語(yǔ)言數(shù)據(jù)類型
應(yīng)用程序一般在計(jì)算機(jī)的內(nèi)存中運(yùn)行,對(duì)各種數(shù)據(jù)進(jìn)行操作。C語(yǔ)言中的數(shù)據(jù)具有不同的類型,用于不同對(duì)象的表示。數(shù)據(jù)是C語(yǔ)言基本的操作對(duì)象。本章將首先介紹內(nèi)存中程序和數(shù)據(jù)的存儲(chǔ),然后將介紹C語(yǔ)言中各種數(shù)據(jù)類型及其特點(diǎn)。
3.1 數(shù)據(jù)的存儲(chǔ)
3.1.1 內(nèi)存單元
3.1.2 數(shù)據(jù)的存儲(chǔ)
3.1.3 程序在內(nèi)存中的映射
3.2 數(shù)據(jù)類型簡(jiǎn)介
3.2.1 基本類型
3.2.2 構(gòu)造類型
3.2.3 指針類型
3.2.4 空類型
3.3 標(biāo)識(shí)符和關(guān)鍵字
3.3.1 標(biāo)識(shí)符
3.3.2 關(guān)鍵字
3.4 分隔符
3.4.1 單分隔符
3.4.2 組合分隔符
3.5 常量
3.5.1 直接常量
3.5.2 符號(hào)常量
3.6 變量
3.6.1 變量聲明
3.6.2 變量初始化
3.7 整型數(shù)據(jù)
3.7.1 整型數(shù)據(jù)的聲明
3.7.2 整型數(shù)據(jù)的存儲(chǔ)
3.7.3 整型常量
3.7.4 整型數(shù)據(jù)的輸入
3.7.5 整型數(shù)據(jù)的輸出
3.8 字符型數(shù)據(jù)
3.8.1 字符型變量的聲明
3.8.2 字符型的存儲(chǔ)
3.8.3 字符型常量
3.8.4 轉(zhuǎn)義字符
3.8.5 字符型數(shù)據(jù)的輸入
3.8.6 字符型數(shù)據(jù)的輸出
3.9 浮點(diǎn)型數(shù)據(jù)
3.9.1 浮點(diǎn)型數(shù)據(jù)的聲明
3.9.2 浮點(diǎn)型數(shù)據(jù)的存儲(chǔ)
3.9.3 浮點(diǎn)型常量
3.9.4 浮點(diǎn)型數(shù)據(jù)的輸入
3.9.5 浮點(diǎn)型數(shù)據(jù)的輸出
3.10 類型轉(zhuǎn)換
3.10.1 混合運(yùn)算中的類型轉(zhuǎn)換
3.10.2 強(qiáng)制類型轉(zhuǎn)換
3.11 C99新增數(shù)據(jù)類型
3.12 小結(jié)
第4章 運(yùn)算符和表達(dá)式
第3章介紹了C語(yǔ)言中的基本數(shù)據(jù)類型,這些是C語(yǔ)言最基本的操作對(duì)象。而在第4章中,讀者將了解到最基本的操作方法,即運(yùn)算符和表達(dá)式。在C語(yǔ)言中,通過(guò)運(yùn)算符將常量、變量等操作對(duì)象組成表達(dá)式,而后,由表達(dá)式進(jìn)一步構(gòu)成C語(yǔ)句??梢哉f(shuō),運(yùn)算符和表達(dá)式是C語(yǔ)言中最基本的操作方法。
4.1 運(yùn)算符
4.1.1 運(yùn)算符概述
4.1.2 算術(shù)運(yùn)算符
4.1.3 賦值運(yùn)算符
4.1.4 關(guān)系運(yùn)算符
4.1.5 邏輯運(yùn)算符
4.1.6 條件運(yùn)算符
4.1.7 位運(yùn)算符
4.1.8 其他運(yùn)算符
4.1.9 運(yùn)算符優(yōu)先級(jí)和結(jié)合性
4.2 表達(dá)式
4.2.1 算術(shù)表達(dá)式
4.2.2 賦值表達(dá)式
4.2.3 逗號(hào)表達(dá)式
4.2.4 關(guān)系和邏輯表達(dá)式
4.3 小結(jié)
第5章 C語(yǔ)句及流程控制結(jié)構(gòu)
第4章介紹了C語(yǔ)言中的運(yùn)算符和表達(dá)式,這些是構(gòu)成C語(yǔ)句的基本單元。C語(yǔ)句,即C語(yǔ)言中的操作命令,用于使計(jì)算機(jī)完成特定的功能。一條完整的語(yǔ)句必須以";"結(jié)束。C語(yǔ)言的源程序是由一系列的語(yǔ)句組成的,這些語(yǔ)句可以完成變量聲明、賦值和控制輸入/輸出等操作。由于計(jì)算機(jī)能識(shí)別的是機(jī)器指令,因此,編譯系統(tǒng)將一條語(yǔ)句轉(zhuǎn)換成若干條機(jī)器指令來(lái)執(zhí)行。C語(yǔ)言中的語(yǔ)句包括說(shuō)明語(yǔ)句、表達(dá)式語(yǔ)句、循環(huán)語(yǔ)句、條件語(yǔ)句、開關(guān)語(yǔ)句、復(fù)合語(yǔ)句、空語(yǔ)句和返回語(yǔ)句等,下面分別進(jìn)行介紹。
5.1 說(shuō)明語(yǔ)句
5.2 表達(dá)式語(yǔ)句
5.3 復(fù)合語(yǔ)句
5.4 循環(huán)語(yǔ)句
5.4.1 while循環(huán)語(yǔ)句
5.4.2 do…while循環(huán)語(yǔ)句
5.4.3 for循環(huán)語(yǔ)句
5.5 條件語(yǔ)句
5.5.1 單分支if條件結(jié)構(gòu)
5.5.2 雙分支if條件結(jié)構(gòu)
5.5.3 階梯式if…else…if條件結(jié)構(gòu)
5.5.4 if條件結(jié)構(gòu)總結(jié)
5.6 開關(guān)語(yǔ)句
5.7 跳轉(zhuǎn)語(yǔ)句
5.7.1 goto跳轉(zhuǎn)語(yǔ)句
5.7.2 break跳轉(zhuǎn)語(yǔ)句
5.7.3 continue跳轉(zhuǎn)語(yǔ)句
5.8 函數(shù)調(diào)用語(yǔ)句
5.9 空語(yǔ)句
5.10 返回語(yǔ)句
5.11 C語(yǔ)言的流程控制結(jié)構(gòu)
5.12 小結(jié)
第6章 格式化輸入/輸出
使用計(jì)算機(jī)程序解決問(wèn)題時(shí),需要由用戶輸入數(shù)據(jù),通過(guò)程序進(jìn)行運(yùn)算后,再輸出結(jié)果。由此過(guò)程可以看到,程序中輸入/輸出占有相當(dāng)重要的地位。在C語(yǔ)言中,所有的數(shù)據(jù)輸入/輸出都是由庫(kù)函數(shù)完成的,因此都是函數(shù)語(yǔ)句。在前面各章的實(shí)例中,曾使用過(guò)printf()函數(shù)和scanf()函數(shù)進(jìn)行數(shù)據(jù)的輸出和輸入。本章將詳細(xì)介紹這兩個(gè)函數(shù)的使用,同時(shí),還將介紹其他一些用于輸入和輸出的函數(shù)。
6.1 格式化輸出函數(shù)printf()
6.1.1 printf()函數(shù)的格式
6.1.2 printf()函數(shù)的格式字符
6.1.3 printf()函數(shù)的修飾符
6.1.4 典型的printf()函數(shù)實(shí)例
6.1.5 動(dòng)態(tài)設(shè)置輸出寬度和精度
6.1.6 printf()函數(shù)的返回值
6.1.7 理解輸出列表
6.1.8 printf格式化輸出函數(shù)綜合實(shí)例
6.2 格式化輸入函數(shù)scanf()
6.2.1 scanf()函數(shù)的格式
6.2.2 scanf()函數(shù)格式字符串
6.2.3 scanf()函數(shù)注意問(wèn)題
6.2.4 scanf()函數(shù)的返回值
6.2.5 格式化輸入函數(shù)scanf()綜合實(shí)例
6.3 其他常用的輸入/輸出函數(shù)
6.3.1 字符讀入函數(shù)getchar()
6.3.2 字符讀入函數(shù)getch()
6.3.3 字符串讀入函數(shù)gets()
6.3.4 字符輸出函數(shù)putch()
6.3.5 字符輸出函數(shù)putchar()
6.3.6 字符串輸出函數(shù)puts()
6.3.7 格式化內(nèi)存緩沖區(qū)輸出函數(shù)sprintf()
6.3.8 格式化內(nèi)存緩沖區(qū)輸入函數(shù)sscanf()
6.4 小結(jié)
第7章 數(shù)組
在前面章節(jié)中介紹了C語(yǔ)言的基本數(shù)據(jù)類型,包括整型、字符型和實(shí)型。以這些基本數(shù)據(jù)類型為基礎(chǔ),C語(yǔ)言還提供幾種構(gòu)造數(shù)據(jù)類型。構(gòu)造類型數(shù)據(jù)是由基本類型數(shù)據(jù)按一定規(guī)則組成的,數(shù)組就是其中一種構(gòu)造數(shù)據(jù)類型。在程序中用循環(huán)結(jié)構(gòu)可以很方便地處理數(shù)組。本章將詳細(xì)介紹C語(yǔ)言中數(shù)組的使用。
7.1 了解數(shù)組
7.1.1 使用數(shù)組的好處
7.1.2 數(shù)組的概念
7.1.3 數(shù)組的維數(shù)
7.2 一維數(shù)組
7.2.1 一維數(shù)組的聲明
7.2.2 一維數(shù)組的存儲(chǔ)
7.2.3 一維數(shù)組的引用
7.2.4 向函數(shù)傳遞一維數(shù)組
7.2.5 一維數(shù)組的初始化
7.3 二維數(shù)組
7.3.1 二維數(shù)組的聲明
7.3.2 二維數(shù)組的存儲(chǔ)
7.3.3 二維數(shù)組的引用
7.3.4 二維數(shù)組的初始化
7.4 字符數(shù)組和字符串
7.4.1 一維字符串?dāng)?shù)組
7.4.2 了解字符串
7.4.3 字符串的操作函數(shù)
7.4.4 字符串的輸入輸出
7.4.5 二維字符串?dāng)?shù)組
7.5 多維數(shù)組
7.6 數(shù)組的基本應(yīng)用
7.6.1 反轉(zhuǎn)字符串
7.6.2 查找最大值
7.6.3 數(shù)據(jù)排序
7.7 小結(jié)
第8章 函數(shù)
使用C語(yǔ)言編程,就肯定會(huì)使用到函數(shù)。C語(yǔ)言允許用戶使用一些編譯環(huán)境自帶的庫(kù)函數(shù),例如使用printf()函數(shù)輸出變量的值,使用scanf()函數(shù)接收用戶的輸入等。合理使用庫(kù)函數(shù)可以大大簡(jiǎn)化程序設(shè)計(jì)過(guò)程。同時(shí),為了有利于程序的模塊化,促進(jìn)程序資源的共享。C語(yǔ)言也支持用戶使用自定義函數(shù)。本章將詳細(xì)介紹函數(shù)的概念、調(diào)用、作用域等相關(guān)知識(shí)。
8.1 函數(shù)的概念
8.1.1 什么是函數(shù)
8.1.2 函數(shù)的分類
8.1.3 函數(shù)的定義
8.1.4 main()函數(shù)
8.2 函數(shù)的工作過(guò)程
8.2.1 程序結(jié)構(gòu)
8.2.2 函數(shù)執(zhí)行過(guò)程
8.3 編寫函數(shù)
8.3.1 函數(shù)頭
8.3.2 返回類型
8.3.3 參數(shù)列表
8.3.4 函數(shù)體
8.3.5 函數(shù)原型
8.4 函數(shù)的參數(shù)
8.4.1 形參和實(shí)參
8.4.2 參數(shù)傳遞過(guò)程
8.4.3 值調(diào)用
8.4.4 引用調(diào)用
8.4.5 數(shù)組作為函數(shù)參數(shù)
8.4.6 指針作為函數(shù)參數(shù)
8.4.7 main()函數(shù)的參數(shù)
8.5 函數(shù)調(diào)用
8.5.1 函數(shù)調(diào)用方式
8.5.2 被調(diào)函數(shù)的說(shuō)明
8.5.3 函數(shù)的返回值
8.6 幾種典型的函數(shù)調(diào)用形式
8.6.1 賦值調(diào)用與引用調(diào)用
8.6.2 嵌套調(diào)用
8.6.3 遞歸調(diào)用
8.7 函數(shù)及其變量的作用域
8.7.1 函數(shù)的作用域
8.7.2 函數(shù)的變量作用域
8.8 小結(jié)
第9章 指針
指針是C語(yǔ)言中廣泛使用的一種數(shù)據(jù)類型。利用指針可以操作各種基本的數(shù)據(jù)類型,以及數(shù)組等復(fù)合數(shù)據(jù)結(jié)構(gòu),甚至使用指針還可以訪問(wèn)函數(shù)。正確理解和使用指針對(duì)于成功進(jìn)行C語(yǔ)言程序設(shè)計(jì)是至關(guān)重要的。
指針是C語(yǔ)言最顯著的特征,同時(shí)又是C語(yǔ)言最危險(xiǎn)的特征。例如,在使用指針的程序中,常常因?yàn)橛缅e(cuò)指針導(dǎo)致程序出錯(cuò),而這類錯(cuò)誤卻很難發(fā)現(xiàn)。更嚴(yán)重的是,對(duì)未初始化的指針進(jìn)行操作可能會(huì)導(dǎo)致系統(tǒng)崩潰。
9.1 內(nèi)存和變量
9.1.1 計(jì)算機(jī)內(nèi)存
9.1.2 變量的存儲(chǔ)
9.2 指針和簡(jiǎn)單變量
9.2.1 指針的概念
9.2.2 創(chuàng)建指針
9.2.3 初始化指針變量
9.2.4 指針變量的引用
9.2.5 給函數(shù)傳遞指針
9.3 指針變量的賦值
9.3.1 初始化賦值
9.3.2 取地址賦值
9.3.3 指針之間賦值
9.3.4 數(shù)組賦值
9.3.5 字符串賦值
9.3.6 函數(shù)入口賦值
9.4 指針和數(shù)組的關(guān)系
9.4.1 指針、數(shù)組和地址間的關(guān)系
9.4.2 指針變量的運(yùn)算
9.4.3 用指針操作數(shù)組元素
9.5 指向多維數(shù)組的指針
9.5.1 理解二維數(shù)組的地址
9.5.2 多維數(shù)組的指針表示
9.5.3 指向多維數(shù)組的指針變量
9.5.4 數(shù)組名作為函數(shù)的參數(shù)
9.5.5 指向數(shù)組的指針小結(jié)
9.6 指針和字符串
9.6.1 字符串的指針表示
9.6.2 字符串指針作函數(shù)參數(shù)
9.6.3 字符數(shù)組和字符指針的區(qū)別
9.7 指針數(shù)組
9.7.1 指針數(shù)組的概念
9.7.2 用指針數(shù)組處理字符串
9.7.3 指針數(shù)組作函數(shù)參數(shù)
9.8 指向指針的指針
9.8.1 理解指向指針的指針
9.8.2 二級(jí)指針變量與數(shù)組
9.9 指針和函數(shù)
9.9.1 返回指針的函數(shù)
9.9.2 指向函數(shù)的指針
9.10 指針和const變量
9.10.1 用const控制指針
9.10.2 const的幾種特殊用法
9.11 指針總結(jié)
9.11.1 明確分辨各種指針類型
9.11.2 正確理解指針
9.12 小結(jié)
第10章 結(jié)構(gòu)
在實(shí)際的程序設(shè)計(jì)中,經(jīng)常需要處理具有不同數(shù)據(jù)類型的一組數(shù)據(jù)。例如,在學(xué)生成績(jī)統(tǒng)計(jì)表中,應(yīng)該包含如下幾項(xiàng):姓名(字符型)、學(xué)號(hào)(整型或字符型)、年齡(整型)、性別(字符型)和成績(jī)(整型或浮點(diǎn)型)。由于數(shù)組中各元素的類型和長(zhǎng)度都必須一致,因此不能用一個(gè)數(shù)組存放這一組數(shù)據(jù)。在這種情況下,C語(yǔ)言中可以使用"結(jié)構(gòu)",這是一種構(gòu)造數(shù)據(jù)類型,相當(dāng)于其他高級(jí)語(yǔ)言中的記錄類型。
10.1 結(jié)構(gòu)的定義
10.2 結(jié)構(gòu)變量的定義
10.2.1 先定義結(jié)構(gòu),再定義結(jié)構(gòu)變量
10.2.2 在定義結(jié)構(gòu)的同時(shí),定義結(jié)構(gòu)變量
10.2.3 直接說(shuō)明結(jié)構(gòu)變量
10.3 結(jié)構(gòu)變量的使用
10.4 結(jié)構(gòu)變量的初始化
10.5 結(jié)構(gòu)數(shù)組
10.5.1 結(jié)構(gòu)數(shù)組的定義和引用
10.5.2 結(jié)構(gòu)數(shù)組的初始化
10.5.3 結(jié)構(gòu)數(shù)組實(shí)例
10.6 結(jié)構(gòu)指針
10.6.1 定義結(jié)構(gòu)指針
10.6.2 結(jié)構(gòu)指針的引用
10.6.3 用指針處理結(jié)構(gòu)數(shù)組
10.7 嵌套結(jié)構(gòu)
10.7.1 包含數(shù)組的結(jié)構(gòu)
10.7.2 包含指針的結(jié)構(gòu)
10.7.3 包含結(jié)構(gòu)的結(jié)構(gòu)
10.8 向函數(shù)傳遞結(jié)構(gòu)
10.8.1 傳遞結(jié)構(gòu)變量的值
10.8.2 傳遞結(jié)構(gòu)指針到函數(shù)
10.9 小結(jié)
第11章 聯(lián)合、枚舉和位域
在C語(yǔ)言中,除了數(shù)組和指針外,還定義了聯(lián)合和枚舉兩種聚合數(shù)據(jù)類型,并且可以進(jìn)行類型說(shuō)明和定義位域,這些是特殊形式的數(shù)據(jù)類型。下面分別進(jìn)行講解。
11.1 聯(lián)合
11.1.1 定義聯(lián)合類型
11.1.2 定義聯(lián)合變量
11.1.3 聯(lián)合變量成員的引用
11.1.4 聯(lián)合變量數(shù)組
11.1.5 聯(lián)合變量指針
11.1.6 在結(jié)構(gòu)中嵌套聯(lián)合類型
11.1.7 結(jié)構(gòu)和聯(lián)合的區(qū)別
11.2 枚舉
11.2.1 定義枚舉類型
11.2.2 定義枚舉變量
11.2.3 枚舉類型變量的賦值
11.3 類型說(shuō)明
11.4 二進(jìn)制數(shù)據(jù)存儲(chǔ)
11.4.1 數(shù)據(jù)的存儲(chǔ)
11.4.2 不同數(shù)據(jù)類型的二進(jìn)制表示
11.5 位運(yùn)算
11.5.1 位邏輯運(yùn)算符
11.5.2 移位運(yùn)算符
11.5.3 位運(yùn)算的復(fù)合賦值運(yùn)算符
11.5.4 位運(yùn)算的用途
11.6 位域
11.6.1 定義位域結(jié)構(gòu)
11.6.2 位域變量的聲明
11.6.3 位域的使用
11.6.4 位域與聯(lián)合的使用
11.7 小結(jié)
第12章 預(yù)處理
C語(yǔ)言的程序中可包括各種以符號(hào)#開頭的編譯指令,這些指令稱為預(yù)處理命令。預(yù)處理命令屬于C語(yǔ)言編譯器,而不是C語(yǔ)言的組成部分。通過(guò)預(yù)處理命令可擴(kuò)展C語(yǔ)言程序設(shè)計(jì)的環(huán)境。
預(yù)處理命令通常在程序編譯時(shí)進(jìn)行一些符號(hào)處理,其并不執(zhí)行具體的硬件操作。C語(yǔ)言中的預(yù)處理命令主要有宏定義指令、文件包含指令和條件編譯指令,還有其他一些調(diào)試時(shí)使用的指令。本章將介紹預(yù)處理程序各命令的使用方法。
12.1 預(yù)處理簡(jiǎn)介
12.1.1 預(yù)處理功能
12.1.2 預(yù)處理命令
12.2 宏定義命令
12.2.1 無(wú)參數(shù)的宏定義
12.2.2 帶參數(shù)的宏定義
12.2.3 #undef命令
12.2.4 預(yù)處理操作符#和##
12.3 文件包含指令
12.4 條件編譯指令
12.4.1 #if、#else、#endif命令
12.4.2 #elif命令
12.4.3 #ifdef、#ifndef命令
12.4.4 使用#defined和#undef
12.5 其他預(yù)處理命令
12.5.1 預(yù)定義的宏名
12.5.2 重置行號(hào)和文件名命令#line
12.5.3 修改編譯器設(shè)置命令#pragma
12.5.4 產(chǎn)生錯(cuò)誤信息命令#error
12.6 內(nèi)聯(lián)函數(shù)
12.7 小結(jié)
第13章 存儲(chǔ)管理
在大多數(shù)情況下,存儲(chǔ)管理都是操作系統(tǒng)的功能。一般的程序設(shè)計(jì)語(yǔ)言不提供對(duì)內(nèi)存的管理。而C語(yǔ)言提供了管理內(nèi)存的相關(guān)函數(shù),可實(shí)現(xiàn)內(nèi)存的動(dòng)態(tài)存儲(chǔ)管理。這是C語(yǔ)言功能強(qiáng)大的一個(gè)表現(xiàn),本章將介紹C語(yǔ)言的內(nèi)存組織方式和動(dòng)態(tài)存儲(chǔ)管理。
13.1 內(nèi)存組織方式
13.1.1 內(nèi)存組織方式
13.1.2 堆和棧的比較
13.2 C語(yǔ)言的動(dòng)態(tài)存儲(chǔ)管理
13.3 分配內(nèi)存函數(shù)--malloc()
13.4 帶初始化的分配內(nèi)存函數(shù)--calloc()
13.5 調(diào)整已分配內(nèi)存函數(shù)--realloc()
13.6 釋放分配的內(nèi)存函數(shù)--free()
13.7 丟失的內(nèi)存
13.8 小結(jié)
第2篇 C語(yǔ)言進(jìn)階篇
第14章 字符及字符串操作
在實(shí)際的程序設(shè)計(jì)中,經(jīng)常需要處理文本數(shù)據(jù)。在C語(yǔ)言中,文本數(shù)據(jù)按字符串格式保存。對(duì)于字符串,前面已經(jīng)介紹過(guò)如何用字符數(shù)組保存字符串、用字符指針指向一個(gè)字符串常量、字符串的輸入與輸出函數(shù)等。
在C語(yǔ)言的庫(kù)函數(shù)中提供了豐富的處理字符及字符串的函數(shù),本章將介紹這些函數(shù)的用法。
14.1 字符的操作
14.1.1 檢查英文字母函數(shù)
14.1.2 檢查字母數(shù)字函數(shù)
14.1.3 檢查控制字符函數(shù)
14.1.4 十進(jìn)制數(shù)字檢查函數(shù)
14.1.5 可打印字符檢查函數(shù)
14.1.6 包含空格的可打印字符檢查函數(shù)
14.1.7 格式字符檢查函數(shù)
14.1.8 小寫英文字母檢查函數(shù)
14.1.9 大寫英文字母檢查函數(shù)
14.1.10 控制字符檢查函數(shù)
14.1.11 十六進(jìn)制數(shù)字檢查函數(shù)
14.1.12 大寫字符轉(zhuǎn)換函數(shù)
14.1.13 小寫字符轉(zhuǎn)換函數(shù)
14.1.14 ASCII字符轉(zhuǎn)換函數(shù)
14.1.15 大寫字符宏轉(zhuǎn)換函數(shù)
14.1.16 小寫字符宏轉(zhuǎn)換函數(shù)
14.2 字符串的存儲(chǔ)
14.2.1 字符串的靜態(tài)存儲(chǔ)
14.2.2 字符串的動(dòng)態(tài)存儲(chǔ)
14.3 字符串的操作
14.4 檢測(cè)字符串長(zhǎng)度函數(shù)
14.5 查找字符串
14.5.1 查找字符位置函數(shù)--strchr()
14.5.2 查找相同字符函數(shù)--strspn()
14.5.3 查找包含字符位置函數(shù)--strcspn()
14.5.4 查找包含字符函數(shù)--strpbrk()
14.5.5 查找子串函數(shù)--strstr()
14.5.6 字符查找函數(shù)--memchr()
14.5.7 字符包含函數(shù)--strrchr()
14.6 比較字符串
14.6.1 比較字符串函數(shù)--strcmp()
14.6.2 比較部分字符串函數(shù)--memcmp()
14.6.3 比較時(shí)忽略大小寫函數(shù)--stricmp()
14.6.4 包含結(jié)束符的比較函數(shù)--strncmp()
14.7 連接字符串
14.7.1 連接字符串函數(shù)--strcat()
14.7.2 連接部分字符函數(shù)--strncat()
14.8 復(fù)制字符串
14.8.1 復(fù)制字符串函數(shù)--strcpy()
14.8.2 復(fù)制部分字符函數(shù)--strncpy()
14.8.3 更省事的復(fù)制函數(shù)--strdup()
14.8.4 字符串復(fù)制函數(shù)--memcpy()
14.8.5 帶終止字符的復(fù)制函數(shù)--memccpy()
14.8.6 字符串移動(dòng)函數(shù)--memmove()
14.9 字符和字符串的轉(zhuǎn)換
14.9.1 大小寫字符的轉(zhuǎn)換
14.9.2 轉(zhuǎn)換大小寫字符串
14.9.3 字符串與數(shù)值的轉(zhuǎn)換
14.10 其他字符串函數(shù)
14.10.1 字符串反轉(zhuǎn)函數(shù)--strrev()
14.10.2 替換字符串中的字符函數(shù)--strset()
14.10.3 分解字符串函數(shù)--strtok()
14.10.4 字符串填充函數(shù)--memset()
14.11 小結(jié)
第15章 文件操作
在前面各章的實(shí)例程序中,每次執(zhí)行程序時(shí),需要用戶從鍵盤上輸入數(shù)據(jù),并將程序運(yùn)行結(jié)果輸出到屏幕上。在實(shí)際的應(yīng)用中,可能需要將計(jì)算機(jī)的處理結(jié)果打印輸出或保存到一個(gè)文件中,以供其他用戶查看。當(dāng)程序需要處理大量數(shù)據(jù)時(shí),可能還需要從一個(gè)文件中讀取這些數(shù)據(jù)。C語(yǔ)言提供了豐富的文件操作函數(shù)。本章將介紹操作文件的常用函數(shù)。
15.1 文件與數(shù)據(jù)流
15.1.1 程序的輸入/輸出概念
15.1.2 流的概念
15.1.3 預(yù)定義的流
15.1.4 文件的基本概念
15.1.5 緩沖文件系統(tǒng)
15.2 文件的打開與關(guān)閉
15.2.1 文件指針
15.2.2 打開文件函數(shù)--fopen()
15.2.3 關(guān)閉文件函數(shù)--fclose()
15.3 從文件中讀寫字符
15.3.1 寫字符函數(shù)--putc()和fputc()
15.3.2 讀字符函數(shù)--getc()和fgetc()
15.3.3 合并文件
15.4 從文件中讀寫字符串
15.4.1 寫字符串函數(shù)--fputs()
15.4.2 讀字符串函數(shù)--fgets()
15.4.3 文件格式輸出函數(shù)--fprintf()
15.4.4 文件格式輸入函數(shù)--fscanf()
15.5 二進(jìn)制文件的讀寫
15.5.1 寫入整型數(shù)據(jù)函數(shù)--putw()
15.5.2 讀取整型數(shù)據(jù)函數(shù)--getw()
15.5.3 寫數(shù)據(jù)塊函數(shù)--fwrite()
15.5.4 讀數(shù)據(jù)塊函數(shù)--fread()
15.5.5 文件檢測(cè)函數(shù)
15.6 文件的隨機(jī)讀寫
15.6.1 獲取當(dāng)前位置函數(shù)--ftell()
15.6.2 重置文件位置指針函數(shù)--rewind()
15.6.3 設(shè)置文件位置指針--fseek()函數(shù)
15.7 管理緩沖區(qū)
15.8 輸入/輸出的重定向
15.8.1 操作系統(tǒng)的重定向功能
15.8.2 重定向輸出
15.8.3 重定向函數(shù)--freopen()
15.9 文件管理
15.9.1 重命名文件
15.9.2 刪除文件
15.9.3 復(fù)制文件
15.9.4 創(chuàng)建臨時(shí)文件
15.10 小結(jié)
第16章 典型庫(kù)函數(shù)應(yīng)用
前面曾經(jīng)介紹過(guò)C語(yǔ)言中的字符及字符串處理函數(shù)。在實(shí)際應(yīng)用中,其實(shí)還有很多其他方面的應(yīng)用。例如數(shù)學(xué)運(yùn)算或繪圖程序中需要用到大量的數(shù)學(xué)函數(shù),而另一些程序中可能需要處理日期和時(shí)間類的數(shù)據(jù)等。在C語(yǔ)言中,還提供了一些庫(kù)函數(shù)用于數(shù)學(xué)和時(shí)間處理等。本章將介紹C語(yǔ)言程序設(shè)計(jì)中,這些典型的庫(kù)函數(shù)應(yīng)用。
16.1 隨機(jī)函數(shù)
16.1.1 偽隨機(jī)函數(shù)--rand()
16.1.2 隨機(jī)種子函數(shù)--srand()
16.1.3 更加合理的隨機(jī)數(shù)產(chǎn)生方法
16.1.4 獲取任意范圍的隨機(jī)數(shù)
16.1.5 獲取隨機(jī)字符
16.2 數(shù)學(xué)函數(shù)
16.2.1 絕對(duì)值函數(shù)
16.2.2 三角函數(shù)
16.2.3 雙曲三角函數(shù)
16.2.4 指數(shù)函數(shù)和對(duì)數(shù)函數(shù)
16.2.5 取整函數(shù)
16.2.6 浮點(diǎn)型分離函數(shù)
16.2.7 冪函數(shù)
16.2.8 取余函數(shù)
16.2.9 C99中擴(kuò)展的數(shù)學(xué)函數(shù)
16.3 日期時(shí)間函數(shù)
16.3.1 表示日期時(shí)間的數(shù)據(jù)結(jié)構(gòu)
16.3.2 獲取日期時(shí)間
16.3.3 轉(zhuǎn)換日期時(shí)間的表示形式
16.3.4 格式化日期時(shí)間
16.4 小結(jié)
第17章 模塊化程序設(shè)計(jì)方法
C語(yǔ)言提供支持模塊化軟件開發(fā)的功能,如C語(yǔ)言的程序整體由一個(gè)或多個(gè)函數(shù)組成,每個(gè)函數(shù)都具有各自獨(dú)立的功能。這些函數(shù)還可分布在不同的源文件中,在需要時(shí)包含到C主程序中即可。C語(yǔ)言還允許通過(guò)使用不同存儲(chǔ)類別的變量,控制模塊內(nèi)部及外部的信息交換。
本章首先簡(jiǎn)單介紹模塊化設(shè)計(jì)的概念,接著介紹C程序模塊的結(jié)構(gòu),最后詳細(xì)介紹C語(yǔ)言中不同存儲(chǔ)類別變量的使用。
17.1 模塊化程序設(shè)計(jì)概念
17.2 程序模塊結(jié)構(gòu)
17.2.1 C程序的組織
17.2.2 多文件模塊的編譯鏈接
17.2.3 文件包含
17.2.4 內(nèi)部函數(shù)與外部函數(shù)
17.3 變量的作用域
17.3.1 局部變量
17.3.2 在復(fù)合語(yǔ)句中的變量
17.3.3 全局變量
17.3.4 全局變量和局部變量同名
17.4 變量的存儲(chǔ)類型
17.4.1 了解存儲(chǔ)類型
17.4.2 自動(dòng)變量
17.4.3 寄存器變量
17.4.4 外部變量
17.4.5 靜態(tài)變量
17.5 函數(shù)、文件、變量的關(guān)系
17.6 小結(jié)
第18章 典型算法應(yīng)用
算法是對(duì)特定問(wèn)題求解步驟的描述。對(duì)于同一個(gè)問(wèn)題,可能用不同算法來(lái)求解,程序員可根據(jù)算法的可讀性、效率等進(jìn)行取舍。針對(duì)不同的數(shù)據(jù)保存方式,也會(huì)有不同的算法。本章將重點(diǎn)介紹C語(yǔ)言程序設(shè)計(jì)中的常用算法,也會(huì)穿插著簡(jiǎn)單介紹常用數(shù)據(jù)和數(shù)據(jù)結(jié)構(gòu)的內(nèi)容。
18.1 排序
18.1.1 排序概述
18.1.2 冒泡排序法
18.1.3 選擇排序法
18.1.4 插入排序法
18.1.5 shell排序法
18.1.6 快速排序法
18.1.7 字符串?dāng)?shù)組的排序
18.1.8 字符串的排序
18.2 查找
18.2.1 順序查找
18.2.2 折半查找
18.3 隊(duì)列
18.3.1 隊(duì)列的概念
18.3.2 隊(duì)列的操作
18.4 堆棧
18.4.1 堆棧的概念
18.4.2 堆棧的實(shí)現(xiàn)
18.5 鏈表
18.5.1 鏈表的概念
18.5.2 鏈表的基本操作
18.5.3 測(cè)試鏈表的功能
18.6 小結(jié)
第19章 圖形繪制
到目前為止,本書所有的操作都是針對(duì)文本模式進(jìn)行的。從本章開始將帶領(lǐng)讀者進(jìn)入一個(gè)新的模式--圖形模式,主要介紹圖形顯示的相關(guān)技術(shù),包括各種圖形的繪制及圖形的編輯。本章介紹的是DOS界面下的圖形編譯,將使用DJGPP開發(fā)環(huán)境編寫相關(guān)程序。
19.1 顯示系統(tǒng)簡(jiǎn)介
19.1.1 顯示系統(tǒng)基本概念
19.1.2 顯示卡種類
19.1.3 顯示模式
19.2 DJGPP開發(fā)環(huán)境
19.2.1 下載DJGPP開發(fā)環(huán)境
19.2.2 安裝DJGPP開發(fā)環(huán)境
19.2.3 測(cè)試DJGPP開發(fā)環(huán)境
19.2.4 調(diào)用中斷服務(wù)
19.3 繪圖基礎(chǔ)
19.3.1 設(shè)置顯示模式
19.3.2 控制顯示緩沖區(qū)
19.4 圖形函數(shù)
19.4.1 繪制點(diǎn)
19.4.2 讀取點(diǎn)的信息
19.4.3 繪制直線
19.4.4 繪制矩形
19.4.5 繪制圓
19.4.6 繪制多邊形
19.5 編輯圖形
19.5.1 復(fù)制圖形
19.5.2 移動(dòng)圖形
19.5.3 保存圖形
19.5.4 載入圖形
19.6 小結(jié)
第20章 鼠標(biāo)控制
在前面的程序設(shè)計(jì)中,需要進(jìn)行人機(jī)交互的時(shí)候都是采用鍵盤輸入的。除鍵盤之外,鼠標(biāo)是計(jì)算機(jī)中用得最多的輸入設(shè)置。特別是Windows操作系統(tǒng)的普及,使鼠標(biāo)成為了計(jì)算機(jī)一個(gè)必備的輸入設(shè)備。本章將介紹在C語(yǔ)言中控制鼠標(biāo)的方法。
20.1 鼠標(biāo)驅(qū)動(dòng)程序
20.1.1 通過(guò)中斷訪問(wèn)鼠標(biāo)驅(qū)動(dòng)程序
20.1.2 DJGPP開發(fā)環(huán)境對(duì)中斷的支持
20.2 鼠標(biāo)庫(kù)函數(shù)
20.2.1 定義頭文件mouse.h
20.2.2 通過(guò)中斷控制鼠標(biāo)
20.2.3 初始化鼠標(biāo)
20.2.4 復(fù)位鼠標(biāo)
20.2.5 移動(dòng)鼠標(biāo)
20.2.6 顯示鼠標(biāo)指針
20.2.7 隱藏鼠標(biāo)指針
20.2.8 獲取按下的按鍵信息
20.2.9 獲取釋放的按鍵信息
20.2.10 獲取鼠標(biāo)狀態(tài)信息
20.2.11 獲取鼠標(biāo)指針位置信息
20.2.12 保存鼠標(biāo)指針位置
20.2.13 捕獲鍵盤或鼠標(biāo)
20.2.14 鼠標(biāo)指針區(qū)域
20.3 鼠標(biāo)應(yīng)用實(shí)例
20.3.1 了解屏幕函數(shù)
20.3.2 實(shí)例程序
20.4 小結(jié)
第3篇 C語(yǔ)言接口篇
第21章 C語(yǔ)言與匯編的接口
C語(yǔ)言的強(qiáng)大在于其和現(xiàn)代很多主流的編程語(yǔ)言都可以進(jìn)行嵌套編程,各種編程語(yǔ)言都提供了和C語(yǔ)言的接口。從本章開始,將介紹目前主流的編程語(yǔ)言與C語(yǔ)言的接口方式及程序設(shè)計(jì)。
21.1 AT&T匯編簡(jiǎn)介
21.1.1 了解匯編的兩種格式
21.1.2 將C語(yǔ)言輸出為匯編程序
21.2 GCC內(nèi)嵌匯編
21.2.1 基本內(nèi)聯(lián)匯編
21.2.2 擴(kuò)展內(nèi)聯(lián)匯編
21.2.3 內(nèi)聯(lián)匯編實(shí)例
21.3 調(diào)用匯編程序
21.3.1 C編譯程序的調(diào)用約定
21.3.2 C語(yǔ)言調(diào)用匯編的結(jié)構(gòu)
21.3.3 建立匯編函數(shù)的框架
21.3.4 調(diào)用匯編函數(shù)
21.4 在Visual C++中調(diào)用匯編
21.4.1 內(nèi)聯(lián)匯編關(guān)鍵字
21.4.2 在__asm塊中使用匯編語(yǔ)言
21.4.3 在__asm塊中使用C/C++語(yǔ)言元素
21.4.4 寄存器的使用
21.4.5 跳轉(zhuǎn)
21.4.6 內(nèi)聯(lián)匯編調(diào)用函數(shù)實(shí)例
21.4.7 內(nèi)聯(lián)匯編的優(yōu)缺點(diǎn)
21.5 小結(jié)
第22章 C語(yǔ)言與LabVIEW的接口
虛擬儀器軟件設(shè)計(jì)是目前比較流行的程序設(shè)計(jì)方法,其以圖形化語(yǔ)言LabVIEW為主。通過(guò)LabVIEW可以方便、快捷地創(chuàng)建各種控制及數(shù)據(jù)采集系統(tǒng)。但在遇到LabVIEW不易實(shí)現(xiàn)的功能時(shí),可通過(guò)在LabVIEW中調(diào)用C實(shí)現(xiàn)。本章介紹在LabVIEW中調(diào)用C的方法和配置CIN節(jié)點(diǎn)的原則,并通過(guò)例子詳細(xì)說(shuō)明實(shí)現(xiàn)LabVIEW和C混合編程的過(guò)程。
22.1 LabVIEW概述
22.1.1 虛擬儀器概述
22.1.2 虛擬儀器與傳統(tǒng)儀器的對(duì)比
22.1.3 虛擬儀器的優(yōu)勢(shì)
22.1.4 什么是LabVIEW
22.1.5 LabVIEW的運(yùn)行機(jī)制
22.2 CIN節(jié)點(diǎn)
22.2.1 CIN概述
22.2.2 支持在LabVIEW中調(diào)用的CIN的編譯器
22.2.3 CIN節(jié)點(diǎn)說(shuō)明
22.3 CIN節(jié)點(diǎn)的設(shè)計(jì)方法
22.3.1 創(chuàng)建CIN節(jié)點(diǎn)的基本方法
22.3.2 創(chuàng)建CIN節(jié)點(diǎn)
22.3.3 創(chuàng)建.c源文件
22.3.4 編譯.c文件
22.3.5 加載.lsb文件
22.4 CIN節(jié)點(diǎn)的多線程運(yùn)行
22.5 小結(jié)
第23章 C語(yǔ)言與MATLAB的接口
MATLAB作為世界頂尖的數(shù)學(xué)應(yīng)用軟件,以其強(qiáng)大的工程計(jì)算、算法研究、工程繪圖、應(yīng)用程序開發(fā)、數(shù)據(jù)分析和動(dòng)態(tài)仿真等功能,在各個(gè)領(lǐng)域發(fā)揮著越來(lái)越重要的作用。雖然MATLAB是一個(gè)完整的、功能齊全的編程環(huán)境,但在某些情況下,與外部環(huán)境的數(shù)據(jù)和程序的交互是非常必須而且有益的。而C語(yǔ)言是目前應(yīng)用最廣的編程語(yǔ)言,其功能豐富,使用靈活方便,目標(biāo)程序效率高,既有高級(jí)語(yǔ)言的優(yōu)點(diǎn),又有低級(jí)語(yǔ)言的特點(diǎn)。本章將介紹C語(yǔ)言與MATLAB的接口。
23.1 MATLAB簡(jiǎn)介
23.1.1 MATLAB簡(jiǎn)介
23.1.2 MATLAB的版本演化
23.1.3 MATLAB的優(yōu)勢(shì)
23.1.4 MATLAB常用工具箱
23.1.5 C語(yǔ)言與MATLAB的接口
23.2 MATLAB引擎
23.2.1 MATLAB引擎簡(jiǎn)介
23.2.2 MATLAB引擎的工作方式
23.2.3 配置Visual C++編譯器
23.2.4 MATLAB引擎API詳解
23.2.5 數(shù)據(jù)類型mxArray的操作
23.2.6 MATLAB引擎實(shí)例
23.3 COM組件
23.3.1 使用deploytool
23.3.2 使用comtool
23.4 MEX文件
23.4.1 MATLAB編譯器簡(jiǎn)介
23.4.2 MATLAB編譯器的安裝與配置
23.4.3 C語(yǔ)言的MEX文件的結(jié)構(gòu)
23.4.4 C語(yǔ)言的MEX文件實(shí)例
23.4.5 MEX文件的優(yōu)勢(shì)
23.4.6 常用的mex函數(shù)和mx函數(shù)
23.4.7 C-MEX文件字符串操作實(shí)例
23.5 使用Matcom
23.6 小結(jié)
第24章 C語(yǔ)言與JavaScript的接口
JavaScript(簡(jiǎn)稱JS)在瀏覽器中的應(yīng)用幾乎是盡人皆知的。實(shí)際上,JavaScript技術(shù)也可以使用在非瀏覽器應(yīng)用程序當(dāng)中,從而讓應(yīng)用程序具有自動(dòng)的腳本功能。本章將介紹一種功能非常強(qiáng)大的JavaScript-C引擎,通過(guò)其可以使C程序能夠解釋執(zhí)行JavaScript腳本。
24.1 JavaScript簡(jiǎn)介
24.1.1 什么是JavaScript
24.1.2 JavaScript基本特點(diǎn)
24.1.3 正確認(rèn)識(shí)JavaScript
24.1.4 JavaScript的基本概念
24.1.5 JavaScript的運(yùn)行環(huán)境
24.2 JavaScript-C引擎
24.2.1 JavaScript-C引擎的由來(lái)
24.2.2 獲取JavaScript-C引擎
24.2.3 JavaScript-C引擎支持的版本
24.2.4 運(yùn)行JavaScript-C引擎的條件
24.2.5 JavaScript-C引擎與應(yīng)用程序的關(guān)系
24.3 JavaScript-C引擎開發(fā)
24.3.1 嵌入JavaScript-C引擎的必要條件
24.3.2 管理一個(gè)運(yùn)行時(shí)
24.3.3 管理上下文
24.3.4 初始化內(nèi)置的和全局的JavaScript對(duì)象
24.3.5 創(chuàng)建和初始化自定義對(duì)象
24.3.6 JavaScript類型的處理
24.4 在C/C++中執(zhí)行JavaScript程序
24.4.1 創(chuàng)建 JavaScript 運(yùn)行時(shí)環(huán)境
24.4.2 創(chuàng)建一個(gè)上下文
24.4.3 初始化全局對(duì)象
24.4.4 執(zhí)行腳本
24.4.5 清理腳本引擎
24.5 JavaScript-C引擎的編譯
24.6 JavaScript-C引擎實(shí)例
24.6.1 建立項(xiàng)目
24.6.2 C源文件
24.7 小結(jié)
第25章 C語(yǔ)言硬件端口操作
C語(yǔ)言既有高級(jí)語(yǔ)言的特點(diǎn),又有低級(jí)語(yǔ)言的特點(diǎn),這主要體現(xiàn)在C語(yǔ)言可以對(duì)硬件端口進(jìn)行操作。在Turbo C中可以直接對(duì)并行接口進(jìn)行操作,在其他開發(fā)環(huán)境中可以通過(guò)嵌入?yún)R編語(yǔ)言或者使用相應(yīng)的庫(kù)文件實(shí)現(xiàn)并行接口操作。本章以計(jì)算機(jī)并行接口的操作為例,向讀者展示C語(yǔ)言的硬件端口操作能力。
25.1 并行端口簡(jiǎn)介
25.1.1 認(rèn)識(shí)計(jì)算機(jī)并口
25.1.2 并口的引腳定義
25.1.3 并口的工作模式
25.1.4 并口寄存器定義
25.1.5 并口開發(fā)調(diào)試工具包
25.2 Turbo C下的并口操作
25.2.1 端口操作函數(shù)
25.2.2 并口讀寫實(shí)例
25.3 其他C語(yǔ)言環(huán)境下的并口操作
25.3.1 端口開發(fā)庫(kù)函數(shù)
25.3.2 并口讀寫實(shí)例
25.4 小結(jié)
第4篇 C語(yǔ)言擴(kuò)展篇
第26章 Linux下的C語(yǔ)言開發(fā)
Linux操作系統(tǒng)在服務(wù)器領(lǐng)域的應(yīng)用和普及已經(jīng)有較長(zhǎng)的歷史,這源于它的開源特點(diǎn)及其超越Windows的安全性和穩(wěn)定性。Linux的大部分代碼都是用C語(yǔ)言開發(fā)的,在Linux操作系統(tǒng)中進(jìn)行程序開發(fā)時(shí)首選程序設(shè)計(jì)語(yǔ)言為C語(yǔ)言。本章將簡(jiǎn)單介紹Linux,以及在Linux中使用C語(yǔ)言編寫程序的方法。
26.1 Linux簡(jiǎn)介
26.2 Linux常用命令詳解
26.2.1 文件管理
26.2.2 文件傳輸
26.2.3 文檔編輯
26.2.4 系統(tǒng)管理
26.2.5 系統(tǒng)設(shè)置
26.2.6 網(wǎng)絡(luò)通信
26.2.7 磁盤管理
26.2.8 磁盤維護(hù)
26.2.9 備份壓縮
26.2.10 設(shè)備管理
26.3 Linux C語(yǔ)言開發(fā)環(huán)境
26.3.1 Linux C開發(fā)環(huán)境的構(gòu)成
26.3.2 代碼編輯器
26.3.3 GCC編譯器
26.4 Linux下的C程序開發(fā)
26.4.1 在emacs中編譯C程序
26.4.2 在Linux中編寫C程序
26.5 小結(jié)
第27章 單片機(jī)的C語(yǔ)言開發(fā)
C語(yǔ)言是目前最為流行的編程語(yǔ)言,它的成功也延續(xù)到了其他領(lǐng)域。單片機(jī)便是一個(gè)重要的例子。在傳統(tǒng)的單片機(jī)程序設(shè)計(jì)中,一般采用匯編語(yǔ)言實(shí)現(xiàn)。而后來(lái),單片機(jī)的開發(fā)全面借鑒了C語(yǔ)言,從而進(jìn)入了C語(yǔ)言開發(fā)單片機(jī)的時(shí)代。本章將介紹單片機(jī)的C語(yǔ)言開發(fā)及其與標(biāo)準(zhǔn)C語(yǔ)言的一些區(qū)別。
27.1 單片機(jī)簡(jiǎn)介
27.1.1 單片機(jī)的發(fā)展
27.1.2 51系列單片機(jī)
27.1.3 認(rèn)識(shí)單片機(jī)
27.1.4 單片機(jī)的結(jié)構(gòu)
27.1.5 單片機(jī)的應(yīng)用領(lǐng)域
27.2 單片機(jī)C語(yǔ)言簡(jiǎn)介
27.2.1 單片機(jī)C語(yǔ)言和匯編語(yǔ)言的對(duì)比
27.2.2 單片機(jī)C語(yǔ)言的特點(diǎn)
27.3 單片機(jī)C語(yǔ)言的開發(fā)工具
27.3.1 Keil μVision3簡(jiǎn)介
27.3.2 Keil μVision3的系統(tǒng)需求
27.3.3 Keil μVision3集成開發(fā)環(huán)境
27.4 單片機(jī)C語(yǔ)言開發(fā)實(shí)例
27.4.1 創(chuàng)建項(xiàng)目
27.4.2 創(chuàng)建源文件
27.4.3 編譯項(xiàng)目
27.4.4 仿真調(diào)試
27.5 單片機(jī)C語(yǔ)言與標(biāo)準(zhǔn)C語(yǔ)言的區(qū)別
27.5.1 標(biāo)識(shí)符
27.5.2 關(guān)鍵字
27.5.3 數(shù)據(jù)類型
27.5.4 中斷函數(shù)
27.5.5 存儲(chǔ)類型
27.5.6 擴(kuò)展數(shù)據(jù)類型
27.5.7 存儲(chǔ)模式
27.5.8 指針
27.5.9 遞歸或可重入函數(shù)指定
27.6 小結(jié)
第28章 嵌入式系統(tǒng)C語(yǔ)言開發(fā)
嵌入式系統(tǒng)(Embeded System)是目前最為流行的一門技術(shù)。嵌入式系統(tǒng)不僅和一般的PC機(jī)上的應(yīng)用系統(tǒng)不同,就是針對(duì)不同的具體應(yīng)用而設(shè)計(jì)的嵌入式系統(tǒng)之間差別也很大。這就導(dǎo)致嵌入式系統(tǒng)的開發(fā)與PC機(jī)不同。目前使用最多的便是基于Linux的嵌入式系統(tǒng)。本章將介紹嵌入式Linux系統(tǒng)下的C語(yǔ)言開發(fā)工具和開發(fā)流程。
28.1 嵌入式系統(tǒng)簡(jiǎn)介
28.1.1 什么是嵌入式系統(tǒng)
28.1.2 嵌入式系統(tǒng)的基本結(jié)構(gòu)
28.1.3 嵌入式系統(tǒng)的特點(diǎn)
28.1.4 嵌入式系統(tǒng)中的處理器
28.1.5 嵌入式操作系統(tǒng)
28.1.6 嵌入式系統(tǒng)中的軟件系統(tǒng)
28.2 嵌入式Linux C語(yǔ)言開發(fā)工具
28.2.1 編輯器VIM
28.2.2 編譯器GCC
28.2.3 GCC的常用編譯選項(xiàng)
28.2.4 調(diào)試器GDB
28.2.5 工程管理 MAKE
28.3 集成開發(fā)環(huán)境Eclipse
28.3.1 Eclipse的安裝
28.3.2 Eclipse的界面簡(jiǎn)介
28.3.3 創(chuàng)建Hello項(xiàng)目
28.3.4 調(diào)試Hello項(xiàng)目
28.4 嵌入式C語(yǔ)言開發(fā)流程
28.4.1 命令行下的開發(fā)流程
28.4.2 基于Eclipse的開發(fā)流程
28.5 小結(jié)
第29章 基于C語(yǔ)言的高性能并行GPU編程
普通的C語(yǔ)言程序運(yùn)行在CPU上,都是順序執(zhí)行的語(yǔ)句。目前,并行計(jì)算是高性能計(jì)算的一個(gè)方面。如何將C語(yǔ)言的簡(jiǎn)單易學(xué)、功能強(qiáng)大的特點(diǎn)與并行計(jì)算結(jié)合起來(lái)是一個(gè)研究方向?,F(xiàn)在,普通用戶可以通過(guò)顯卡GPU運(yùn)行C程序?qū)崿F(xiàn)并行計(jì)算,提供程序的計(jì)算性能。本章將介紹如何使用C語(yǔ)言和NVIDIA的GPU進(jìn)行并行編程。
29.1 GPU概述
29.1.1 GPU和CPU
29.1.2 GPU的作用
29.1.3 GPU的優(yōu)勢(shì)
29.1.4 GPU的供應(yīng)商
29.1.5 GPU的開發(fā)環(huán)境
29.2 基于C語(yǔ)言的CUDA
29.2.1 什么是CUDA
29.2.2 CUDA的發(fā)展歷史
29.2.3 CUDA基本構(gòu)架
29.2.4 CUDA編程模型
29.2.5 CUDA硬件實(shí)現(xiàn)
29.3 CUDA應(yīng)用程序編程接口(API)
29.3.1 CUDA編程接口的構(gòu)成
29.3.2 CUDA對(duì)C語(yǔ)言的擴(kuò)展
29.3.3 NVCC編譯
29.3.4 公共運(yùn)行時(shí)(Runtime)組件
29.3.5 設(shè)備運(yùn)行時(shí)組件
29.3.6 主機(jī)運(yùn)行時(shí)組件
29.3.7 CUDA運(yùn)行時(shí)API詳解
29.3.8 CUDA驅(qū)動(dòng)程序API詳解
29.4 在Visual Studio中使用CUDA
29.4.1 安裝CUDA
29.4.2 配置CUDA NVCC
29.4.3 使用第三方工具配置CUDA NVCC
29.5 CUDA并行編程實(shí)例
29.5.1 初始化CUDA實(shí)例
29.5.2 GPU運(yùn)算實(shí)例
29.6 小結(jié)

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)