目 录chapter one typographic conventions(绪论) 11.1 what is a computer program (什么是计算机程序 ) 11.2 developing a computer program(开发计算机程序) 21.2.1 program development cycle 21.3 learning c (学习 c ) 41.4 web site for this book(本书的网站) 41.5 brief history of c (c 简史) 41.6 ansi/iso c standard(ansi/iso c 标准) 5chapter two beginning to program in c (c 编程入门) 62.1 constants(常量) 62.2 variables(变量) 62.3 simple output to the screen(简单的屏幕输出) 72.4 comments(注释) 92.5 data types(数据类型) 102.5.1 short integer data types 102.5.2 long integer data types 102.5.3 boolean data types 112.5.4 double floating-point data types 112.5.5 unsigned integer data types 112.6 data type sizes(数据类型的大小) 112.7 operators (运算符) 122.7.1 the assignment operator 122.7.2 arithmetic operators 122.7.3 increment and decrement operators 132.7.4 combined assignment operators 152.8 operator precedence(运算符的优先级) 162.9 data type conversions and casts(类型转换和强转) 18programming pitfalls 20quick syntax reference 21exercises 22chapter three keyboard input and screen output(键盘输入和屏幕输出) 263.1 simple keyboard input(简单的键盘输入) 263.2 manipulators(流操纵符) 283.3 single-character input and output(单个字符的输入和输出) 30programming pitfalls 32quick syntax reference 32exercises 32chapter four selection and iteration(选择与循环) 344.1 selection(选择) 344.1.1 the if statement 344.1.2 the if-else statement 354.1.3 compound statements 354.1.4 logical operators 374.1.5 nested if statements 374.1.6 the switch statement 374.1.7 the conditional operator : 394.2 iteration(循环) 404.2.1 the while statement 404.2.2 the do-while loop 424.2.3 the for statement 434.2.4 nested loops 45programming pitfalls 47quick syntax reference 49exercises 50chapter five arrays and structures(数组和结构体) 535.1 arrays(数组) 535.1.1 introduction 535.1.2 initialising an array 565.1.3 two-dimensional arrays 575.1.4 initialising a two-dimensional array 595.1.5 multi-dimensional arrays 605.2 structures(结构体) 605.2.1 introduction 605.2.2 declaring a structure 615.2.3 initialising a structure variable 635.2.4 nested structures 645.3 the typedef statement(typedef 语句) 655.4 arrays of structures(结构体数组) 665.5 enumerated data types(枚举数据类型) 66programming pitfalls 68quick syntax reference 68exercises 69chapter six strings(字符串) 726.1 c-strings(c 风格字符串) 726.2 c-string input and output(c 风格字符串的输入和输出) 736.3 accessing individual characters of a c-string(访问c 风格字符串中的单个字符) 776.4 c-string functions(c 风格字符串函数) 776.4.1 finding the length of a c-string 786.4.2 copying a c-string 786.4.3 c-string concatenation 796.4.4 comparing c-strings 796.4.5 other c-string functions 796.4.6 converting numeric c-strings to numbers 806.5 c strings(c 字符串) 806.5.1 string initialisation and assignment 826.5.2 string concatenation 846.5.3 string length, string indexing and sub-strings 856.5.4 string replace, erase, insert and empty strings 866.5.5 string searching 886.5.6 string comparisons 896.5.7 string input 916.5.8 string conversions 926.6 arrays of strings(string 类型的数组) 936.7 character classification(字符分类) 94programming pitfalls 96quick syntax reference 96exercises 97chapter seven functions(函数) 1007.1 introduction(引言) 1007.2 function arguments(函数实参) 1027.3 default parameter values(默认的形参值) 1057.4 returning a value from a function(从函数返回一个值) 1067.5 inline functions(内联函数) 1077.6 passing arguments by value(按值传递实参) 1087.7 passing arguments by reference(按引用传递实参) 1097.8 passing a one-dimensional array to a function(向函数传递一维数组) 1127.9 passing a multi-dimensional array to a function(向函数传递多维数组) 1157.10 passing a structure variable to a function(向函数传递结构体变量) 1167.11 passing a string to function(向函数传递字符串) 1187.11.1 passing a c string to a function 1187.11.2 passing a c-string to a function 1197.12 recursion(递归) 1207.13 function overloading(函数重载) 1227.14 storage classes auto and static (auto 和static 存储类型) 1237.14.1 auto 1237.14.2 static 1247.15 the scope of a variable(变量的作用域) 1257.15.1 block scope 1257.15.2 global scope 1267.15.3 reusing a variable name 1277.16 mathemat