作品简介

本书采用“案例引入—理论讲解—案例学习—编程体验”的方式,全面介绍了利用C语言进行结构化程序设计的方法。在注重语言知识讲解的同时,书中精选了大量应用案例,并详细介绍了每个案例程序的分析和设计过程,立足于逻辑思维能力与程序设计能力的培养。

本书内容由浅入深,循序渐进,可作为高等学校程序设计基础课程教材,也可作为读者自学程序设计的参考书。

作者:赵宏,陈东旭,马迪芳

作品目录

  • 前言
  • 教学建议
  • 第1章 程序设计概述
  • 1.1 程序和程序设计语言
  • 1.1.1 程序与程序设计
  • 1.1.2 程序设计语言
  • 1.1.3 高级语言程序的实现
  • 1.1.4 C语言的发展
  • 1.2 简单的C语言程序
  • 1.2.1 两个简单的C程序例子
  • 1.2.2 C程序概貌
  • 1.2.3 C程序的处理和执行
  • 1.3 实现问题的求解过程
  • 1.3.1 结构化程序设计基本思想
  • 1.3.2 三种基本结构
  • 1.3.3 结构化程序设计的过程
  • 1.4 案例学习——计算三角形的面积
  • 上机实验1——熟悉C语言编程环境
  • 习题1
  • 第2章 C程序设计基础
  • 2.1 案例引入——计算三角形的面积
  • 2.2 常量、数据的存储与数据类型
  • 2.2.1 基本数据类型
  • 2.2.2 常量
  • 2.2.3 数据的存储
  • 2.3 运算符和表达式
  • 2.3.1 算术运算符与算术表达式
  • 2.3.2 赋值运算符与赋值表达式
  • 2.3.3 数据类型的转换
  • 2.4 数据的输出和输入
  • 2.4.1 格式输出函数printf()
  • 2.4.2 格式输入函数scanf()
  • 2.5 案例学习——华氏温度与摄氏温度的转换
  • 2.6 编程体会
  • 上机实验2——简单程序设计
  • 习题2
  • 第3章 程序的控制结构Ⅰ——选择结构程序设计
  • 3.1 案例引入——判断闰年
  • 3.2 二分支选择结构
  • 3.2.1 关系运算与关系表达式
  • 3.2.2 逻辑运算与逻辑表达式
  • 3.2.3 基本的if语句
  • 3.3 多分支选择结构
  • 3.3.1 else-if语句
  • 3.3.2 嵌套的if-else语句
  • 3.3.3 switch语句
  • 3.4 案例学习——计算一年中某月份的总天数
  • 3.5 编程体会
  • 上机实验3——选择结构程序设计
  • 习题3
  • 第4章 程序的控制结构Ⅱ——循环结构程序设计
  • 4.1 案例引入——求1到20之和
  • 4.2 自增自减运算符
  • 4.3 前测循环——whiIe语句和for语句
  • 4.3.1 whiIe语句
  • 4.3.2 for语句
  • 4.4 后测循环——do-whiIe语句
  • 4.5 循环的嵌套
  • 4.6 break语句和continue语句
  • 4.7 案例学习——循环程序设计技术
  • 4.8 编程体会
  • 上机实验4——循环结构程序设计
  • 习题4
  • 第5章 模块化程序设计Ⅰ——函数
  • 5.1 案例引入——计算立方体的体积
  • 5.2 模块化程序设计概述
  • 5.3 自定义函数
  • 5.3.1 函数的定义和返回值
  • 5.3.2 函数的调用
  • 5.3.3 自定义函数程序设计实例
  • 5.4 标准库函数
  • 5.4.1 数学库函数
  • 5.4.2 字符处理函数
  • 5.4.3 随机函数
  • 5.5 变量与函数
  • 5.5.1 局部变量和全局变量
  • 5.5.2 变量的生命周期
  • 5.6 递归
  • 5.7 案例学习——计算圆的面积和21点游戏
  • 5.8 编程体会
  • 上机实验5——用函数编写程序
  • 习题5
  • 第6章 数据的组织Ⅰ——数组
  • 6.1 案例引入——求学生的平均身高及每个学生与平均身高之差
  • 6.2 一维数组
  • 6.2.1 一维数组的定义与引用
  • 6.2.2 一维数组的初始化
  • 6.2.3 一维数组的输入/输出
  • 6.2.4 一维数组的简单应用
  • 6.2.5 数组作为函数的参数
  • 6.3 二维数组
  • 6.3.1 二维数组的定义与初始化
  • 6.3.2 二维数组的引用
  • 6.3.3 使用二维数组编程
  • 6.4 字符串
  • 6.4.1 字符数组
  • 6.4.2 字符串处理函数
  • 6.5 查找与排序算法
  • 6.5.1 数据查找
  • 6.5.2 排序问题
  • 6.6 案例学习——计算平均成绩与字符串排序
  • 6.7 编程体会
  • 上机实验6——数组程序设计
  • 习题6
  • 第7章 指针
  • 7.1 案例引入——获取键盘数据
  • 7.2 地址与指针
  • 7.3 指针运算
  • 7.4 指针与函数
  • 7.4.1 指针参数
  • 7.4.2 返回指针的函数
  • 7.4.3 指向函数的指针
  • 7.5 指针与数组
  • 7.5.1 指针与一维数组
  • 7.5.2 指针与二维数组
  • 7.5.3 指针数组
  • 7.5.4 数组参数的传递
  • 7.6 指针与字符串
  • 7.7 案例学习——洗牌与发牌
  • 7.8 编程体会
  • 上机实验7——使用指针进行程序设计
  • 习题7
  • 第8章 模块化程序设计Ⅱ——程序的组织
  • 8.1 案例引入——多源文件程序的编写
  • 8.2 编译预处理
  • 8.2.1 文件包含
  • 8.2.2 宏定义
  • 8.2.3 条件编译
  • 8.2.4 其他预编译命令
  • 8.3 字节序
  • 8.4 命令行参数与环境变量
  • 8.5 程序组织
  • 8.5.1 全局变量的使用
  • 8.5.2 函数声明与定义
  • 8.5.3 头文件
  • 8.5.4 多文件的程序组织
  • 8.6 案例学习——万年历
  • 8.7 编程体会
  • 上机实验8——多文件程序设计
  • 习题8
  • 第9章 数据的组织Ⅱ——结构体与链表
  • 9.1 案例引入——学生信息管理
  • 9.2 结构体
  • 9.2.1 定义结构类型
  • 9.2.2 定义嵌套结构
  • 9.3 结构变量
  • 9.3.1 结构变量的定义与初始化
  • 9.3.2 结构变量成员的访问
  • 9.4 结构数组
  • 9.5 结构指针
  • 9.5.1 结构指针的使用
  • 9.5.2 结构指针作为函数的参数
  • 9.6 自定义类型声明
  • 9.7 链表
  • 9.7.1 链表结点的定义
  • 9.7.2 动态内存管理
  • 9.7.3 动态链表
  • 9.8 案例学习——通讯录管理
  • 9.9 编程体会
  • 上机实验9——结构体与链表
  • 习题9
  • 第10章 文件
  • 10.1 案例引入——通讯录管理
  • 10.2 文件的概念
  • 10.2.1 文件的分类
  • 10.2.2 文件的操作
  • 10.3 文件指针
  • 10.4 文件的打开和关闭
  • 10.4.1 打开文件
  • 10.4.2 关闭文件
  • 10.4.3 标准文件指针
  • 10.5 文件的读写
  • 10.5.1 fgetc()函数
  • 10.5.2 fputc()函数
  • 10.5.3 fgets()函数
  • 10.5.4 fputs()函数
  • 10.5.5 fscanf()函数和fprintf()函数
  • 10.5.6 fread()函数和fwrite()函数
  • 10.6 文件的定位
  • 10.7 文件的检测
  • 10.8 案例学习——基于文件的通讯录管理
  • 10.9 编程体会
  • 上机实验10——使用文件编程
  • 习题10
  • 附录A 运算符的优先级和结合性
  • 附录B ASCII字符集
  • 附录C 常用库函数
  • 参考文献
展开全部