C語言跨平臺編程

程萬里、程虓

  • 出版商: 清華大學
  • 出版日期: 2024-05-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • ISBN: 730266031X
  • ISBN-13: 9787302660316
  • 相關分類: C 程式語言
  • 下單後立即進貨 (約4週~6週)

  • C語言跨平臺編程-preview-1
  • C語言跨平臺編程-preview-2
  • C語言跨平臺編程-preview-3
C語言跨平臺編程-preview-1

相關主題

商品描述

本書圍繞C語言程序設計學習的核心,結合編者多年在實際工作中總結的經驗,對C語言跨平臺編程進行了多方位的拓展講解,包括C語言的產生和發展歷史、C語言標準的演進與區別、操作系統字符編碼規範、C語言集成開發環境與編譯程序對跨平臺開發的影響、預處理程序對C語言跨平臺編程的影響、不同字節序對C語言編程的影響、C語言跨平臺文本文件讀寫等內容,這些拓展內容不但在工作中有巨大的實用價值,而且有助於讀者更深入、更細致地學習和理解C語言的精髓。在講解了C語言程序設計的基礎知識後,本書最後兩章結合操作系統進程管理和線程管理的內容,講解了實際工作中應用較多、需求強烈的跨平臺多線程編程、網絡通信編程的內容,希望對廣大讀者的工作、實踐和學習有所裨益。為了方便讀者查閱技術資料,本書還在附錄中收錄了常用的C語言標準庫函數、GCC常用預定義宏、常用POSIX多線程庫函數、常用Winsock函數等。 本書在C語言的歷史文化背景和發展演進的講解方面做了一些嘗試,旨在讓讀者脫離枯燥刻板的強行記憶。用蘋果公司的macOS、微軟公司的Windows、開源的Linux這些差別巨大的平臺下的C語言跨平臺編程技術來吸引學習C語言程序設計者的關註,讓 讀者在學習C語言程序設計時就瞭解並逐步掌握不同平臺下的跨平臺編程經驗,給讀者搭建一個更寬廣、更實用、視野更好的激發創造力的舞臺。 本書可供高等院校非電腦專業學生初步學習C語言程序設計時使用,也可供高等院校電腦專業師生、軟件程序員、跨平臺軟件編程愛好者研習和參考時使用。

目錄大綱

目錄

程序源碼

第1章緒論

1.1電腦系統

1.2程序設計語言基礎

1.2.1機器語言

1.2.2匯編語言

1.2.3高級語言

1.3UNIX系統與C語言簡介

1.4C語言的標準

1.5C語言程序結構

1.6C語言程序發展過程

第2章集成開發環境

2.1跨平臺的概念

2.2集成開發環境篩選

2.3軟件下載

2.3.1手工選擇下載

2.3.2系統自選下載

2.4創建Qt賬號

2.5軟件安裝

2.5.1安裝準備

2.5.2在線安裝

2.5.3安裝結果測試

2.6Qt Creator介紹

2.6.1Qt Creator界面組成

2.6.2示例程序開發生命周期

2.6.3Qt Creator環境參數配置

2.7開發工具簡介

2.7.1cpp預處理程序介紹

2.7.2gcc編譯程序介紹

2.7.3clang編譯程序介紹

2.7.4qmake及項目文件(*.pro)介紹

2.7.5CMake及CMakeLists.txt介紹

2.7.6Qt Assistant介紹

2.7.7Qt Designer介紹

2.7.8Qt Linguist介紹

第3章C語言的基本組成

3.1字符集

3.2標識符

3.3關鍵字

3.4用戶標識符

3.5空白字符

3.6分隔符

3.7註釋

3.8頭文件

3.9常量

3.10變量

3.10.1變量的類型

3.10.2數字的進位計數制

3.10.3變量的數據表達範圍

3.10.4變量的作用域

3.10.5變量的存儲類別

3.10.6變量的初始化

3.10.7const限定符

3.10.8volatile限定符

3.10.9restrict限定符

3.11主函數

3.12表達式和運算符

3.12.1表達式

3.12.2運算符

3.13輸入輸出函數

3.13.1scanf輸入函數

3.13.2printf輸出函數

第4章基本運算與類型轉換

4.1基本運算

4.1.1順序運算

4.1.2賦值運算

4.1.3條件運算

4.1.4邏輯運算

4.1.5位運算

4.1.6關系運算

4.1.7算術運算

4.1.8取負運算

4.1.9sizeof運算

4.1.10alignof運算

4.1.11指針運算

4.1.12特殊運算

4.2類型轉換

4.2.1自動類型轉換

4.2.2強制類型轉換

第5章預處理程序

5.1預處理

5.2指示字

5.3宏定義

5.4帶參數的宏定義

5.5#undef指示字

5.6#error與#warning指示字

5.7#include指示字

5.8#include_next指示字

5.9#if、#elif、#else和#endif指示字組

5.10#ifdef、#ifndef、#else和#endif指示字組

5.11#line指示字

5.12#pragma指示字和_Pragma運算符

5.13##連接指示字

5.14指示字使用技巧

5.14.1頭文件包含檢測

5.14.2使用預定義宏的定位信息

5.14.3源代碼安全去除與恢復

第6章流程控制語句

6.1語句綜述

6.2條件語句

6.2.1if條件語句

6.2.2if…else條件語句

6.2.3switch語句

6.3for循環語句

6.4while循環語句

6.5do…while循環語句

6.6goto語句

6.7break語句

6.8continue語句

6.9return語句

第7章函數

7.1函數的結構

7.2標準庫函數

7.3自定義函數

7.3.1聲明一個自定義函數

7.3.2定義一個自定義函數

7.4函數的形參與實參

7.5函數中變量的作用域

7.6復合語句與分程序結構

7.7遞歸函數

7.8可變參數函數

7.9內聯函數

7.10無返回函數

第8章數組

8.1數組的概念

8.2一維數組

8.2.1一維數組初始化

8.2.2一維數組作為函數參數

8.3字符數組與字符串

8.4多維數組

8.4.1多維數組初始化

8.4.2多維數組作為函數參數

第9章結構

9.1結構的概念

9.2結構的嵌套

9.3類型定義typedef

9.4結構變量的初始化

9.5含有位域的結構

9.5.1LittleEndian字節序

9.5.2BigEndian字節序

9.5.3位域成員

9.6結構類型數組

9.7結構與函數參數

9.7.1傳值方式的結構參數

9.7.2傳地址方式的結構參數

9.8函數返回結構類型數據

9.8.1函數返回結構類型

9.8.2函數返回結構類型指針

第10章聯合與枚舉類型

10.1聯合的概念

10.2聯合變量的初始化

10.3聯合與結構的互相嵌套

10.4聯合類型數組

10.5聯合與函數

10.6枚舉的概念

10.7枚舉變量的初始化

第11章指針

11.1內存與地址

11.2指針與地址

11.3指針的類型

11.4指針常見的運算

11.4.1順序運算

11.4.2賦值運算

11.4.3條件運算

11.4.4邏輯運算

11.4.5關系運算

11.4.6算術運算

11.4.7sizeof運算

11.4.8取地址與取指針內容運算

11.4.9指針特殊運算

11.5指針與數組

11.5.1指針與一維數組

11.5.2指針與多維數組

11.6字符串指針與main()

11.7動態內存申請與釋放

11.8指針與結構

11.8.1單鏈表

11.8.2雙鏈表

11.9指針類型的轉換

11.10函數指針及操作

11.11多級指針及操作

第12章文件

12.1文件的概念

12.2打開、關閉文件

12.2.1文本文件

12.2.2二進制文件

12.3緩沖區讀寫文件

12.4字符與字符串形式讀寫文件

12.5文件輔助操作

第13章信號處理

第14章線程

14.1進程的概念

14.2線程的概念

14.3多線程編程

14.3.1初始化線程創建屬性

14.3.2設置線程創建屬性

14.3.3創建線程

14.3.4終止線程

14.3.5線程函數

14.3.6等待線程終止與分離線程

14.3.7互斥鎖

14.3.8條件鎖

第15章網絡通信

15.1網絡基礎知識

15.2TCP/IP基礎

15.3Socket套接字

15.4網絡通信中的跨平臺問題

15.4.1字符編碼問題

15.4.2套接字庫函數問題

15.5TCP通信

15.5.1客戶端

15.5.2服務器端

15.6UDP通信

15.6.1客戶端

15.6.2服務器端

15.7UDP多播通信

15.7.1接收端

15.7.2多播端

15.8UDP廣播通信

15.8.1接收端

15.8.2廣播端

附錄AANSI C(C89)標準庫函數(ANSI X3.159—1989)

附錄BASCII字符碼對照表

附錄CGCC預定義宏

附錄DPOSIX多線程函數

附錄EWindows系統Winsock函數

參考文獻