C语言程序设计

C语言程序设计
作 者: 刘丹 许晖 孙媛
出版社: 冶金工业出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《C语言程序设计》作者简介

内容简介

本书以计算机语言的学习与认知过程为主线,以实战演练为主导,按照程序设计的编写思路进行讲解。本书共10章,首先让读者对C语言、C语言程序设计进行整体认知,随后在实践中了解数据类型、常量、变量、运算符及表达式以及C语言的基本语句,逐步引入程序的三大结构、函数实现模块化、数组批量存储数据、指针优化程序性能、结构体存储复杂数据和文件完成数据的永久存储。本书逻辑性强,具有较强的实用性和可操作性。本书可作为普通高等院校“C语言程序设计”课程的教材,也可供计算机工程技术人员参考。

图书目录

1 初识C语言

1.1 程序设计语言概述

1.2 C语言的发展及其特征

1.3 一个简单的C语言示例

1.4 程序设计语言的工作流程

1.5 C语言程序的开发环境及步骤

本章小结

实战演练1

2 数据类型、运算符与表达式

2.1 C程序中的基本符号分类

2.2 C语言的数据类型

2.3 常量

2.4 变量

2.5 运算符及表达式

2.6 数据类型转换

本章小结

实战演练2

3 简单C语言程序设计

3.1 C语言基本语句

3.2 基本输入/输出操作的实现

本章小结

实战演练3

4 程序的控制结构

4.1 引出程序基本结构的原因

4.2 算法及其表述

4.3 顺序结构程序设计

4.4 分支结构程序设计

4.5 循环结构程序设计

4.6 流程的转移控制

本章小结

实战演练4

5 函数

5.1 函数

5.2 函数的定义、调用和声明

5.3 函数的嵌套调用和递归调用

5.4 数组作为函数参数

5.5 变量的作用域和存储类型

5.6 函数封装和预处理指令

本章小结

实战演练5

6 数组

6.1 为什么要引入数组

6.2 一维数组

6.3 二维数组

6.4 字符数组

6.5 向函数传递数组

本章小结

实战演练6

7 指针

7.1 指针概述

7.2 指针和数组间的关系

7.3 返回指针值的函数

7.4 指针数组

7.5 指向函数的指针

7.6 指向指针的指针

7.7 带参数的main()

本章小结

实战演练7

8 结构体和共用体

8.1 为什么引入结构体和共用体

8.2 结构体类型与结构体变量

8.3 结构体数组

8.4 结构体与函数

8.5 结构体指针

8.6 共用体

8.7 动态数据结构——链表

本章小结

实战演练8

9 文件操作

9.1 计算机中的流

9.2 文件

9.3 文件的打开与关闭

9.4 文件的读写

9.5 文件的定位与随机读写

本章小结

实战演练9

10 C程序设计中常出现的问题及解决方案

10.1 问题1:使用变量之前未对其初始化或赋值

10.2 问题2:忘记考虑数值溢出的可能

10.3 问题3:没有使用sizeof()获得类型或变量的字长

10.4 问题4:假定类型取值范围

10.5 问题5:总误认为两个整数的运算自动得出浮点数的结果

10.6 问题6:忘记预先判断除数是否为0

10.7 问题7:混淆“&,|”与“&&,||“

10.8 问题8:使用依赖编译器求值顺序的语句

10.9 问题9:使用依靠算符优先级的表达式

10.10 问题10:表达式太过冗长

10.11 问题11:将“=”错误地当作“==”使用

10.12 问题12:用“==”比较两个浮点数

10.13 问题13:忽略do-while和while的循环条件

10.14 问题14:printf()和scanf()中格式控制字符串与参数类型不匹配

10.15 问题15:循环或判断语句以“;”结尾

10.16 问题16:在循环体内改变循环结束条件

10.17 问题17:case分支不用break结束

10.18 问题18:switch-case语句没有default分支

10.19 问题19:不声明函数原型

10.20 问题20:不定义函数参数或返回值的类型

10.21 问题21:有返回值的函数不用return指明返回值

10.22 问题22:调用函数后,不检查函数是否正确执行

10.23 问题23:变量、函数和模块功能不单一

10.24 问题24:函数过长

10.25 问题25:函数的参数过于复杂

10.26 问题26:返回指向局部变量的指针

10.27 问题27:随意修改全局变量的值

10.28 问题28:数组下标越界

10.29 问题29:字符串没有‘0’终结符

10.30 问题30:使用不限制最大处理长度的字符串处理函数

10.31 问题31:用malloc()申请的内存不用free()

10.32 问题32:使用已经被free()的指针

10.33 问题33:文件打开后不主动关闭

10.34 问题34:成对函数不在同一个模块或函数内调用

10.35 问题35:头文件不加宏定义锁

10.36 问题36:忽略编译器发出的警告

10.37 问题37:用“复制 粘贴”的方式复用代码

10.38 问题38:在字符串和注释以外的地方使用全角字符

10.39 问题39:不注重代码的风格

10.40 问题40:代码与注释不一致

参考文献