基本信息出版社:北京大学出版社
页码:283 页
出版日期:1998年05月
ISBN:73010351010/730103510X
条形码:9787301035108
版本:第1版
装帧:平装
开本:16
正文语种:中文
丛书名:北京大学计算机科学与技术系教材
内容简介 本书全面、详细地讲述了ANSI C语言的语法、语义,并以大量的程序例子讲解了C语言各种成分的用法。ANSI C对早期的C做了若干扩充,其中比较重要的有:增加了类型修饰符const和volatile,以增强程序的安全性以及对计算机硬件的描述能力;增加了函数原型声明,以增强对函数调用正确性的检查;把函数定义中的形式参数声明都放在一对圆括号内,以增强函数首部的独立性。
目录
第一章概述
1.1 C的发展史
1.2 C语言特点
1.3 C的词汇和词法规则
1.3.1 C的字符集
1.3.2标识符
1.3.3关键字
1.3.4字符串
1.3.5注解
1.4简单程序示例
1.5本章小结
练习一
第二章简单数据类型
2.1 C的基本数据类型
2.1.1标识符命名及变量声明(declaration)
2.1.2 int(整数)类型
2.1.3 char(字符)类型
2.1.4 float和double类型
2.2类型修饰符
2.2.1const。
2.2.2 volatile
2.3存储类型声明
2.3.1自动变量
2.3.2外部变量
2.3.3静态变量
2.3.4寄存器变量
2.4本章小结
练习二
第三章运算符与表达式
3.1运算符
3.1.1赋值运算符
3.1.2算术运算符
3.1.3关系与逻辑运算符
3.1.4位运算符
3.1.5 ?:运算符
3.1.6取地址操作&和间接操作*
3.1.7圆点“?”和箭头“→”运算符
3.1.8 sizeof和类型强制运算符
3.1.9逗号(,)运算符
3.1.10复合赋值运算符
3.1.11运算符的优先级及结合性
3.2表达式
3.2.1表达式的求值
3.2.2表达式求值过程中的类型转换
3.2.3强制类型转换
3.2.4常量表达式
3.3本章小结
练习三
第四章简单的C程序设计
4.1标准设备的输入输出函数
4.1.1 printf()和scanf()语句(函数调用语句)
4.1.2 getchar()和putchar()函数
4.2简单的C程序设计
4.3空语句、复合语句和逗号表达式语句
4.4 if语句
4.5 goto语句和带标号的语句
4.6本章小结
练习四
第五章分支语句
5.1 if语句
5.1.1 if语句的形式与用法
5.1.2关于控制表达式
5.2 if-else语句
5.2.1 if-else语句的形式与用法
5.2.2 if语句的嵌套
5.2.3 else-if匹配规则
5.2.4 ?:表达式
5.3 switch语句
5.3.1 switch基本用法
5.3.2关于break
5.3.3嵌套switch语句
5.3.4 switch的几点注意事项
5.4本章小结
练习五
第六章循环语句
6.1 for循环
6.1.1for循环的基本形式
6.1.2 for循环的基本用法
6.1.3 for循环的灵活性
6.1.4多重循环
6.2 while循环
6.2.1 while循环的基本形式
6.2.2 while语句的用法
6.3 do-While循环
6.3.1 do-while循环的形式
6.4用法举例
6.4.1试探法
6.4.2迭代法
6.5小结
练习六
第七章转移语句
7.1 break语句
7.2 contihue语句
7.3goto语句
7.4 return语句
7.5本章小结
练习七
第八章数组
8.1一维数组
8.1.1一维数组变量的声明
8.1.2数组元素的引用
8.1.3一维数组的应用
8.2多维数组
8.2.1多维数组变量的声明
8.2.2多维数组元素的引用
8.2.3多维数组的应用
8.3一维字符数组
8.3.1一维字符数组变量的初始化
8.3.2几个与一维字符数组有关的库函数
8.4数组变量初始化
8.4.1一维数组变量的初始化
8.4.2多维数组变量的初始化
8.5数组变量声明中的修饰符
8.5.1存储类说明符
8.5.2类型修饰符
8.6用法举例
8.7小结
练习八一
第九章指针
9.1指针变量的声明和用法
9.2指针变量的运算
9.3指针与数组
9.4小结
练习九
第十章枚举、结构、联合类型及类型定义
10.1枚举类型
1O.2结构类型
10.2.1声明结构类型变量的常用形式
10.2.2结构型变量的运算及其成员的引用方式
10.2.3存储管理库函数malloc和free
10.3联合类型
10.4类型定义typedef
10.5用法举例
10.6小结
练习十
第十一章函数
11.1函数的定义
11.2函数调用和参数传递
11.3函数的递归调用
11.4递归调用函数到非递归调用函数的等价变换
11.4.1用循环代替某些递归调用
11.4.2用循环代替尾递归调用
11.4.3用栈实现递归调用
11.5标识符作用域与标识符名字空间
11.5.1标识符作用域
11.5.2标识符的名字空间
11.6命令行参数
11.7函数原型声明
11.8与函数相关的声明
11.9大型C程序的一般结构
11.10小结
练习十一
第十二章C预处理器
12.1宏定义和宏扩展
12.1.1简单宏
12.1.2参数化宏
12.1.3宏的反复处理
12.1.4宏定义的取消和宏的重定义
12.1.5定义宏时易犯的错误
12.1.6预定义宏
12.2文件内容并入
12.3条件编译
12.4其它预处理命令
12.4.1#line
12.4.2#errot
12.4.3#pragma
12.5 C编译流程小结
练习十二
第十三章C运行库
13.1输入输出(stdio.h)
13.1.1流的建立与拆除
13.1.2格式化输出
13.1.3格式化输入
13.1.4以正文行为单位的输入输出
13.1.5以字符为单位的输入输出
13.1.6无格式输入输出
13.1.7文件重定位
13.1.8状态处理
13.1.9流缓冲控制
13.1.10文件的改名与删除
13.1.11临时文件处理
13.2字符串处理(string.h)
13.2.1字符串处理设施
13.2.2存储块处理设施
13.3字符处理(ctype.h)
13.3.1字符类判断
13.3.2大小写字母转换
13.4实用设施(stdlib.h)
13.4.1字符串到数值的转换
13.4.2常用数学函数
13.4.3与操作系统的交互设施
13.4.4查找与排序
13.4.5多字节字符处理
13.5数学函数(math.h)
13.6信号处理(signal.h)
13.7日期和时间表示(time.h)
13.8变长参数表处理(stdarg.h)
13.9非局部跳转(setjump.h)
13.10诊断设旋(assert.h)
13.11地域设置(locale.h)
13.12有关整数表示范围的常数(1imits.h)
13.13有关浮点数表示范围的常数(float.h)
练习十三
第十四章综合举例
14.1计算并输出n!(0≤n≤42900)的准确值
14.2计算并输出两个大无符号整数m与n的乘积、整除商和余数
14.3计算自然数e(精确到小数点后2000位)
14.4皇后问题
14.5 0,1环马步遍历及子集合问题
14.5.1 0,1环问题
14.5.2马步遍历问题
14.5.3子集合问题
14.6计算一元函数的定积分
14.7背包问题
14.8汉诺塔问题
14.9小结
练习十四
……
序言 C语言是当今为数不多的几种最有生命力的高级程序设计语言之一,它的简洁、表达能力强、可移植性好、易于生成高效的目标代码等优点,使它成为越来越多的软件开发人员,特别是系统开发人员的首选语言。学习和掌握C语言,对软件工作者无疑是很有意义的。
本书全面、详细地讲述了ANSI C语言的语法、语义,并以大量的程序例子讲解了C语言各种成分的用法。ANSI C对早期的C做了若干扩充,其中比较重要的有:增加了类型修饰符const和volatile,以增强程序的安全性以及对计算机硬件的描述能力;增加了函数原型声明,以增强对函数调用正确性的检查;把函数定义中的形式参数声明都放在一对圆括号内,以增强函数首部的独立性。
本书对C语言及其用法中的难点作了详细的讲解,这主要有表达式求值次序、顺序点的定义以及递归调用函数的分析。考虑到大多数读者心理要求是阅读本书后能尽快地编写出可执行的C程序,本书在内容安排时,用前四章集中介绍C的最基本成分,使得读者掌握了前四章内容后就可编制出能输入、输出的C程序。为了帮助读者掌握用C语言进行程序设计的方法,本书在第十四章中给出了一些算法较难的C程序,其中有计算大数n(0≤n≤42900)的阶乘n!的程序,计算两个无符号整数m,n的乘积、整除商及余数的程序,以及求解后问题的含递归调用的程序等,这些程序有一定的实用性且其解法有一定的典型性。
本书的1~7章由欧阳民同志编写,孙家同志做了修改和补充;8~11章及14章由孙家同志编写;12,13章由陈文科同志对全书做了审订、整理。由于编者水平有限,不足之处,敬请读者指出。
文摘 插图:
