C語言零起點精進攻略——C/C++入門·提高·精通

C語言零起點精進攻略——C/C++入門·提高·精通

作者: 愛編程的魏校長
出版社: 化學工業
出版在: 2020-03-01
ISBN-13: 9787122357533
ISBN-10: 7122357538
裝訂格式: 平裝
總頁數: 374 頁





內容描述


C語言是學習其他程序設計語言的基礎,
也是編寫硬件相關的嵌入式系統等系統級程序的優秀工具。
本書從貼近CPU和內存原理的角度,給讀者提供了一個學習—實踐—應用C語言的逐步掌握C語言並成為C程序員的技能提升方案。
全書分5篇17章。
前3篇分別講述C語言的起步知識、控製程序流程的基礎、編寫基本C代碼的組織工具;
第4篇包含了編寫系統級程序所需要的C指針、結構體、編譯預處理等關鍵知識;
第5篇提供了應用C開發程序所需要的技能和初步實踐方法。
本書可作為高校學生學習C語言的教材和輔助讀物,
也可作為中學生參加NOIP競賽的參考書,
還能作為初級嵌入式程序員理解C語言的工具書。


目錄大綱


第1篇起步知識
第1章CPU運行原理和C語言003
1.1 CPU是如何工作的/ 003
1.1.1指令節拍和流水線/ 004
1.1.2摩爾定律讓CPU越來越快/ 004
1.1.3從CPU指令到程序設計語言/ 006
1.2理解計算機程序設計/ 006
1.2.1程序是什麼/ 006
1.2.2程序設計與程序設計語言/ 007
1.2.3不斷細化問題的結構化程序設計思想/ 007
1.3 C語言的初步知識/ 008
1.3.1 C語言的歷史/ 008
1.3.2 C語言程序的特點/ 009
1.3.3 C語言程序的開發過程/ 010
1.4程序生成的工具/ 010
1.4.1編譯器的概念/ 011
1.4.2連接器的概念/ 011
1.4.3項目和Building / 011
1.5一個簡單的C語言程序/ 012
1.5.1學習寫第一個C語言程序/ 012
1.5.2分析C語言程序的組成部分/ 012
1.5.3運行這個程序/ 013
1.5.4牛刀小試/ 013
1.5.5 C程序的構成/ 014
本章小結/ 014
第2章C語言基本功015
2.1了解電腦內存的運行方式/ 015
2.1.1數據和代碼都存儲在內存中/ 015
2.1.2任何數據都需要標識符才能讀取/ 016
2.2認識和使用標識符/ 017
2.2.1標識符的命名規則/ 017
2.2.2 C語言中標識符的分類/ 018
2.3什麼是變量/ 019
2.3.1了解變量/ 019
2.3.2聲明變量/ 019
2.3.3初始化變量/ 020
2.4什麼是常量/ 020
2.4.1認識常量/ 020
2.4.2整型常量/ 021
2.4.3浮點型常量/ 021
2.4.4字符型常量/ 022
2.4.5字符串常量/ 023
2.4.6符號常量/ 023
2.5 C語言程序中數據存儲的基本類型/ 024
2.5.1存儲整型數據/ 024
2.5.2存儲實型數據/ 027
2.5.3存儲字符型數據/ 028
2.6基於數學程序運算符和表達式/ 030
2.6.1在C語句中使用算術運算符/ 031
2.6.2賦值運算符/ 032
2.6.3用自增、自減運算符來進行運算/ 034
2.6.4逗號運算符/ 035
2.6.5使用sizeof運算符求變量佔用的空間大小/ 035
2.6.6使用關係運算符完成條件的選擇/ 037
2.6.7注意運算符的優先級和括號/ 038
2.7數據類型的轉換/ 040
2.7.1隱式自動轉換/ 040
2.7.2顯式強制轉換/ 043
本章小結/ 044
第2篇代碼基礎
第3章使用順序結構編寫程序047
3.1語句與表達式/ 047
3.1.1 CPU指令是如何變身彙編語言的/ 047
3.1.2表達式語句與空語句/ 048
3.1.3複合語句/ 049
3.2控制屏幕打印/ 049
3.2.1使用putchar( )輸出字符/ 049
3.2.2格式化輸出函數printf( ) / 050
3.2.3標準錯誤流/ 052
3.3讀取鍵盤輸入/ 052
3.3.1用getchar( )函數輸入字符/ 052
3.3.2用getch( )和getche( )函數輸入/ 053
3.3.3格式化輸入函數scanf( ) / 054
3.4輸入輸出綜合示例/ 057
3.5操作系統和應用程序/ 057
3.5.1應用程序在Windows中是如何被執行的/ 058
3.5.2 Windows API和C運行時庫/ 058
本章小結/ 059
第4章使用選擇結構編寫程序061
4.1用邏輯運算符實現選擇結構/ 061
4.1.1邏輯運算符的使用/ 062
4.1.2邏輯運算符的優先級與結合性/ 063
4.1.3使用邏輯運算符的程序舉例/ 063
4.2用if語句實現選擇結構/ 064
4.2.1 if語句的使用方法/ 064
4.2.2使用if語句的程序舉例/ 064
4.2.3使用if…else結構實現多項選擇/ 065
4.2.4使用if …else結構的程序舉例/ 066
4.2.5 if語句的嵌套使用/ 067
4.2.6使用if語句嵌套的程序舉例/ 069
4.3用條件運算符實現簡單的選擇結構/ 072
4.3.1 CPU只有JUMP指令/ 072
4.3.2專業程序員都會錯:懸掛else引發的問題/ 073
4.3.3這是語言特性,不是數學公式/ 074
4.3.4少用,但可以了解的語言特性/ 074
4.4多分支條件選擇語句:switch / 076
4.4.1 switch語句的結構介紹/ 076
4.4.2大多數人理解的switch語句都是錯的/ 077
4.4.3多個執行結果共用一個條件/ 079
4.4. 4使用switch語句的程序綜合舉例/ 080
本章小結/ 081
第5章使用循環結構編寫程序083
5.1用while實現帶條件的循環語句/ 083
5.1.1 while循環語句的結構和功能/ 083
5.1.2 while循環語句的程序實例/ 084
5.2另一種帶條件的循環語句:do…while / 086
5.2.1比較do…while與while的差異/ 086
5.2.2用do…while循環的程序實例/ 086
5.3用for語句實現循環/ 087
5.3.1 for循環的結構與功能介紹/ 087
5.3.2使用for循環的程序實例/ 088
5.3.3 for循環的幾種不同的格式/ 089
5.3.4在for語句中添加逗號運算符/ 091
5.4高級流程控制語句/ 092
5.4.1用goto語句在程序中任意跳轉/ 092
5.4.2用break語句中斷循環/ 093
5.4.3用continue語句跳出當前循環/ 094
5.5各種循環語句的嵌套使用/ 096
本章小結/ 098
第3篇能力提高
第6章用函數把程序分塊101
6.1函數的概念/ 101
6.1.1明白什麼是函數/ 101
6.1.2使用函數的好處/ 102
6.1.3 main()函數的概念及用途/ 102
6.2函數的定義/ 102
6.2.1自己定義一個函數/ 102
6.2.2定義一個有參函數/ 104
6.2.3函數的參數/ 105
6.2.4函數的返回值/ 106
6.2.5空函數/ 108
6.3函數的調用原理與聲明/ 108
6.3.1函數的聲明/ 108
6.3.2函數調用表達式/ 109
6.3.3函數調用的方式/ 109
6.3.4不加()的函數調用會出現什麼/ 111
6.3.5嵌套調用/ 111
6.3.6函數在結構化程序設計中的意義/ 112
6.4遞歸函數/ 113
6.5變量的作用域和存儲類別/ 116
6.5.1什麼是變量的作用域/ 116
6.5.2塊結構/ 117
6.5.3局部變量和局部變量的作用域/ 117
6.5.4全局變量和全局變量的作用域/ 118
6.5.5變量的存儲類別/ 119
6.5.6靜態變量存儲/ 119
6.5.7自動變量存儲/ 121
6.6內部函數與外部函數/ 122
6.6.1內部函數/ 122
6.6.2外部函數/ 124
本章小結/ 125
第7章數組127
7.1數組的概念及內存佔用/ 127
7.1. 1數組的概念/ 127
7.1.2數組在內存中的存儲/ 128
7.1.3數組的溢出/ 129
7.2一維數組/ 129
7.2.1一維數組的定義/ 130
7.2.2一維數組的初始化/ 130
7.2.3一維數組元素的引用/ 131
7.2.4一維數組的應用實例/ 132
7.3二維數組/ 132
7.3.1二維數組的定義/ 133
7.3.2二維數組的初始化/ 134
7.3 .3二維數組元素的引用/ 134
7.3.4二維數組的應用實例/ 135
7.4字符數組/ 136
7.4.1字符數組的定義/ 136
7.4.2字符串與字符數組/ 136
7.4.3字符數組的初始化/ 137
7.4.4字符數組的輸入和輸出/ 137
7.4.5使用scanf( )函數接收字符串/ 138
7.4.6字符數組的應用/ 139
7.5字符數組元素作為函數參數/ 140
7.6數組在程序中的實際應用舉例/ 141
7.7數組的專業用法/ 143
本章小結/ 146




相關書籍

C++程序設計教程(第三版)

作者 朱紅 趙琦 王慶寶

2020-03-01

Linux系統管理與服務器配置(基於CentOS 7)

作者 高志君

2020-03-01

Software Architecture with C++: Design modern systems using effective architecture concepts, design patterns, and techniques with C++20

作者 Ostrowski Adrian Gaczkowski Piotr

2020-03-01