C语言程序设计 / 高等职业教育十三五规划教材
¥36.00定价
作者: 沈涵飞
出版时间:2022-02
出版社:机械工业出版社
- 机械工业出版社
- 9787111602309
- 1-6
- 223411
- 65239190-5
- 平装
- 16开
- 2022-02
- 245
- 168
- 工学
- 软件工程
- TP312C
- 计算机应用技术
- 高职
内容简介
目录
目录
前言1
第1章 初识C语言2
1.1 计算机和程序设计语言2
1.1.1 计算机的发展和程序设计语言的产生2
1.1.2 机器语言、汇编语言和高级语言3
1.1.3 程序设计的开发效率和运行效率3
1.1.4 最常见的程序设计语言及其用途4
1.1.5 学习程序设计从C语言开始5
1.2 C语言的发展和特点6
1.2.1 C语言的发展6
1.2.2 C语言的特点7
1.3 C语言程序的初步探索8
1.3.1 第1个程序:Hello, World!8
1.3.2 C/C++集成开发环境C-Free的安装9
1.4 算术表达式的计算11
1.5 如何学好程序设计:模仿、理解和运用12
习题13
第2章 数据类型、运算和输入输出14
2.1 标识符和关键字14
2.2 常量和变量14
2.2.1 普通常量和符号常量14
2.2.2 变量的定义和初始化15
2.2.3 赋值类运算符15
2.3 常用的基本数据类型的及其特点16
2.3.1 常用的数据类型17
2.3.2 整数类型能精确表示限定范围内的所有整数18
2.3.3 浮点数类型只能近似的表示数据19
2.4 C程序基本结构:DICO 和 A+B问题19
2.5 程序设计在线评测系统20
2.6 基本算术运算(取整和取余)21
2.7 格式化输入:三位数反转22
2.8 浮点数:计算圆的周长和面积22
2.9 字符类型24
2.10 强大、经典的 scanf 和 printf25
2.11 在命令行编译和运行程序28
2.12 文件、I/O重定向和管道*29
2.12.1 一切都是文件29
2.12.2 管道机制30
习题31
第3章 分支结构32
3.1 if-else 语句的三种基本形式32
3.1.1 基本结构1:单分支结构32
3.1.2 基本结构2:双分支结构33
3.1.3 双分支结构和三元运算符34
3.1.4 基本结构3:多分支结构34
3.2 语法错误和逻辑错误36
3.3 运算符、表达式和优先级37
3.3.1 关系运算符与关系表达式37
3.3.2 逻辑运算符和逻辑表达式38
3.3.3 自增自减运算符40
3.4 逻辑运算符的短路特性40
3.5 多路分支语句switch-case-break42
3.5.1 switch-case-break的基本用法42
3.5.2 多个case语句相同情况的处理44
3.6 代码格式化:让代码清晰易读46
3.7 C语言的if~else匹配问题 *47
习题47
第4章 循环结构49
4.1 最简单的循环:简单重复49
4.1.1 代码的优化50
4.1.2 左闭右开50
4.2 循环表示序列:计算1~100的和51
4.2.1 累积运算:求1~100的和51
4.2.2 计算1~100的PHP、JAVA、Swift和Python版本53
4.2.3 罗塞塔石碑语言学习法54
4.3 从特定的数扩展到序列:水仙花数54
4.4 三种基本循环结构及运行流程56
4.5 流程图和while循环:3n+1 问题58
4.6 do-while循环:迭代法求平方根59
4.7 二重循环:九九乘法表60
4.8 多重循环:水仙花数61
4.9 改变循环执行流程:break 和 continue62
4.10 while典型结构:读取比较二合一 *63
习题65
第5章 算法和程序设计66
5.1 程序=算法+数据结构66
5.2 算法的五大特点67
5.3 算法的表示67
5.3.1 流程图68
5.3.2 N-S流程图68
5.4 程序设计方法69
5.4.1 程序设计的一般步骤69
5.4.2 结构化程序设计方法70
5.5 C++中的标准模板库(STL)*70
习题72
第6章 批量数据的处理——数组73
6.1 初识数组:从一组数中找出最大值73
6.2 数组进阶:选择排序法75
6.3 动态申请数组 *77
6.4 二维数组:计算方阵对角线元素之和78
6.5 模拟:奇数阶魔方(从伪代码到C语言)*80
6.6 数组应用举例:统计各类字符的个数82
习题83
第7章 函数84
7.1 函数的基本知识84
7.2 函数的调用过程86
7.3 编写自定义函数——分段函数87
7.4 函数的四种类型89
7.5 数组作为函数参数:寻找数组中的最大值89
7.6 递归函数:计算阶乘和斐波那契数列90
7.7 计算程序运行时间:递归和递推的效率比较*92
7.8 经典递归问题:汉诺塔*93
7.9 编译流程:预处理、编译、汇编、链接95
7.10 全局变量、静态变量:优化斐波那契数列的递归版本97
习题99
第8章 特殊的字符数组——字符串100
8.1 字符串的声明、输入和输出100
8.2 字符串的简单应用:判断回文101
8.3 字符数组的空间和字符串的长度103
8.4 常用字符串处理函数103
8.5 字符串不是一等公民105
8.6 使用memset函数初始化数组*108
习题109
第9章 指针——地址的别名110
9.1 初识指针110
9.2 数组和指针112
9.3 函数的传值调用和传地址调用115
9.3.1 传值调用115
9.3.2 传地址调用116
9.4 字符串指针和字符数组:只读和可写118
9.5 指针数组和命令行参数*119
9.6 指向函数的指针:快速排序函数的应用*121
习题122
第10章 结构体124
10.1 初识结构体:重写两点之间的距离124
10.2 结构体的初始化和三种访问方式126
10.3 数据类型的空间分配127
10.4 初识链表(自引用结构)128
习题130
第11章 文件处理132
11.1 文件与流132
11.1.1 文件基础知识132
11.1.2 文件和流132
11.1.3 文本文件和二进制文件133
11.1.4 文件缓冲系统134
11.2 文件的打开和关闭方法134
11.3 文件的读写136
11.3.1 字符的读写:显示文件的内容和复制文件136
11.3.2 数据块的读写:复制文件137
11.3.3 逐行处理:搜索模式串138
11.3.4 文件的格式化输入:处理CSV文件*140
11.4 文件的定位与随机读写141
习题143
附录A 常用字符与
前言1
第1章 初识C语言2
1.1 计算机和程序设计语言2
1.1.1 计算机的发展和程序设计语言的产生2
1.1.2 机器语言、汇编语言和高级语言3
1.1.3 程序设计的开发效率和运行效率3
1.1.4 最常见的程序设计语言及其用途4
1.1.5 学习程序设计从C语言开始5
1.2 C语言的发展和特点6
1.2.1 C语言的发展6
1.2.2 C语言的特点7
1.3 C语言程序的初步探索8
1.3.1 第1个程序:Hello, World!8
1.3.2 C/C++集成开发环境C-Free的安装9
1.4 算术表达式的计算11
1.5 如何学好程序设计:模仿、理解和运用12
习题13
第2章 数据类型、运算和输入输出14
2.1 标识符和关键字14
2.2 常量和变量14
2.2.1 普通常量和符号常量14
2.2.2 变量的定义和初始化15
2.2.3 赋值类运算符15
2.3 常用的基本数据类型的及其特点16
2.3.1 常用的数据类型17
2.3.2 整数类型能精确表示限定范围内的所有整数18
2.3.3 浮点数类型只能近似的表示数据19
2.4 C程序基本结构:DICO 和 A+B问题19
2.5 程序设计在线评测系统20
2.6 基本算术运算(取整和取余)21
2.7 格式化输入:三位数反转22
2.8 浮点数:计算圆的周长和面积22
2.9 字符类型24
2.10 强大、经典的 scanf 和 printf25
2.11 在命令行编译和运行程序28
2.12 文件、I/O重定向和管道*29
2.12.1 一切都是文件29
2.12.2 管道机制30
习题31
第3章 分支结构32
3.1 if-else 语句的三种基本形式32
3.1.1 基本结构1:单分支结构32
3.1.2 基本结构2:双分支结构33
3.1.3 双分支结构和三元运算符34
3.1.4 基本结构3:多分支结构34
3.2 语法错误和逻辑错误36
3.3 运算符、表达式和优先级37
3.3.1 关系运算符与关系表达式37
3.3.2 逻辑运算符和逻辑表达式38
3.3.3 自增自减运算符40
3.4 逻辑运算符的短路特性40
3.5 多路分支语句switch-case-break42
3.5.1 switch-case-break的基本用法42
3.5.2 多个case语句相同情况的处理44
3.6 代码格式化:让代码清晰易读46
3.7 C语言的if~else匹配问题 *47
习题47
第4章 循环结构49
4.1 最简单的循环:简单重复49
4.1.1 代码的优化50
4.1.2 左闭右开50
4.2 循环表示序列:计算1~100的和51
4.2.1 累积运算:求1~100的和51
4.2.2 计算1~100的PHP、JAVA、Swift和Python版本53
4.2.3 罗塞塔石碑语言学习法54
4.3 从特定的数扩展到序列:水仙花数54
4.4 三种基本循环结构及运行流程56
4.5 流程图和while循环:3n+1 问题58
4.6 do-while循环:迭代法求平方根59
4.7 二重循环:九九乘法表60
4.8 多重循环:水仙花数61
4.9 改变循环执行流程:break 和 continue62
4.10 while典型结构:读取比较二合一 *63
习题65
第5章 算法和程序设计66
5.1 程序=算法+数据结构66
5.2 算法的五大特点67
5.3 算法的表示67
5.3.1 流程图68
5.3.2 N-S流程图68
5.4 程序设计方法69
5.4.1 程序设计的一般步骤69
5.4.2 结构化程序设计方法70
5.5 C++中的标准模板库(STL)*70
习题72
第6章 批量数据的处理——数组73
6.1 初识数组:从一组数中找出最大值73
6.2 数组进阶:选择排序法75
6.3 动态申请数组 *77
6.4 二维数组:计算方阵对角线元素之和78
6.5 模拟:奇数阶魔方(从伪代码到C语言)*80
6.6 数组应用举例:统计各类字符的个数82
习题83
第7章 函数84
7.1 函数的基本知识84
7.2 函数的调用过程86
7.3 编写自定义函数——分段函数87
7.4 函数的四种类型89
7.5 数组作为函数参数:寻找数组中的最大值89
7.6 递归函数:计算阶乘和斐波那契数列90
7.7 计算程序运行时间:递归和递推的效率比较*92
7.8 经典递归问题:汉诺塔*93
7.9 编译流程:预处理、编译、汇编、链接95
7.10 全局变量、静态变量:优化斐波那契数列的递归版本97
习题99
第8章 特殊的字符数组——字符串100
8.1 字符串的声明、输入和输出100
8.2 字符串的简单应用:判断回文101
8.3 字符数组的空间和字符串的长度103
8.4 常用字符串处理函数103
8.5 字符串不是一等公民105
8.6 使用memset函数初始化数组*108
习题109
第9章 指针——地址的别名110
9.1 初识指针110
9.2 数组和指针112
9.3 函数的传值调用和传地址调用115
9.3.1 传值调用115
9.3.2 传地址调用116
9.4 字符串指针和字符数组:只读和可写118
9.5 指针数组和命令行参数*119
9.6 指向函数的指针:快速排序函数的应用*121
习题122
第10章 结构体124
10.1 初识结构体:重写两点之间的距离124
10.2 结构体的初始化和三种访问方式126
10.3 数据类型的空间分配127
10.4 初识链表(自引用结构)128
习题130
第11章 文件处理132
11.1 文件与流132
11.1.1 文件基础知识132
11.1.2 文件和流132
11.1.3 文本文件和二进制文件133
11.1.4 文件缓冲系统134
11.2 文件的打开和关闭方法134
11.3 文件的读写136
11.3.1 字符的读写:显示文件的内容和复制文件136
11.3.2 数据块的读写:复制文件137
11.3.3 逐行处理:搜索模式串138
11.3.4 文件的格式化输入:处理CSV文件*140
11.4 文件的定位与随机读写141
习题143
附录A 常用字符与