高等院校精品课程系列教材C语言程序设计教程(第4版)/朱鸣华 本书特色
本书介绍利用C语言进行程序设计的基本知识。全书共12章,详细介绍了C语言的基本概念、算法与程序设计基础、数据的输入和输出、选择结构、循环结构、数组、函数、指针、结构体与共用体、文件、面向对象程序设计与C 基础等内容。每章配有大量的习题,便于读者巩固所学知识,掌握程序设计的基本方法和编程技巧。
本书力求概念叙述准确、严谨,语言通俗易懂,适合作为高等院校理工科非计算机专业的“C语言程序设计”课程教材,也可供工程技术人员参考。
高等院校精品课程系列教材C语言程序设计教程(第4版)/朱鸣华 内容简介
本书介绍利用C语言进行程序设计的基本知识。全书共12章,详细介绍了C语言的基本概念、算法与程序设计基础、数据的输入和输出、选择结构、循环结构、数组、函数、指针、结构体与共用体、文件、面向对象程序设计与C++基础等内容。每章配有大量的习题,便于读者巩固所学知识,掌握程序设计的基本方法和编程技巧。 本书力求概念叙述准确、严谨,语言通俗易懂,适合作为高等院校理工科非计算机专业的“C语言程序设计”课程教材,也可供工程技术人员参考。
高等院校精品课程系列教材C语言程序设计教程(第4版)/朱鸣华 目录
前言
第1章 C语言概述1
1.1 程序设计的基本概念1
1.2 C语言发展简史2
1.3 C语言的特点3
1.4 简单C语言程序举例4
1.5 C语言程序的组成与结构5
1.6 C语言程序的开发步骤6
小结7
习题7
第2章 数据类型、运算符与表达式9
2.1 C语言的基本符号9
2.1.1 标识符9
2.1.2 常量10
2.1.3 变量10
2.1.4 关键字11
2.2 C语言的数据类型12
2.2.1 整型数据12
2.2.2 实型数据14
2.2.3 字符型数据15
2.2.4 用sizeof 计算数据类型所占的内存空间17
2.3 运算符和表达式18
2.3.1 算术运算符和算术表达式19
2.3.2 赋值运算符和赋值表达式20
2.3.3 逗号运算符和逗号表达式21
2.4 数据类型转换21
2.4.1 不同数据类型的数据间的混合运算21
2.4.2 强制类型转换23
2.5 自增运算和自减运算23
2.6 位运算24
小结27
习题27
第3章 数据的输入和输出29
3.1 数据的输出29
3.1.1 格式输出函数printf29
3.1.2 字符输出函数putchar33
3.2 数据的输入33
3.2.1 格式输入函数scanf33
3.2.2 字符输入函数getchar36
3.3 应用举例37
小结38
习题38
第4章 选择结构42
4.1 算法的概念及其描述方法42
4.1.1 算法的概念42
4.1.2 算法的描述方法43
4.2 关系运算符与关系表达式45
4.2.1 关系运算符45
4.2.2 关系表达式45
4.3 逻辑运算符与逻辑表达式46
4.3.1 逻辑运算符46
4.3.2 逻辑表达式47
4.4 选择语句48
4.4.1 if语句48
4.4.2 if语句的嵌套51
4.4.3 switch语句52
4.5 条件运算符与条件表达式54
4.6 应用举例55
小结58
习题58
第5章 循环结构62
5.1 循环结构概述62
5.2 循环语句63
5.2.1 while循环语句63
5.2.2 do-while循环语句65
5.2.3 for循环语句66
5.2.4 空语句68
5.2.5 三种循环语句的比较69
5.3 循环嵌套70
5.4 循环流程控制73
5.4.1 break语句73
5.4.2 continue语句75
5.4.3 goto语句77
5.4.4 三种语句的区别78
5.5 程序设计实例80
5.5.1 穷举法80
5.5.2 迭代法84
小结88
习题89
第6章 数组96
6.1 一维数组96
6.1.1 一维数组的定义和引用96
6.1.2 一维数组的初始化99
6.1.3 一维数组应用举例101
6.2 二维数组104
6.2.1 二维数组的定义和引用104
6.2.2 二维数组的初始化107
6.2.3 二维数组应用举例109
6.3 字符数组112
6.3.1 字符数组的定义和引用112
6.3.2 字符数组的初始化113
6.3.3 字符数组应用举例114
6.4 字符串116
6.4.1 字符串的存储方法116
6.4.2 字符串的输入和输出117
6.4.3 字符串处理函数120
6.4.4 字符串应用举例123
小结125
习题126
第7章 函数133
7.1 函数的基本概念133
7.1.1 函数的概念133
7.1.2 函数的定义134
7.1.3 函数的调用135
7.1.4 函数参数的传递方式137
7.1.5 函数的返回值138
7.1.6 函数的原型声明140
7.2 数组作为函数参数142
7.2.1 一维数组作为函数参数142
7.2.2 二维数组作为函数参数143
7.2.3 数组作为函数参数的调用及应用举例143
7.3 函数的嵌套调用和递归调用145
7.3.1 函数的嵌套调用145
7.3.2 函数的递归调用147
7.4 变量的作用域和存储方法150
7.4.1 局部变量和全局变量150
7.4.2 变量的存储方法153
7.5 内部函数和外部函数156
7.6 应用举例156
小结162
习题163
第8章 编译预处理168
8.1 宏定义168
8.2 文件包含170
8.3 条件编译171
小结172
习题172
第9章 指针175
9.1 指针的基本概念及指针变量的定义175
9.1.1 指针的基本概念175
9.1.2 指针变量的定义方法176
9.2 指针运算176
9.2.1 赋值运算176
9.2.2 取地址运算176
9.2.3 取内容运算177
9.2.4 指针表达式与整数相加、相减运算178
9.2.5 自增、自减运算179
9.2.6 同类指针相减运算180
9.2.7 关系运算180
9.2.8 强制类型转换运算181
9.2.9 空指针181
9.3 指针变量与一维数组181
9.3.1 指针变量与一维数组之间的联系和区别181
9.3.2 字符串指针与字符串182
9.4 指针与函数184
9.4.1 指针作为函数参数184
9.4.2 返回指针的函数187
9.4.3 函数的指针和指向函数的指针变量188
9.5 指针与二维数组190
9.5.1 二维数组的结构190
9.5.2 二维数组元素及其地址190
9.5.3 指针数组192
9.5.4 指针与字符串数组193
9.5.5 指向数组的指针变量194
9.6 二级指针196
9.7 内存空间的动态分配198
9.7.1 指向void的指针198
9.7.2 常用内存管理函数199
9.8 main函数的参数200
9.8.1 命令行参数200
9.8.2 指针数组作为main函数的形参200
9.9 应用举例201
小结205
习题206
第10章 结构体与共用体213
10.1 结构体类型和结构体变量213
10.1.1 结构体类型的定义213
10.1.2 结构体变量的定义214
10.1.3 结构体变量的引用216
10.1.4 结构体变量的初始化217
10.2 结构体数组217
10.2.1 结构体数组的定义217
10.2.2 结构体数组的引用217
10.2.3 结构体数组的初始化218
10.2.4 应用举例218
10.3 结构体指针220
10.3.1 结构体