高等学校计算机基础教育规划教材程序设计基础 本书特色
以C语言结合C 的输入输出流技术对工科学生进行编程基础教学,包括传统经典的C语言语法、面向过程的模块化程序结构方法,为进一步进行单片机、嵌入式等应用程序开发打下基础。本书以成果导向的教学(Outcome Based Education,OBE)理念进行内容组织,侧重于对学生编程能力的培养,注重应用,淡化语法细节,多案例、细讲解、少语法、少偏怪。目标是使学生了解必要的语法,具有程序设计的能力。本书采用C语言作为编程基础语言,同时利用C 兼容C的特点,用C 程序进行编程示例,输入输出采用C 的输入输出流技术,其余部分均采用C语言的语法。本书有配套的实验指导《程序设计实验指导书》,还配有教学课件、例题和习题源程序等电子资源。 本书适用于应用型高校计算机类、信息类、控制类专业学生的程序设计学习。
高等学校计算机基础教育规划教材程序设计基础 内容简介
以C语言结合C++的输入输出流技术对工科学生进行编程基础教学,包括传统经典的C语言语法、面向过程的模块化程序结构方法,为进一步进行单片机、嵌入式等应用程序开发打下基础。本书以成果导向的教学(Outcome Based Education,OBE)理念进行内容组织,侧重于对学生编程能力的培养,注重应用,淡化语法细节,多案例、细讲解、少语法、少偏怪。目标是使学生了解必要的语法,具有程序设计的能力。本书采用C语言作为编程基础语言,同时利用C++兼容C的特点,用C++程序进行编程示例,输入输出采用C++的输入输出流技术,其余部分均采用C语言的语法。本书有配套的实验指导《程序设计实验指导书》,还配有教学课件、例题和习题源程序等电子资源。
本书适用于应用型高校计算机类、信息类、控制类专业学生的程序设计学习。
高等学校计算机基础教育规划教材程序设计基础 目录
目 录
第1章基础知识1
1.1为什么要学习程序设计1
1.2C语言简介3
1.3相关的软件知识8
1.3.1二进制8
1.3.2源程序到可执行程序9
1.3.3预处理命令10
1.3.4输入输出11
1.4相关的硬件知识11
1.4.1计算机的硬件体系结构11
1.4.2内存的结构原理12
1.5小结14
习题114
第2章数据类型16
2.1数据类型的概念16
2.2常量与变量17
2.2.1常量18
2.2.2变量19
2.2.3标识符的命名规则20
2.3整型数据20
2.3.1无符号整型数据21
2.3.2有符号整型数据21
2.4实型数据23
2.4.1实型常量23
2.4.2实型数据的存储格式23
2.5字符型数据24
2.6字符串常量252.7不同类型数据的混合运算26
2.8不同类型数据的输入输出29
2.8.1C 的输入输出29
2.8.2C语言的格式输入输出函数30
2.9小结38
习题238
第3章运算符及表达式40
3.1基本概念40
3.1.1运算符分类41
3.1.2运算符与数据类型41
3.1.3运算符的优先级与结合性42
3.2算术运算符42
3.3赋值运算符43
3.4关系运算符45
3.5逻辑运算符46
3.6位运算符47
3.6.1位逻辑运算符47
3.6.2移位运算符48
3.6.3位运算的应用49
3.7运算符的优先级49
3.8小结50
习题350
第4章程序的选择结构52
4.1双分支选择结构53
4.2单分支选择结构57
4.3选择结构语句的嵌套60
4.4多分支选择结构62
4.4.1级联式else if语句62
4.4.2switch语句64
4.5小结68
习题468
第5章程序的循环结构70
5.1程序的循环控制70
5.2while语句73
5.3do?while语句77
5.4for语句79
5.5循环结构的嵌套86
5.6特殊的流程控制语句90
5.6.1break语句90
5.6.2continue语句90
5.6.3goto语句92
5.6.4exit()函数93
5.7穷举算法与迭代算法93
5.7.1穷举算法94
5.7.2迭代算法95
5.8小结96
习题596
第6章函数100
6.1函数的定义与调用101
6.1.1函数定义101
6.1.2函数调用103
6.2如何建立函数106
6.2.1建立函数的基本方法106
6.2.2函数封装与程序的健壮性108
6.3函数原型与函数声明111
6.4递归函数118
6.5变量的作用域与存储类型122
6.5.1局部变量与全局变量122
6.5.2变量的存储类型125
6.6模块化程序设计127
6.7小结129
习题6129
第7章数组135
7.1数组的定义与初始化136
7.1.1数组的定义136
7.1.2数组的初始化137
7.2数组的引用139
7.3数组作函数参数142
7.4排序问题147
7.4.1交换排序法147
7.4.2选择排序法148
7.4.3冒泡排序法150
7.5查找问题153
7.5.1顺序查找154
7.5.2折半查找155
7.6字符数组158
7.7小结162
习题7162
第8章指针166
8.1指针概述167
8.1.1指针与地址167
8.1.2指针变量的定义与指针运算符168
8.1.3指针作函数参数172
8.2指针与一维数组174
8.2.1指向一维数组元素的指针175
8.2.2数组名和指针作函数参数177
8.3指针与二维数组179
8.3.1指向指针的指针179
8.3.2二维数组的指针179
8.3.3指向二维数组的指针变量182
8.3.4二维数组指针作函数参数183
8.4指针与字符串186
8.5函数的返回值为指针188
8.6动态内存分配191
8.6.1malloc函数191
8.6.2calloc函数192
8.6.3free函数193
8.7小结194
习题8194
第9章字符串200
9.1字符串常量200
9.2字符串处理函数201
9.3字符串与字符数组205
9.4小结205
习题9206
第10章构造数据类型207
10.1结构体类型207
10.1.1结构体类型的声明207
10.1.2结构体变量的定义208
10.1.3结构体变量成员的引用209
10.2共用体类型211
10.3枚举类型213
10.4链表216
10.4.1创建链表216
10.4.2对链表的基本操作217
10.5小结220
习题10221
第11章文件的操作222
11.1文件类型及打开方式222
11.2读文件223
11.3写文件224
11.4小结231
习题11231
第12章综合应用232
12.1典型程序示例232
12.2程序设计实例244
12.3单片机程序实例250
12.4小结252
习题12252
附录AASCII码表253
附录BC语言的关键字256
附录CC语言运算符的优先级和结合性257
附录DC语言的常用库函数259
附录EC语言语法概要264
参考文献269