书籍详情

ANSI C应用程序设计

ANSI C应用程序设计

作者:(美)巴夫(Baugh, R.J.), (美)卡林(Kalin, M.)著;杨季文, 吕强译

出版社:清华大学出版社

出版时间:2006-01-01

ISBN:9787302121503

定价:¥78.00

购买这本书可以去
内容简介
c语言具有高效、灵活和优雅等特点,至今仍是各类软件设计开发人员必修的基础课程。本书以循序渐进的方式全面详细地介绍了c语言,更以大量有趣生动的应用实例讲解了应用程序的设计,还以丰富多彩的例题和习题说明了学习使用C语言是件快乐的事情。 本书可作为高等学校理工科类专业c语言程序设计课程的教材或教学参考书,也可作为广大计算机爱好者学习应用C语言的自学参考书。
作者简介
  RichardJohnsonbaugh是芝加哥DePaul大学计算机科学教授。他分别在俄亥俄州立大学、耶鲁大学和伊利诺斯大学芝加哥分校获得计算机科学和数学学位。他是《离散数学》第四版的作者。同时与MartinKalin合作编写了《科学家和工程师之C》(CforScientistsandEngineers)、《C++应用程序设计》(ApplicationsProgramminginC++)、《C++面向对象程序设计》(ObjectOrientedProgramminginC++)以及本书《ANSIC应用程序设计》(ApplicationsProgramminginANSIC)系列。MartinKalin是芝加哥DePaul大学计算机科学教授。他获得了西北大学逻辑学博士学位。他的研究方向包括分布式系统和程序设计语言。他曾参与了许多为财富100强公司开发的大型软件项目,内容涉及调度安排和产品配置。
目录
第1章  C语言导论    1
1.1  第一个C语言程序    1
1.2  应用举例:长度转换    2
1.3  标识符    6
1.4  while语句    7
1.5  do while语句    10
1.6  应用举例:计算所得税    11
1.7  if语句    13
1.8  深入介绍if语句    19
1.9  输入和输出重定向    24
1.10  文件    26
常见编程错误    27
编程练习    28
第2章  变量、运算符和流程控制    30
2.1  字符和整数    30
2.2  浮点变量    38
2.3  算术运算    42
2.4  关系运算符、逻辑运算符和赋值运算符    46
2.5  应用举例:统计测量    52
2.6  for语句和逗号运算符    55
2.7  运算符 ++ 和 --    58
2.8  应用举例:打印条形图    61
常见编程错误    63
编程练习    64
第3章  运算符和流程控制    67
3.1  break和continue语句    67
3.2  应用举例:产生素数    71
3.3  switch语句    73
3.4  goto语句和标号    79
3.5  条件表达式    80
3.6  应用举例:打印日历    81
3.7  强制类型转换    84
3.8  运算符sizeof    85
3.9  getchar和putchar    86
3.10  位运算符    89
3.10.1  位取反运算符    90
3.10.2  位逻辑运算符    90
3.10.3  位移位运算符    91
常见编程错误    95
编程练习    96
第4章  函数和程序结构    98
4.1  简介    98
4.1.1  函数术语    99
4.1.2  return语句    101
4.1.3  函数声明    101
4.1.4  main函数    103
4.1.5  源文件中的函数    104
4.1.6  函数和程序设计    105
4.2  实际参数和形式参数    107
4.2.1  形式参数和实际参数的匹配    108
4.2.2  计算参数值的顺序    108
4.3  传值调用    109
4.4  应用举例:计算电阻    112
4.5  变量的作用范围    116
4.6  预处理器    117
4.6.1  文件包含    118
4.6.2  使用单个文件包含    119
4.6.3  宏    119
4.6.4  带参数的宏    121
4.6.5  带参数的宏与函数的比较    121
4.6.6  宏的便利性    123
4.6.7  其余命令    123
4.7  应用举例:模拟一个掷骰子游戏    129
4.8  递归    135
4.9  应用举例:递归拼贴    144
4.10  参数数目可变的函数    151
常见编程错误    155
编程练习    159
第5章  数组    164
5.1  为何引入数组    164
5.2  数组下标和单元偏移    164
5.2.1  数组与指针    168
5.2.2  sizeof运算符和数组    170
5.3  应用举例:跟踪和报告汽车销售情况    172
5.4  字符型数组作为字符串    177
5.5  应用举例:用给定的行长度格式化文本    181
5.6  数组作为函数参数    183
5.7  字符串处理函数    187
5.7.1  strcat,strncat    187
5.7.2  strcmp,strncmp    188
5.7.3  strcpy,strncpy    190
5.7.4  strlen    191
5.7.5  strstr,strchr,strrchr    191
5.8  应用举例:计算字符串的长度    196
5.9  多维数组    196
5.9.1  概述    196
5.9.2  多维数组的方便性    197
5.9.3  多维数组是由数组构成的数组    198
5.9.4  多维数组的初始化    199
5.9.5  多维数组用作参数    199
5.10  应用举例:矩阵乘法    201
5.11  应用举例:排序和查找    205
5.12  应用举例:森林火势蔓延的模拟    210
常见编程错误    215
编程练习    217
第6章  指针    224
6.1  指针变量    224
6.1.1  指针变量概述    224
6.1.2  指针初始化    230
6.1.3  对地址运算符的限制    231
6.2  多级间接访问    233
6.3  指针与数组    236
6.3.1  字符指针与字符数组    237
6.3.2  数组与指针的算术运算    239
6.3.3  指针运算    242
6.3.4  指向数组单元的指针的界    246
6.3.5  数组和指针语法的等价性    247
6.3.6  数组形式和指针形式的混合    247
6.4  指针作为函数的参数    252
6.5  应用举例:反转字符串    261
6.6  应用举例:并行计算    264
6.7  指针与多维数组    272
6.8  命令行参数    275
6.9  指向函数的指针    277
6.10  应用举例:对排序算法进行比较    279
常见编程错误    283
编程练习    285
第7章  存储类别和类型限定    290
7.1  单一源文件中的存储类别:auto,extern,static    290
7.1.1  auto    290
7.1.2  extern    291
7.1.3  static    292
7.2  应用举例:文本分页    297
7.3  存储类别register    300
7.4  多个源文件中的存储类别    301
7.5  应用举例:交互式计算器    306
7.6  块的嵌套    312
7.7  函数存储类别    315
7.8  类型限定符:const和volatile    317
7.8.1  类型限定符的用法    317
7.8.2  const    318
7.8.3  const变量和宏    319
7.8.4  const的局限性    320
7.8.5  const指针参数    320
7.8.6  volatile    321
7.8.7  类型限定符的组合用法    321
7.8.8  类型限定符和编译器的优化    325
7.9  应用举例:安排活动计划    327
常见编程错误    332
编程练习    333
第8章  输入和输出    337
8.1  文件的打开和关闭    337
8.2  字符输入/输出    341
8.2.1  fgetc,getc,getchar    341
8.2.2  fputc,putc,putchar    341
8.3  应用举例:以字节为单位确定源文件的长度    343
8.4  字符串输入/输出    344
8.4.1  fgets,gets    344
8.4.2  fputs,puts    346
8.5  格式化输入/输出    347
8.5.1  scanf,fscanf,sscanf    347
8.5.2  printf,fprintf,sprintf    352
8.5.3  字符转换以及字符检测函数    358
8.6  非格式化输入/输出    361
8.6.1  fwrite    361
8.6.2  fread    361
8.7  文件的定位函数:fseek,ftell,rewind    362
练习    364
8.8  应用举例:随机访问文件    366
常见编程错误    376
编程练习    376
第9章  结构、联合和枚举类型    381
9.1  结构介绍    381
9.2  应用举例:模式识别    389
9.3  typedef构造    394
9.3.1  typedef的一般用法    394
9.3.2  typedef和代码的可移植性    395
9.3.3  typedef和结构    395
9.4  对结构的操作    397
9.4.1  初始化结构的成员    397
9.4.2  赋值运算符应用于结构变量    398
9.5  结构指针、结构嵌套和自指结构    400
9.5.1  结构指针    400
9.5.2  结构嵌套    403
9.5.3  自指结构    404
9.6  结构和函数    406
9.6.1  通过传值方式传递结构    406
9.6.2  传递指向结构的指针    409
9.6.3  结构作为常量参数    411
9.7  应用举例:销售报表    413
9.8  联合与位字段    428
9.8.1  联合    428
9.8.2  位字段    430
9.9  枚举类型    432
常见编程错误    434
编程练习    437
第10章  数据结构简介    440
10.1  编译时和运行时的存储分配    441
10.1.1  malloc:一个用于运行时存储分配的函数    441
10.1.2  calloc:另一个用于运行时存储分配的函数    443
10.1.3  访问运行时分配的存储空间    443
10.1.4  释放运行时分配的存储空间    444
10.1.5  无用单元    445
10.2  链表    447
10.2.1  链表的组成和结构    447
10.2.2  运行时结点的动态分配    451
10.2.3  对链表的操作    454
10.3  应用举例:文本编辑器    459
10.4  栈和队列    473
10.4.1  栈    474
10.4.2  队列    479
10.5  应用举例:中缀表达式转换成后缀表达式    484
10.6  图和树    491
10.6.1  图    491
10.6.2  树    493
10.7  树的遍历    497
10.7.1  3种二叉树的遍历算法    497
10.7.2  二叉树的表示    499
10.8  广度优先搜索和深度优先搜索    502
10.8.1  两种搜索方法的基本原理    502
10.8.2  广度优先搜索的实现    502
10.9  应用举例:图的启发式搜索    512
常见编程错误    523
编程练习    523
第11章  高级话题    529
11.1  断言    529
11.2  异常处理和跳转    534
11.3  C的图形支持    540
11.3.1  视频显示器    540
11.3.2  控制    541
11.3.3  出错处理    542
11.3.4  画图    542
11.3.5  文本输出    543
11.3.6  颜色设置    544
11.3.7  状态    544
11.4  应用举例:碎片绘制    544
11.5  C和C++    551
11.5.1  面向对象设计    551
11.5.2  类和抽象数据类型    553
11.5.3  继承    555
11.5.4  多态    557
11.5.5  C++程序举例    558
编程练习    564
附录A  ASCII与EBCDIC码表    566
附录B  C语言概要    573
附录C  C语言语法图解    583
附录D  C的部分库函数    597
附录E  C和UNIX    615
附录F  Microsoft Visual C++和Borland C++ Builder    625
附录G  传统C的变化    629
编号为奇数的练习解答    632
猜您喜欢

读书导航