本书以先进的教学理念为指导,以培养编程能力与学习能力为目标,从全新的角度解析了C语言,高屋建瓴地阐释了C语言学习中的诸多难点,对序列点、指针等概念深入浅出的分析更是引人深思。本书主要内容包括计算机和C语言、基本数据类型、表达式、逻辑运算和选择结构、循环结构、数组、函数、预处理、指针、用户自定义数据类型、文件、位运算和数字化信息编码。
本书概念准确,举例通俗易懂,分析精辟且分析过程完整清晰。针对关键的学习内容,为初学者提供了行之有效的学习方法。因此,这不仅是一本与众不同的C语言教材,还是一本支持自学的C语言教材。本书既可作为高等学校C语言课程的教材,也可作为社会培训用书。
周二强,河南省城建学院计算机学院副教授,河南省计算机学会理事。多次获得省级、校级优秀讲师称号。一直从事C语言教学工作,出版过多部教材。
第1章 计算机和C语言
章节导学
本章讨论
1.1 用户、计算机和程序员
1.2 C语言、计算机和程序员
1.3 C语言自定义命令——函数
1.3.1 使用C语言函数
1.3.2 函数定义
1.3.3 函数调用
1.3.4 main函数
1.4 “懂”C语言的计算机
1.4.1 虚拟的C计算机
1.4.2 用VC 6.0编译程序
1.5 编写程序代码
1.5.1 C语言语法规则
1.5.2 printf函数的用法
1.5.3 用VC 6.0观察程序运行的过程
1.6 C语言语句简析
练习1
本章讨论提示
第2章 基本数据类型
章节导学
本章讨论
2.1 计算机中的数据
2.2 整型
2.2.1 整型的类别
2.2.2 整型字面量
2.2.3 整型数据的输入/输出
2.2.4 查看整数的存储状态
2.2.5 整型的使用
2.3 浮点型
2.3.1 浮点型的类别
2.3.2 浮点型字面量和浮点型数据的输入/输出
2.3.3 浮点型的误差
2.4 字符型
2.4.1 字符型数据的编码
2.4.2 字符型字面量
2.4.3 字符型数据的输入和输出
2.5 printf函数的使用
2.6 典型例题
知识扩展
练习2
本章讨论提示
第3章 表达式
章节导学
本章讨论
3.1 概述
3.2 赋值表达式
3.2.1 赋值操作符
3.2.2 类型不匹配时的赋值操作
3.2.3 复合赋值操作符
3.3 算术表达式
3.3.1 算术表达式求值
3.3.2 强制类型转换操作符
3.3.3 自增自减操作符
3.4 逗号表达式
3.5 典型例题
知识扩展
练习3
本章讨论提示
第4 章逻辑运算和选择结构
章节导学
本章讨论
4.1 C语言中的“逻辑型”
4.2 关系表达式
4.3 逻辑表达式
4.3.1 逻辑操作符
4.3.2 逻辑表达式求值
4.4 if选择结构
4.4.1 if选择结构的作用
4.4.2 if选择结构的用法
4.5 if...else选择结构
4.5.1 if...else选择结构的形式和用法
4.5.2 选择结构嵌套
4.6 条件操作符
4.7 switch选择结构
4.7.1 基本的switch选择结构
4.7.2 有break语句的switch选择结构
4.8 典型例题
练习4
第5章 循环结构
章节导学
本章讨论
5.1 while循环结构
5.1.1 while循环结构分析
5.1.2 while循环结构用法
5.2 for循环结构
5.2.1 for循环结构分析
5.2.2 for循环结构用法
5.3 break语句和continue语句
5.4 循环嵌套
5.5 do...while循环结构
5.6 典型例题
练习5
第6章 数组
章节导学
本章讨论
6.1 一维数组
6.1.1 一维数组定义
6.1.2 一维数组初始化
6.1.3 一维数组应用
6.2多维数组
6.2.1 二维数组定义及初始化
6.2.2 二维数组应用
6.2.3 三维数组简介
6.3 字符型数组和字符串
6.3.1 字符型数组应用
6.3.2 字符串简介
6.3.3 字符串的输入/输出
6.3.4 字符串处理
6.4 综合实例
练习6
本章讨论提示
第7章 函数
章节导学
本章讨论
7.1 函数定义
7.2 函数调用与函数声明
7.2.1 函数调用分析
7.2.2 函数声明的作用
7.2.3 使用参数类型为一维数组的函数
7.3 作用域
7.3.1 变量作用域
7.3.2 文件作用域扩展
7.3.3 全局变量作用域可扩展的原因
7.3.4 使用关键字static限制文件作用域
7.4 用函数编程
7.4.1 用函数编程示例
7.4.2 函数重用
7.5 递归
7.5.1 递归算法与递归函数
7.5.2 递归算法示例
7.6 库函数简介
7.6.1 getchar函数、getch函数和getche函数
7.6.2 rand函数、srand函数和time函数
7.6.3 字符串处理函数
7.7 综合实例
知识扩展
练习7
本章讨论提示
第8章 预处理
章节导学
本章讨论
8.1 程序编译
8.2 宏定义
8.2.1 简单宏
8.2.2 参数化宏
8.3 文件包含
8.4 条件编译
练习8
本章讨论提示
第9章 指针
章节导学
本章讨论
9.1 指针类型
9.1.1 变量的左值和右值
9.1.2 指针变量的定义和赋值
9.2 指针变量的作用
9.2.1 指针操作符
9.2.2 指针变量的用法
9.2.3 空指针
9.3 指针与函数
9.3.1 指针作为函数参数
9.3.2 指针作为函数返回值
9.4 地址可以参与的运算
9.5 指针与数组
9.5.1 指针与一维数组
9.5.2 指针与二维数组
9.5.3 指向数组型存储单元的指针变量
9.5.4 指针与字符串
9.6 main函数和命令行参数
9.7 指向函数的指针变量
9.8 使用堆空间
9.9 典型例题
知识扩展
练习9
第10章 用户自定义数据类型
章节导学
本章讨论
10.1 结构型
10.1.1 结构型的定义
10.1.2 结构型指针变量
10.1.3 链表
10.2 联合型
10.3 枚举型
10.4 为类型自定义别名
知识扩展——存储单元的类型
练习10
第11章 文件
章节导学
本章讨论
11.1 文件概述
11.1.1 C语言文件
11.1.2 文本文件与二进制文件
11.2 文件的打开和关闭
11.2.1 (新建后)打开文件
11.2.2 文件关闭
11.3 文件读/写
11.3.1 fputc函数和fgetc函数
11.3.2 文件结束状态
11.3.3 fprintf函数和fscanf函数
11.3.4 fwrite函数和fread函数
11.4 标准设备文件
11.5 文件随机读/写
11.5.1 调整文件当前位置指针变量指向的位置
11.5.2 既可读又可写的文件
练习11
第12章 位运算
章节导学
本章讨论
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
本章讨论提示
第13章 数字化信息编码
章节导学
本章讨论
13.1 二进制数
13.1.1 位权
13.1.2 十进制数转换成二进制数
13.1.3 二进制数的计算
13.2 计算机的计算
13.3 整数的编码
13.4 计算机中整数的特点
13.4.1 整数加法示例
13.4.2 须参与运算的补码符号位
13.4.3 计算机中整数构成一个环
13.5 小数的编码
13.5.1 定点小数
13.5.2 浮点数编码
13.5.3 浮点数的特点
13.6 字符的编码
13.6.1 机内码
13.6.2 输入码和字形码
13.7 八进制数和十六进制数
附录AC语言关键字
附录B格式化输入/输出
附录CASCII码表
附录D常用的C语言库函数
附录EC语言操作符
参考文献