本书作为C语言程序设计的入门与应用教材,讲述了C语言程序设计的基本思想、方法和解决问题的技巧。在内容安排和章节组织上,尽可能将概念、知识点和例题相结合。本书注重基础、突出应用,更好地满足了高等学校应用型人才培养的需求。全书分9章,内容包括C语言概述,程序设计的基础知识,算法与程序设计基本结构,函数,编译预处理,数组,指针,结构体、共用体和枚举类型,文件。为方便教学,本书配有典型例题知识点的讲解视频、课后习题线上自测,读者只需扫描书中相应的二维码即可呈现。另外,本书还提供了电子课件,读者可登录华信教育资源网(www.hxedu.com.cn)免费下载使用。本书易教易学、注重能力培养,对初学者容易混淆的内容进行了重点提示和讲解。 本书可作为高等学校各专业“C语言程序设计”课程的教材,也可作为计算机爱好者的自学用书或各类工程技术人员的参考书。
蒋晶,副教授,主要研究方向为云计算、数据挖掘、建模仿真等,在国内外学术期刊发表多篇学术论文。长期从事计算机程序设计类课程一线教学,具有丰富的教学经验,结合应用型本科院校的实际定位,编著出版多部教材,受到广大师生普遍好评,被多所高等院校选为教材或参考教材。围绕面向应用型计算机类创新人才的培养,积极开展课程群建设、授课模式创新等方面的研究探索,主持参与省级、院级教改课题多项,发表多篇教改论文,获得多项教学成果奖。
目录
第1章 C语言概述\t1
1.1 C语言的发展、特点及应用\t1
1.1.1 C语言的发展\t1
1.1.2 C语言的特点\t2
1.1.3 C语言的应用\t3
1.2 简单的C语言程序介绍\t3
1.3 程序上机环境、步骤方法简介\t5
习题\t15
第2章 程序设计基础知识\t16
2.1 基本字符和基本词汇\t16
2.1.1 基本字符\t16
2.1.2 基本词汇\t16
2.1.3 常量和变量\t18
2.2 数据类型\t19
2.2.1 整型\t19
2.2.2 字符型\t23
2.2.3 实型\t25
2.2.4 数据类型转换\t25
2.3 运算符与表达式\t27
2.3.1 算术运算符与算术表达式\t27
2.3.2 赋值运算符与赋值表达式\t28
2.3.3 逗号运算符与逗号表达式\t30
2.3.4 关系运算符与关系表达式\t30
2.3.5 逻辑运算符与逻辑表达式\t31
2.3.6 条件运算符与条件表达式\t32
2.4 数据的输入和输出\t33
2.4.1 字符输入函数\t33
2.4.2 字符输出函数\t34
2.4.3 格式输入函数\t35
2.4.4 格式输出函数\t37
习题\t40
第3章 程序设计基本结构\t42
3.1 算法及算法描述方法\t42
3.1.1 算法\t42
3.1.2 算法描述方法\t43
3.2 顺序结构\t45
3.3 选择结构\t45
3.3.1 if语句\t46
3.3.2 switch语句\t50
3.3.3 break语句\t52
3.4 循环结构\t53
3.4.1 while语句\t53
3.4.2 do…while语句\t54
3.4.3 for语句\t55
3.4.4 goto语句\t57
3.4.5 break语句和continue语句在循环体中的应用\t58
3.4.6 循环的嵌套\t59
3.5 应用举例\t60
习题\t63
第4章 函数\t65
4.1 函数的概念\t65
4.2 函数的定义\t66
4.3 函数调用\t67
4.3.1 普通调用\t67
4.3.2 嵌套调用\t71
4.3.3 递归调用\t72
4.4 函数声明\t74
4.5 变量的作用域\t76
4.5.1 局部变量\t76
4.5.2 全局变量\t77
4.6 变量的存储类型\t80
习题\t82
第5章 编译预处理\t86
5.1 文件包含\t86
5.2 宏定义\t87
5.2.1 无参宏\t87
5.2.2 带参宏\t90
5.3 条件编译\t92
习题\t93
第6章 数组\t95
6.1 一维数组\t95
6.1.1 一维数组的定义\t95
6.1.2 一维数组的引用\t95
6.1.3 一维数组的初始化\t97
6.2 二维数组\t98
6.2.1 二维数组的定义\t98
6.2.2 二维数组的引用\t98
6.2.3 二维数组的初始化\t99
6.3 字符串及其操作\t100
6.3.1 字符串与字符数组\t100
6.3.2 字符串的输出与输入\t101
6.3.3 字符串处理函数\t105
6.4 应用举例\t109
习题\t113
第7章 指针\t115
7.1 指针的概念\t115
7.1.1 指针变量的定义\t115
7.1.2 指针变量的引用\t116
7.1.3 指针变量的初始化\t116
7.1.4 指针变量的运算\t117
7.2 指针与数组\t118
7.2.1 指针与一维数组\t119
7.2.2 指针与二维数组\t121
7.3 指针与字符串\t124
7.4 指针与函数\t126
7.4.1 指针变量作为函数的参数\t126
7.4.2 指针变量作为函数的返回值\t128
7.4.3 指向函数的指针与指向指针的指针\t129
习题\t130
第8章 结构体、共用体和枚举类型\t133
8.1 结构体的定义与应用\t133
8.1.1 结构体类型的定义\t133
8.1.2 结构体变量的定义\t135
8.1.3 结构体变量的引用与初始化\t136
8.1.4 结构体数组\t138
8.1.5 结构体指针\t141
8.1.6 结构体与函数\t144
8.2 链表\t147
8.2.1 动态内存管理\t147
8.2.2 链表概述\t148
8.2.3 链表的基本操作\t149
8.3 共用体\t155
8.3.1 共用体类型与共用体变量的定义\t155
8.3.2 共用体变量的引用和初始化\t156
8.4 枚举类型\t157
8.5 typedef类型声明\t159
习题\t159
第9章 文件\t163
9.1 文件概述\t163
9.2 文件的基本操作\t163
9.2.1 文件的打开\t164
9.2.2 文件的关闭\t165
9.2.3 文件的读/写操作\t166
9.3 文件的定位\t170
习题\t171
附录A 常用字符与ASCII码值对照表\t174
附录B 运算符的优先级及结合性\t175
附录C 常用库函数\t176
附录D 习题参考答案\t181
附录E 全国计算机等级考试二级C语言程序设计考试大纲\t196
参考文献\t200