目录
第1章概述/1
1.1计算机程序设计语言1
1.2编写程序的步骤1
1.2.1编码1
1.2.2编译2
1.2.3调试2
1.2.4维护2
1.3算法3
1.3.1算法的特性3
1.3.2算法的描述3
1.4用C/C++语言编写程序6
1.4.1输出“Hello,World!”6
1.4.2计算a+b7
1.4.3比较大小8
1.4.4计算分段函数的值9
1.4.5输出奇偶数之和11
1.4.6画正方形11
练习112
第2章类型、运算符与表达式/15
2.1变量15
2.1.1变量的命名规则15
2.1.2变量的声明16
2.2数据类型及长度16
2.2.1short与long限定符17
2.2.2signed与unsigned限定符17
2.2.3printf和scanf格式转换符17
2.3常量19
2.3.1整数常量与浮点数常量19
2.3.2字符常量20
2.3.3字符串常量20
2.3.4符号常量21
2.3.5枚举常量22
2.4算术运算符22
2.5关系运算符与逻辑运算符22
2.6自增运算符与自减运算符24
2.7逗号运算符25
2.8赋值运算符与赋值表达式26
2.9条件运算符与条件表达式26
2.10数值类型转换27
2.11运算符的优先级及求值次序28
练习229
〖1〗程序设计基础目录〖3〗〖3〗第3章分支结构/33
3.1实例导入33
3.2语句与程序块34
3.3ifelse语句34
3.4elseif语句36
3.5switch语句38
3.6应用实例42
练习344
第4章循环结构/48
4.1实例导入48
4.2while循环51
4.3for循环54
4.4dowhile循环57
4.5三种循环语句的比较60
4.6循环结构的嵌套60
4.7break语句与continue语句63
4.8专题1: 正整数的拆分65
4.9专题2: 迭代法68
4.10应用实例70
练习475
第5章输入与输出/84
5.1getchar()函数84
5.2putchar()函数85
5.3scanf()函数86
5.4printf()函数87
5.5C++格式化控制台输出89
5.6应用实例92
练习599
第6章函数/101
6.1实例导入101
6.2函数的基本知识103
6.2.1函数的定义103
6.2.2函数的调用104
6.2.3函数的声明108
6.2.4函数设计的基本原则111
6.3以引用方式传递参数111
6.4局部、全局和静态变量114
6.4.1for循环中变量的作用域114
6.4.2静态局部变量115
6.5函数的递归调用119
6.6专题3: 最大公约数的求解122
6.6.1欧几里得算法123
6.6.2更相减损法124
6.7应用实例124
练习6126
第7章数组/132
7.1实例导入132
7.2一维数组133
7.2.1一维数组的定义133
7.2.2一维数组元素的引用134
7.2.3一维数组的初始化135
7.2.4一维数组的应用举例136
7.3二维数组141
7.3.1二维数组的定义142
7.3.2二维数组元素的引用142
7.3.3二维数组的初始化143
7.3.4二维数组的应用举例144
7.4数组与函数147
7.5查找149
7.5.1顺序查找149
7.5.2折半查找149
7.6排序150
7.6.1选择排序150
7.6.2冒泡排序151
7.7专题4: 素数153
7.7.1判断某个数是否是素数153
7.7.2一定范围内所有素数的求解155
练习7156
第8章字符串与文件操作/161
8.1字符数组161
8.1.1字符数组的定义和引用161
8.1.2字符数组的初始化161
8.1.3字符数组的输入与输出163
8.1.4字符数组的应用举例164
8.2string类型字符串168
8.2.1构造一个字符串168
8.2.2读字符串168
8.2.3操作字符串的函数168
8.2.4string的应用举例171
8.3文件操作与重定向175
8.3.1读写文件175
8.3.2重定向176
8.4专题5: 进制转换177
练习8179
第9章指针/183
9.1实例导入183
9.2指针的基本知识186
9.2.1指针变量的声明186
9.2.2指针变量的初始化186
9.2.3指针变量的基本运算187
9.3指针与数组189
9.3.1指针与一维数组189
9.3.2指针与多维数组194
9.4指针与函数195
9.4.1函数的形参是指针195
9.4.2函数返回指针197
9.4.3指向函数的指针197
9.5字符指针与函数198
9.6指针数组199
9.6.1指针数组的声明199
9.6.2指针数组的初始化199
9.6.3指针数组与二维数组的区别199
9.7命令行参数200
9.8指向指针的指针201
9.9动态持久内存分配202
练习9203
第10章结构/207
10.1实例导入207
10.2结构的基本知识209
10.2.1结构类型的定义210
10.2.2结构变量的定义210
10.2.3结构成员的访问211
10.2.4对结构变量的操作211
10.2.5结构变量的初始化212
10.2.6结构的嵌套213
10.3结构数组213
10.4结构指针216
10.5typedef217
10.6结构与函数218
10.7单链表219
10.7.1单链表的创建220
10.7.2单链表的输出220
10.7.3单链表的插入221
10.7.4单链表的删除223
10.7.5链表的综合操作224
10.8应用实例226
10.8.1用结构数组实现227
10.8.2用单链表实现228
练习10230
第11章位运算/236
11.1原码、反码和补码236
11.2位运算符236
11.2.1与运算符236
11.2.2或运算符237
11.2.3异或运算符237
11.2.4取反运算符238
11.2.5左移运算符和右移运算符238
11.3位赋值运算符241
11.4应用实例241
练习11243
第12章大串讲/246
12.1顺序输出整数的各位数字246
12.2阶乘和248
12.3斐波那契数列250
12.4计算函数的值252
12.5数列有序254
12.6数的转移256
12.7有理数四则运算258
12.8德才论260
12.9天长地久262
附录/265
附录A常用字符与ASCII对照表265
附录B常用的库函数266
B.1数学函数266
B.2字符处理函数268
B.3字符串处理函数269
B.4实用函数270
附录C与具体实现相关的限制270
附录DHack271
附录E对拍271
参考文献/275