首页 > 图书中心 > 程序设计简明教程(C语言版)

目录

第1 章程序设计基础与编程规范 1

11 程序设计与编程工具 1

111 程序与程序设计的概念 1

112 为什么要学程序设计 1

113 为什么要学习C 程序设计 2

12 程序的基本结构和要素 3

121 程序的基本结构 3

122 输入输出 3

13 程序设计一般方法 3

14 编程规范 3

141 为什么要遵守编程规范 4

142 编程规范的基本要求 4

143 标识符命名 4

144 缩进 6

145 空行 7

146 一行只写一条语句 7

147 if、for、while 语句体加括号f g 7

148 每行只声明同一类变量 8

149 函数要先声明后定义 8

1410 注释 8

1411 函数返回类型与return 语句不缺省 9

1412 例1-1:鸡兔同笼 9

15 程序设计方法学11

151 算法11

152 算法的描述12

153 程序流程图12

154 算法的评价13

16 提问的智慧13

161 三思而后问|| 提问之前13

162 提问的技巧14

IV

163 技术问题应全部公开14

164 问题解决后14

习题14

第2 章数据类型与表达式16

21 标识符与关键字16

211 标识符及其命名规则16

212 关键字17

22 数据类型17

23 变量17

231 变量的概念17

232 变量的声明18

233 变量的赋值19

234 例2-1:变量赋初值示例19

235 变量的存储类型20

236 const 类型变量20

24 常量21

241 直接常量(字面量)21

242 符号常量21

243 例2-2:常量示例|| 已知价格和数量,计算总价22

244 整型常量22

245 浮点型常量22

246 字符型常量23

247 字符串常量23

248 转义字符23

25 ASCII 表24

251 ASCII 编码规则24

252 字符与ASCII 码的运算25

26 运算符25

261 赋值运算符26

262 算术运算符26

263 数据类型强制转换27

264 逻辑运算符28

265 关系运算符28

266 自增自减运算符29

267 复合赋值运算符30

268 条件运算符31

269 逗号运算符31

2610 sizeof 运算符31

V

2611 例2-3:sizeof 操作符使用示例|| 输出常用数据类型字节数31

2612 运算符的优先级和结合性32

27 表达式32

271 表达式的概念32

272 数据类型转化33

28 语句34

281 赋值语句34

282 用逗号分隔开的声明语句35

283 变量声明时赋值35

习题35

第3 章基本输入输出37

31 标准输入输出函数37

32 标准输入函数scanf() 37

33 标准输出函数printf()39

331 格式输出中常用转义字符41

34 输入输出函数的应用示例42

例3-1:scanf() 与printf() 应用|| 圆面积、周长42

习题43

第4 章选择控制44

41 顺序控制44

例4-1:交换两变量的值44

42 if 选择控制语句46

421 if 单分支语句46

422 例4-2:if 单分支语句|| 成绩通过通知46

423 if ¢ ¢ ¢ else 双分支语句47

424 例4-3:if 双分支语句|| 成绩是否通过判断47

425 if ¢ ¢ ¢ else if ¢ ¢ ¢ else 多分支语句47

426 例4-4:if 多分支语句|| 成绩等级转换48

427 嵌套if 语句51

428 例4-5:嵌套if 语句|| 闰年判断51

43 switch¢ ¢ ¢ case 语句53

431 switch 语句格式54

432 例4-6:switch 语句示例|| 成绩等级转换54

习题55

第5 章循环控制57

51 循环控制语句57

VI

52 for 语句57

521 for 语句的一般形式与使用说明57

522 for 循环注意事项59

523 例5-1:for 语句|| 计算1+2+3+¢ ¢ ¢ +10059

53 while 语句60

531 while 语句的一般形式60

532 例5-2:while 语句应用|| 计算1+2+3+¢ ¢ ¢+n 60

54 do¢ ¢ ¢ while 语句61

541 do¢ ¢ ¢ while 语句的一般形式61

542 do¢ ¢ ¢ while 循环的使用说明61

543 例5-3:do¢ ¢ ¢ while 语句应用|| 计算1+2+3+¢ ¢ ¢ +100 62

55 break 语句62

551 break 语句使用说明62

552 例5-4:break 语句应用|| 计算1+2+¢ ¢ ¢ +100 时从某项终止63

56 continue 语句63

561 continue 语句使用说明63

562 例5-5:continue 语句应用|| 求1+2+¢ ¢ ¢ +10 时跳过某项63

57 goto 语句64

571 goto 语句的使用格式64

572 例5-6:goto 语句应用|| 求1+2+¢ ¢ ¢+n 大于1000 的最小项n 64

58 选择语句、循环语句综合编程65

581 例5-7:直角三角形图案输出66

582 例5-8:等腰三角形图案输出69

583 例5-9:空心矩形图案输出70

584 例5-10:输出水仙花数71

585 例5-11:素数判断72

586 例5-12:计算ex = 1 + x + x2

2! + ¢ ¢ ¢ + xn

n! 74

587 例5-13:斐波那契数列76

习题79

第6 章数组81

61 一维数组81

611 数组的概念81

612 一维数组的声明81

613 数组元素引用82

614 例6-1:数组元素逆序输出82

615 一维数组的初始化83

616 例6-2:冒泡排序法84

VII

62 二维数组86

621 二维数组的声明86

622 二维数组的初始化86

623 例6-3:矩阵转置87

63 高维数组88

习题88

第7 章字符数组与字符串90

71 字符数组90

711 字符数组概念90

712 字符数组的声明与赋值90

713 例7-1:字符数组元素输出为ASCII 码值92

714 例7-2:字符数组结束标识92

72 字符串93

73 字符串输入输出函数93

731 函数scanf() 和printf() 输入输出字符串93

732 例7-3:scanf() 和printf() 函数输入输出字符串94

733 函数gets() 和puts()95

734 例7-4:gets(),puts() 函数应用示例95

735 函数getchar()96

736 例7-5:getchar() 函数应用|| 将输入的字符串逆序输出96

74 常用字符串函数96

741 字符串长度函数strlen()97

742 例7-6:strlen() 函数示例|| 求字符串长度97

743 字符串连接函数strcat() 97

744 例7-7:strcat() 函数使用示例|| 连接字符串98

745 字符串复制函数strcpy() 98

746 例7-8:strcpy() 函数使用示例|| 字符串复制99

747 字符串比较函数strcmp()99

748 例7-9:strcmp() 函数应用|| 口令系统99

75 字符数组与字符串的区别 101

例7-10:字符数组与字符串区别示例 101

76 字符串数组 102

例7-11:字符串数组示例 102

习题 103

第8 章函数 105

81 函数概念 105

82 函数的定义 106

VIII

821 函数的定义格式 106

822 函数的声明和调用 106

823 例8-1:简单函数示例 106

824 函数嵌套调用 108

825 例8-2:函数的嵌套调用 108

83 函数参数的传递 109

831 形式参数和实际参数 109

832 变量作为函数参数 109

833 例8-3:函数参数传递 110

834 例8-4:函数的多参数传递 110

835 例8-5:函数的实参与形参同名 111

836 函数的返回值 112

837 例8-6:函数返回值|| 计算正方形面积 112

838 例8-7:输出区间[2, 5000] 上的第n 个素数 114

839 例8-8:自定义判断素数头文件primeh  116

8310 例8-9:使用自定义头文件|| 孪生素数 117

84 递归函数 118

841 例8-10:递归函数|| 求阶乘n!  119

842 例8-11:递归函数|| 求1+2+3+¢ ¢ ¢+n 120

85 变量作用域 120

851 作用域概念 120

852 局部作用域 121

853 例8-12:局部变量示例 121

854 全局作用域 121

855 例8-13:全局变量示例|| 输入半径求圆直径、周长、面积、体积 122

习题 123

第9 章指针 124

91 地址 124

911 地址的概念 124

912 变量与地址 124

913 例9-1:变量值与变量地址示例 125

914 数组与地址 126

915 例9-2:数组与地址示例 126

92 指针 128

921 指针的概念 128

922 例9-3:指针简单操作示例 128

923 指针运算 129

924 指向数组的指针 130

IX

925 例9-4:指向数组的指针示例 131

926 指向字符串的指针 132

927 例9-5:指向字符串的指针|| 字符串小写字母变大写 132

928 指向函数的指针 133

929 例9-6:指向函数的指针|| 求两数中的最大数 133

9210 双层指针与多层指针的概念 134

9211 指向指针的指针 134

9212 例9-7:指向指针的指针示例 135

9213 指向二维数组的指针 136

9214 例9-8:指向二维数组的指针示例 136

9215 指向字符串数组的指针 137

9216 例9-9:指向字符串数组的指针|| 大写字母变小写 138

93 函数参数的地址传递 139

931 指针作为函数参数 139

932 例9-10:指针作为函数参数示例 140

933 数组作为函数参数 141

934 例9-11:数组作为函数参数|| 数组元素乘10 后输出 141

94 变量引用作为函数参数 142

941 引用的概念 142

942 例9-12:变量引用示例 143

943 例9-13:变量引用作为函数参数 144

习题 145

第10 章结构体 146

101 结构体的概念 146

102 结构体定义格式 146

103 结构体成员访问 147

例10-1:结构体应用|| 学生结构体 147

习题 148

第11 章文件 149

111 文件的概念 149

112 文件读写函数 150

1121 文件流 150

1122 文件FILE 的数据结构 150

1123 文件结构指针 150

1124 文件的打开函数fopen() 151

1125 关闭文件函数fclose()  151

1126 文件的读写 152

X

1127 例11-1:以字符形式读写文件操作示例 152

1128 例11-2:以字符串形式读写文件操作示例 155

习题 156

附录A DevCPP 的安装与使用 157

A1 DevCPP 简介 157

A2 DevCPP 软件安装 157

A3 创建桌面快捷方式和任务栏快速启动方式 160

A4 DevCPP 的语言设置 160

A5 DevCPP 的工具条设置 161

A6 第一个程序 162

A7 DevCPP 常用快捷键 163

附录B 程序的编辑与调试 165

B1 程序的编辑 165

B2 程序的编译 166

B3 程序的运行 167

B4 程序的基本调试方法 167

B41 标准数据检验 167

B42 程序跟踪 168

B43 例B2-1:插入输出语句跟踪程序|| 冒泡排序法 168

B44 边界检验 169

B45 简化程序 169

B5 DevCPP 的跟踪调试功能 170

B51 设置断点 170

B52 调试 171

B53 例B-2:DevCPP 调试示例|| 循环中的变量 172

附录C ASCII 表 175

附录D 运算符优先级与结合方向 176

参考文献 178

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘