猜你喜欢
C语言程序设计

C语言程序设计

书籍作者:孙辉,吴润秀 ISBN:9787121407468
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:3298
创建日期:2021-10-07 发布日期:2021-10-07
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书结合Visual C++2010集成开发环境,详细介绍了标准C程序设计的基本概念、程序设计方法、集成开发环境中的调试工具和常用的调试技巧。本书共分11章,每一章都配备了一定数量的习题。书中全部程序均可在lcc3.3编译器下编译通过,前11章中的程序,除个别程序外,也能在TC 2.0、gcc3.0及以上版本的C编译器下编译通过。

前言
在信息化高速发展的今天,普适计算、网格计算、云计算、物联网、大数据和人工智能等新技术层出不穷,这些新技术的进步几乎都离不开计算机程序,而所有的程序都是用程序设计语言编写的。作为当代大学生,不仅要熟练操作计算机,熟悉计算机求解问题的方法并以此来解决专业问题,即具备“计算思维”的能力,更为重要的是要学好一门计算机语言,掌握程序设计方法,能够运用程序设计语言进行程序设计、程序调试和程序测试,能够编写计算机程序解决一些简单的与专业相关的实际问题。
在目前常用的数十种计算机高级语言中,C语言的语言格式最接近于自然语言或数学函数形式,由于其语句结构简洁、使用方便、灵活、可移植性好、程序运行效率高,既具有高级语言的一切功能,又具有低级语言的一些功能而受到广大编程爱好者的喜爱。到目前为止,几乎所有的高级语言都是以C语言为基础的(如Java、C++、C#、Python等);在进行底层程序开发方面的工作时,C语言仍然是最普遍需要的语言。
编者长期在一线从事“C语言程序设计”课程教学,根据教学经验编写了本书。本书自从2006年出版以来,经过多次改编,此次改编是在2015年出版的《C语言程序设计》基础上,结合2017年7月教育部高等学校大学计算机课程教学指导委员会在第六届计算思维与大学计算机课程教学改革研讨会上提出的高校设置计算机基础课程教学实施方案编写而成。初学C语言的学生一般会感觉比较难,不易掌握。编者在编写本书时,针对C语言在学习过程中的问题,以“易学”“丰富”“实用”三条主线为出发点,在内容的编排、例题的选择、编写的方式等方面做了一些新改进。
(1)每个例题都从思维入手,以任务为驱动来构造求解问题的过程和程序,归纳起来包括5个步骤:第一,是用清晰简洁、易理解的语言对案例问题进行描述;第二,逐步诱导学生分析和理解问题,得到求解问题的大概过程和思路;第三,对问题进行抽象,即将解决问题的思路转化成计算机能识别的形式,完成对问题的符号化描述,建立问题求解的数学模型;第四,设计解决问题的具体算法,通过自然语言、伪代码或流程图等来描述算法;最后,用C语言编写程序,实现算法与具体代码。
(2)丰富的教学案例是本书的特色之一,全书挑选了80多个程序实例,并特别注意各实例之间的联系,很多实例以两种方式贯穿全书。这样做的目的是用新学过的知识重新编写原来的程序,并对原来较小的程序进行扩充、组合,使之成为较大、较复杂的程序。对学过的程序用新的结构重新编写,可以有效地复习原有知识,并加深对新知识的理解。对原有的程序进行扩充,既能使读者学会编写较大的程序,又是一种温故知新的方式。
学习计算机有一句至理名言:“向计算机学习计算机。”这告诉我们,学习计算机不能崇尚教条或书本,主要是靠多实践。在课堂上是学不会计算机的。在学习的过程中,初学者应注重实践,多上机调试程序。教材中程序的源代码绝大多数是编者为了教学需要而编写的,且在教学中经过了多次使用。全书的所有源程序代码都已经过严格测试,以确保代码的正确性。读者在使用本书的程序代码时,如果没有输入错误(要特别注意符号的输入,如果将英文字母或标点符号输入为中文格式,则肯定会出错),则代码都能编译通过并正确运行。
全书共11章,孙辉、吴润秀担任主编,叶军、朱华生、冯祥胜、王磊、韩宇贞、田秀梅担任副主编。具体分工如下:朱华生和王磊合作编写了第1章、第2章,吴润秀和田秀梅合作编写了第3章、第4章,孙辉和和韩宇贞合作编写了第5章、第6章,叶军编写了第7章、第8章,冯祥胜编写了第9章、第10章,孙辉编写了第11章。叶军对全书进行了统一修改及统稿。
本书是针对C语言的初学者编写的。为了适应某些中级读者,也为了使初学者尽快提高水平,自第7章开始,内容的难度有了较大幅度的提升。有些程序较长,并有一定的难度,但只要读者能将程序输入计算机并调试通过,再通过跟踪程序的运行,是不难理解这些程序的。
由于计算机技术的发展日新月异,加上编者水平有限,书中疏漏之处在所难免,敬请专家、教师和广大读者不吝指正,有问题请发送邮件到[email protected]。  
目录
第1章  绪论	001
1.1  程序设计语言的发展	001
1.1.1  程序	001
1.1.2  程序设计	001
1.1.3  程序设计语言	002
1.2  C语言	003
1.2.1  C语言的特点	004
1.2.2  C语言的结构	006
1.3  几个简单的C语言程序	007
1.4  C语言程序的结构特点	009
1.5  C语言程序的开发设计过程	009
1.6  程序设计的过程	010
1.7  书写程序时应遵循的规则	011
1.8  对于C语言学习的认识	011
习题	012
第2章  基本数据类型及运算符	014
2.1  C语言的字符集、关键字和标识符	014
2.1.1  字符集	014
2.1.2  关键字	014
2.1.3  标识符	015
2.2  C语言的数据类型	015
2.2.1  数据及数据类型的概念	015
2.2.2  基本类型	015
2.2.3  构造类型	016
2.2.4  其他类型	017
2.3  常量与变量	017
2.3.1  常量	017
2.3.2  变量	018
2.4  整型数据	019
2.4.1  整型常量	019
2.4.2  整型变量	020
2.5  实型数据	021
2.5.1  实型常量	021
2.5.2  实型变量	022
2.6  字符数据	022
2.6.1  字符常量	022
2.6.2  转义字符	023
2.6.3  字符变量	023
2.6.4  字符串常量	024
2.7  运算符和表达式	025
2.7.1  算术运算符和算术表达式	025
2.7.2  赋值运算符和赋值表达式	027
2.7.3  自增、自减运算符	028
2.7.4  逗号运算符和逗号表达式	030
2.7.5  sizeof运算符	030
2.7.6  位运算	030
2.8  运算符的优先级	034
2.9  混合运算中的类型转换问题	034
2.9.1  自动类型转换	035
2.9.2  强制类型转换	036
2.10  小结	036
习题	037
第3章  顺序结构	041
3.1  C语言语句	041
3.2  数据的输出和输入	042
3.2.1  printf( )函数和scanf( )函数	042
3.2.2  其他输入输出函数	049
3.3  顺序结构程序设计举例	052
3.4  小结	056
习题	057
第4章  分支结构	060
4.1  逻辑判断	060
4.1.1  关系运算符与关系表达式	060
4.1.2  逻辑运算符和逻辑表达式	061
4.1.3  条件运算符	063
4.2  if语句	064
4.2.1  if语句的简单形式	064
4.2.2  if … else语句	067
4.2.3  if ... else if ... else语句	071
4.2.4  if语句的嵌套	074
4.3  if语句应用举例	076
4.4  switch语句	080
4.5  无条件转移语句(goto)	084
4.6  小结	085
习题	085
第5章  循环结构	089
5.1  while语句	089
5.1.1  while语句的结构	090
5.1.2  while语句的使用	091
5.2  do ... while语句	096
5.2.1  do … while语句的结构	096
5.2.2  do ... while语句的使用	097
5.3  for语句	099
5.3.1  for语句的结构	099
5.3.2  for语句的使用	101
5.4  循环中break和continue语句的使用	104
5.5  循环语句的嵌套	106
5.6  3种循环的比较	109
5.7  循环语句的综合应用	110
5.8  小结	115
习题	115
第6章  函数	119
6.1  函数的概念	119
6.1.1  库函数	120
6.1.2  自定义函数	120
6.1.3  自定义函数的调用	123
6.2  变量的作用域和存储类别	128
6.2.1  变量的作用域	128
6.2.2  变量的存储类别	131
6.3  内部函数和外部函数	136
6.3.1  内部函数	136
6.3.2  外部函数	136
6.4  函数的递归调用	137
6.5  模块程序设计实例	141
6.6  小结	151
习题	152

第7章  数组	156
7.1  一维数组	157
7.1.1  一维数组的定义	157
7.1.2  一维数组的初始化	158
7.1.3  一维数组的引用	158
7.2  二维数组及多维数组	164
7.2.1  二维数组的定义	164
7.2.2  二维数组的初始化	164
7.2.3  二维数组元素的引用	165
7.2.4  三维数组及讨论	166
7.2.5  二维数组的应用	166
7.3  字符数组与字符串	168
7.3.1  字符数组和字符串的初始化	168
7.3.2  常用字符串库函数	171
7.3.3  字符数组与字符串的应用	174
7.4  数组作为函数的参数	176
7.5  数组综合应用举例	179
7.6  小结	185
习题	186
第8章  指针	192
8.1  变量的地址和指针	192
8.1.1  指针变量的定义	193
8.1.2  指针运算符	193
8.1.3  指针的运算	196
8.1.4  指针运算符与单目运算符的优先级	197
8.2  指针变量作为函数参数	200
8.3  多级指针	203
8.4  指针与数组	204
8.4.1  指针与一维数组	204
8.4.2  指针与二维数组	206
8.4.3  数组指针	207
8.4.4  指针数组	208
8.5  指向函数的指针	209
8.5.1  指向函数指针的定义	210
8.5.2  指向函数指针的引用	210
8.6  命令行参数的使用	212
8.7  指针应用程序举例	214
8.8  小结	217
习题	217
第9章  用户自定义数据类型	222
9.1  结构类型	222
9.1.1  结构类型的定义	223
9.1.2  结构类型变量的定义	223
9.1.3  结构类型变量的初始化和引用	226
9.1.4  结构类型数组	229
9.1.5  结构类型指针	231
9.1.6  结构体在函数间的传递	232
9.1.7  链表的概念及简单应用	237
9.2  位域	250
9.3  联合类型	252
9.4  枚举类型	255
9.5  数据类型别名定义	258
9.6  小结	260
习题	261
第10章  文件	265
10.1  文件的概念	265
10.1.1  C语言中的文件	265
10.1.2  标准级(流式)输入输出	266
10.1.3  文件指针	266
10.2  文件的打开与关闭	266
10.2.1  文件的打开	266
10.2.2  文件的关闭	267
10.3  常用文件读写函数	269
10.3.1  字节级读写函数	269
10.3.2  字符串级读写函数	271
10.3.3  格式化读写函数	272
10.3.4  块读写函数	275
10.4  文件定位与随机读写	278
10.5  文件操作错误检测	280
10.6  小结	281
习题	281
第11章  预处理命令	286
11.1  宏定义	286
11.1.1  无参数的宏定义	286
11.1.2  带参数的宏定义	290
11.2  文件包含	292
11.3  条件编译	293
11.3.1  第1种条件编译	293
11.3.2  第2种条件编译	294
11.3.3  第3种条件编译	294
11.4  小结	295
习题	296
参考文献	299