C語言本質

陳鵬

  • 出版商: 人民郵電
  • 出版日期: 2026-06-01
  • 定價: $599
  • 售價: $598
  • 語言: 簡體中文
  • 頁數: 353
  • ISBN: 7115658374
  • ISBN-13: 9787115658371
  • 相關分類: C 程式語言
  • 下單後立即進貨 (約4週~6週)

  • C語言本質-preview-1
C語言本質-preview-1

商品描述

本書主要介紹C語言的語法與語義,包括數據類型、變量、控制語句、循環語句、數組、函數、指針等,以及如何使用C語言編寫一些常規程序。同時,本書對函數調用過程、內存管理、程序運行等知識展開介紹,幫助讀者初步掌握計算機體系結構方面的知識,了解在操作系統環境下程序的基本內存布局、大致運行過程等。

本書適合高校計算機相關專業的本科生和職業院校的學生閱讀、學習,也可供對C語言感興趣的讀者參考。

作者簡介

陳鵬

江西南豐縣人,1979年5月出生,北京語言大學信息科學學院副教授。

博士畢業於北京航空航天大學計算機學院,畢業後在中國社會科學院哲學研究所進行博士後研究。主要研究方向是計算機軟件與理論、數理邏輯和信息哲學。

出版《漢語組合範疇語法研究一-於交叉學科的視角》《操作系統本質》《區塊鏈本質》《趣學C語言一-學會如何與計算機溝通》等專著,以及《證明達爾文》《數字方法》等譯著。發表論文20余篇,申請發明專利10余項、軟件著作權10余項。擔任中國邏輯學會常務理事,北京邏輯學會常務理事、副秘書長,中國自然辯證法研究會科學基礎與信息網絡專業委員會副主任委員。2013年入選北京市高等學校青年英才計劃項目。2021年,《操作系統本質》入選北京高校“優質本科教材課件”。

目錄大綱

目 錄

第01章 緒論001

1.1.C語言初識 002

1.2.C語言的發展 003

1.3.C語言的學習 004

習題 005

第02章 C語言程序基礎008

2.1.數據類型與變量 009

2.1.1.字母、數字和特殊符號 009

2.1.2.常量、變量和關鍵字 009

2.1.3.數據類型 011

2.1.4.轉義字符 013

2.1.5.token 014

2.2.輸入/輸出 014

2.2.1.字符數據輸入與輸出 015

2.2.2.格式輸出與輸入 015

2.3.運算符與表達式 019

2.3.1.賦值運算符和賦值表達式 019

2.3.2.逗號運算符和逗號表達式 022

2.3.3.算術運算符和算術表達式 022

2.4.完整的C語言程序 023

本章小結 025

習題 026

第03章 選擇結構程序設計031

3.1.選擇結構和條件判斷 032

3.2.關系運算符和表達式 034

3.3.邏輯運算符和表達式 034

3.4.if語句 037

3.4.1.if語句的3種形式 037

3.4.2.if語句的嵌套 040

3.5.條件運算符和條件表達式 045

3.6.switch語句 048

3.7.計算機中的數 051

3.7.1.類型轉換問題 051

3.7.2.浮點數的比較問題 054

本章小結 057

習題 058

第04章 循環結構程序設計062

4.1.概述 063

4.2.while語句 063

4.3.do-while語句 066

4.4.for語句 068

4.5.break和continue語句 074

本章小結 080

習題 080

第05章 利用數組處理批量數據086

5.1.概述 087

5.2.一維數組 087

5.2.1.一維數組的定義 087

5.2.2.一維數組元素的引用 088

5.2.3.一維數組的初始化 089

5.2.4.內存中的數組元素 090

5.2.5.越界檢查 090

5.3.二維數組 091

5.3.1.二維數組的定義 091

5.3.2.數組元素的引用 092

5.3.3.二維數組的初始化 092

5.3.4.二維數組的內存圖 094

5.4.字符數組 100

5.4.1.字符數組的定義 100

5.4.2.字符數組的初始化 101

5.4.3.字符串和結束標誌 101

5.4.4.字符數組的輸入/輸出 102

5.4.5.字符串處理函數 102

本章小結 110

習題 110

第06章 函數115

6.1.概述 116

6.2.函數定義 118

6.2.1.無參函數與有參函數的定義 118

6.2.2.函數的形參、實參和函數的值 119

6.2.3.函數的聲明與函數原型 122

6.3.函數的調用 124

6.3.1.函數調用的方式 124

6.3.2.函數的嵌套調用 125

6.4.函數調用過程中的棧幀分析 128

6.4.1.棧 129

6.4.2.棧幀 130

6.4.3.函數調用過程分析 131

6.5.數組作函數參數 132

6.6.函數的遞歸調用 136

6.7.局部變量和全局變量 146

6.7.1.局部變量 146

6.7.2.全局變量 147

本章小結 150

習題 150

第07章 再談數據類型與變量155

7.1.信息的表征與處理 156

7.1.1.二進制表征 156

7.1.2.位運算 161

7.2.不同存儲類型的變量 168

7.2.1.自動存儲類型變量 169

7.2.2.寄存器存儲類型變量 170

7.2.3.靜態存儲類型變量 172

7.2.4.外部類型存儲變量 176

7.2.5.變量的其他修飾符 179

7.3.結構體 180

7.3.1.結構體的定義與使用 180

7.3.2.位域 185

7.4.共用體 188

7.5.枚舉類型 192

本章小結 197

習題 197

第08章 指針204

8.1.指針概述 205

8.1.1.變量、地址和值 205

8.1.2.指針變量定義與指針運算符 206

8.2.傳值與傳地址 209

8.3.數組與指針 216

8.3.1.指針變量運算 216

8.3.2.通過指針引用數組元素 217

8.3.3.指向多維數組的指針和指針變量 224

8.4.動態內存分配 229

8.4.1.靜態內存布局 231

8.4.2.動態內存布局 237

8.4.3.動態內存分配的問題 244

8.5.自指結構 251

8.5.1.鏈表 251

8.5.2.二叉樹 255

8.6.指向函數的指針 261

8.6.1.回調函數 262

8.6.2.跳轉表 263

本章小結 266

習題 266

第09章 文件272

9.1.概述 273

9.2.文件指針 273

9.3.文件的操作 274

9.3.1.文件的打開與關閉 274

9.3.2.文件讀寫 276

9.3.3.文件檢測函數 284

9.4.一個簡單的聊天機器人程序 286

9.4.1.自定義頭文件 286

9.4.2.初識C程序的編譯過程 288

9.4.3.一個簡單的聊天機器人程序 290

本章小結 297

習題 297

第10章 深入理解Hello World300

10.1.編譯的工具與流程 302

10.1.1.GCC編譯器核心 302

10.1.2.Binutils工具集 303

10.1.3.glibc庫 303

10.1.4.GCC編譯流程 304

10.2.預處理階段 304

10.3.編譯階段 307

10.4.匯編階段 313

10.5.鏈接階段 315

本章小結 323

習題 323

第11章 結語327

附錄A.ASCII碼表 330

附錄B.C語言運算符優先級 333

附錄C.C語言常用庫函數 336

附錄D.C語言類型轉換 344

附錄E.C語言的調試 349

參考閱讀 352

跋 353