作者簡介
Paul Kelly,愛爾蘭都柏林理工大學(TUD)的高級講師Paul Kelly。Kelly 老師長期從事程序設計類課程的教學工作,在程序設計類課程教學方面教學實踐經驗豐富,在國外已先後出版多本程序設計語言類書籍。蘇小紅,哈爾濱工業大學計算機學院博士生導師,計算機應用技術專家,研究領域主要是色彩匹配,信息融合,空間計算,人工神經網絡,進化算法,計算機圖形學,灰色預測,彩色圖像處理等。
目錄
目 錄
Chapter One Introduction to C(引言) 1
1 1 Brief history of C(C 語言簡史) 1
1 2 Why programmers use C(為什麼程序員愛用C語言) 1
1 2 1 C is portable 1
1 2 2 C is a structured programming language 2
1 2 3 C is efficient 2
1 2 4 C is flexible 2
1 2 5 C is powerful 2
1 2 6 C is concise 3
1 3 Developing a C program(開發C 程序) 3
1 4 Suggestions for learning C programming(學習C 程序設計的建議) 4
Chapter Two C Data Types(C 數據類型) 6
2 1 Constants(常量) 6
2 2 Variables(變量) 6
2 3 Simple output to the screen(簡單的屏幕輸出) 8
2 4 Comments(注釋) 9
2 5 Data types(數據類型) 10
2 5 1 Short integer data types 10
2 5 2 Long integer data types 11
2 5 3 Unsigned integer data types 11
2 5 4 Double floating-point data type 11
2 6 Data type sizes(數據類型的大小) 11
Programming pitfalls 13
Quick syntax reference 13
Exercises 14
Chapter Three Simple Arithmetic Operations and Expressions(簡單的算術運算和表達式) 16
3 1 C operators(C 運算符) 16
3 1 1 The assignment operator 16
3 1 2 Arithmetic operators 17
3 1 3 Increment and decrement operators 19
3 1 4 Combined operators 21
3 2 Operator precedence(運算符優先級) 22
3 3 Type conversions and casts(類型轉換與強制類型轉換) 24
Programming pitfalls 26
Quick syntax reference 27
Exercises 27
Chapter Four Keyboard Input and Screen Output(鍵盤輸入和屏幕輸出) 30
4 1 Simple keyboard input(簡單的鍵盤輸入) 30
4 2 Using a width and precision specification in printf()
[在函數printf( )中使用域寬和精度說明] 31
4 3 Single-character input and output(單個字符的輸入和輸出) 33
Programming pitfalls 35
Quick syntax reference 35
Exercises 36
Chapter Five Control Statements: if and switch(控制語句:if 和switch) 38
5 1 The if statement(if 語句) 38
5 2 The if-else statement(if-else 語句) 39
5 3 Logical operators(邏輯運算符) 41
5 4 Nested if statements(嵌套的if 語句) 42
5 5 The switch statement(switch 語句) 44
5 6 The conditional operator :(條件運算符 :) 46
Programming pitfalls 47
Quick syntax reference 48
Exercises 48
Chapter Six Iterative Control Statements: while, do-while, and for
(循環控制語句:while、do-while和for) 51
6 1 The while statement(while 語句) 51
6 2 The do-while loop(do-while 循環) 52
6 3 The for statement(for 語句) 54
6 4 Nested loops(嵌套循環) 56
Programming pitfalls 58
Quick syntax reference 59
Exercises 59
Chapter Seven Arrays(數組) 61
7 1 Introduction to arrays(引言) 61
7 2 Initialising arrays(數組初始化) 66
7 3 Two-dimensional arrays(二維數組) 67
7 4 Initialising two-dimensional arrays(二維數組的初始化) 68
7 5 Multi-dimensional arrays(多維數組) 69
Programming pitfalls 70
Quick syntax reference 70
Exercises 70
Chapter Eight Pointers(指針) 73
8 1 Variable addresses(變量的地址) 73
8 2 Pointer variables(指針變量) 74
8 3 The dereference operator *(解引用運算符*) 75
8 4 Why use pointers (為什麼使用指針?) 76
Programming pitfalls 77
Quick syntax reference 77
Exercises 77
Chapter Nine Pointers and Arrays(指針和數組) 79
9 1 Pointers and one-dimensional arrays(指針和一維數組) 79
9 2 Pointers and multi-dimensional arrays(指針和多維數組) 81
9 3 Dynamic memory allocation(動態內存分配) 82
9 3 1 The malloc() function 82
9 3 2 The calloc() function 85
9 3 3 The realloc() function 86
9 3 4 Allocating memory for multi-dimensional arrays 87
Programming pitfalls 90
Quick syntax reference 90
Exercises 90
Chapter Ten Strings(字符串) 93
10 1 String literals(字符串) 93
10 2 Long character strings(長字符串) 94
10 3 Strings and arrays(字符串和數組) 94
10 4 Displaying a string(顯示一個字符串) 95
10 5 The puts() function[puts( )函數] 97
10 6 The gets() function[gets( )函數] 98
10 7 Accessing individual characters of a string(訪問字符串中的單個字符) 99
10 8 Assigning a string to a pointer (用字符串為字符指針賦值) 100
10 9 String functions(字符串處理函數) 101
10 9 1 Finding the length of a string 101
10 9 2 Copying a string 102
10 9 3 String concatenation 102
10 9 4 Comparing strings 102
10 9 5 Other string functions 103
10 10 Converting numeric strings to numbers (數值字符串向數值的轉換) 103
10 11 Arrays of strings(字符串數組) 105
Programming pitfalls 108
Quick syntax reference 109
Exercises 109
Chapter Eleven Functions(函數) 112
11 1 Introduction(引言) 112
11 2 Function arguments(函數參數) 114
11 3 Returning a value from a function (從函數返回一個值) 116
11 4 Passing arguments by value (按值傳參) 118
11 5 Passing arguments by reference(按引用傳參) 119
11 6 Changing arguments in a function (在函數中改變實參的值) 120
11 7 Passing a one-dimensional array to a function (向函數傳遞一維數組) 121
11 8 Passing a multi-dimensional array to a function (向函數傳遞多維數組) 123
11 9 Storage classes(變量的存儲類型) 124
11 9 1 auto 124
11 9 2 static 125
11 9 3 extern 126
11 9 4 register 128
11 10 Command line arguments(命令行參數) 128
11 11 Mathematical functions(數學函數) 130
11 11 1 Some commonly used trigonometric functions 130
11 11 2 Other common mathematical functions 131
11 11 3 Pseudo-random number functions 132
11 11 4 Some time-related functions 132
11 12 Recursion (遞歸) 133
Programming pitfalls 136
Quick syntax reference 137
Exercises 137
Chapter Twelve Structures(結構體)