描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111564706丛书名: readOnly
内容简介
本书分16章说明C语言相关的语法与应用。首先介绍C语言的基础语法,包括如何进行C语言程序的编写、编译、执行和除错,通过对变量、常数、数据类型的学习,进而了解各种运算符和流程控制指令;然后介绍C语言的进阶语法,包括数组与字符串的声明与运用、指针的概念与实践,并示范如何自定义函数、参数传递与函数的高级应用,以及预处理器的使用;后介绍结构数据类型的基本概念、各种文件类型的操作技巧与管理以及从C到C 面向对象程序设计的过渡。
目 录
目 录
前言
第1章 C语言的堂课1
1-1 C语言的起源1
1-2 我的个C程序2
1-2-1 程序代码编写规则4
1-2-2 编译程序代码5
1-2-3 运行C程序5
1-2-4 程序代码的调试6
1-3 helloworld程序快速解析7
1-3-1 头文件的作用7
1-3-2 main()函数简介8
1-3-3 system()函数的作用9
1-3-4 注释与缩排9
1-4 课后练习10
第2章 变量与常数13
2-1 认识变量14
2-1-1 变量命名原则14
2-1-2 变量的声明15
2-2 变量的作用域17
2-2-1 全局变量18
2-2-2 局部变量18
2-2-3 区块变量18
2-3 常数20
2-4 课后练习22
第3章 C语言的基本数据类型24
3-1 认识基本数据类型24
3-1-1 整数24
3-1-2 浮点数27
3-1-3 字符类型29
3-1-4 转义字符简介33
3-2 数据类型转换34
3-2-1 自动类型转换35
3-2-2 强制类型转换36
3-3 上机程序测验37
3-4 课后练习38
第4章 格式化输入与输出函数41
4-1 printf()函数41
4-1-1 格式化字符43
4-1-2 字段宽度设置功能45
4-1-3 精度设置功能47
4-1-4 标志设置功能50
4-2 scanf()函数51
4-2-1 格式化字符52
4-2-2 加上提示字符54
4-2-3 字段宽度设置功能56
4-2-4 输入字符串57
4-3 其他输入/输出函数59
4-3-1 getchar()函数与putchar()函数59
4-3-2 getche()函数与getch()函数60
4-3-3 gets()函数与puts()函数62
4-4 上机程序测验63
4-5 课后练习64
第5章 表达式与运算符66
5-1 表达式简介66
5-2 认识运算符67
5-2-1 赋值运算符68
5-2-2 算术运算符69
5-2-3 关系运算符70
5-2-4 逻辑运算符71
5-2-5 位运算符74
5-2-6 递增与递减运算符79
5-2-7 复合赋值运算符81
5-3 上机程序测验82
5-4 课后练习82
第6章 流程控制与选择性结构86
6-1 顺序结构86
6-2 选择结构87
6-2-1 if 条件语句88
6-2-2 if-else条件语句90
6-2-3 条件运算符94
6-2-4 switch选择语句95
6-3 上机程序测验99
6-4 课后练习100
第7章 循环结构103
7-1 for循环104
7-1-1 for循环的使用方式104
7-1-2 嵌套循环106
7-2 while 循环107
7-3 do while循环110
7-4 循环控制指令112
7-4-1 break指令113
7-4-2 continue指令114
7-4-3 goto指令115
7-5 上机程序测验117
7-6 课后练习118
第8章 数组与字符串120
8-1 认识C语言的数组120
8-1-1 一维数组121
8-1-2 二维数组126
8-1-3 多维数组130
8-2 字符串简介132
8-2-1 字符串的使用133
8-2-2 字符串数组134
8-2-3 字符串处理功能136
8-2-4 字符串处理函数138
8-3 上机程序测验140
8-4 课后练习142
第9章 指针基础入门146
9-1 认识地址146
9-1-1 指针的作用146
9-1-2 变量地址的存取147
9-1-3 存取数组元素的地址148
9-1-4 指针变量149
9-2 多重指针153
9-2-1 双重指针153
9-2-2 多重指针155
9-3 认识指针运算157
9-3-1 递增与递减运算157
9-3-2 指针常数与数组159
9-3-3 指针变量与数组162
9-4 上机程序测验162
9-5 课后练习163
第10章 高级指针处理166
10-1 指针与字符串166
10-1-1 使用指针设置字符串166
10-1-2 指针数组168
10-2 动态分配170
10-2-1 动态分配变量170
10-2-2 动态分配一维数组172
10-2-3 动态分配字符串174
10-2-4 动态分配多维数组175
10-2-5 通用类型指针180
10-3 上机程序测验181
10-4 课后练习182
第11章 函数的基本认识184
11-1 认识函数184
11-1-1 模块化设计精神185
11-1-2 函数的使用185
11-2 函数的使用185
11-2-1 函数原型声明简介185
11-2-2 函数的定义187
11-2-3 函数的调用188
11-3 参数传递方式189
11-3-1 参数的意义189
11-3-2 传值调用189
11-3-3 传址调用192
11-3-4 数组参数的传递194
11-4 递归的作用197
11-5 上机程序测验199
11-6 课后练习201
第12章 函数的高级应用与宏203
12-1 命令行参数203
12-2 指针返回值205
12-3 函数指针207
12-4 变量的作用域208
12-4-1 auto变量208
12-4-2 register变量209
12-4-3 static变量210
12-4-4 extern变量211
12-5 预处理器213
12-5-1 宏指令214
12-5-2 条件编译指令216
12-5-3 #include指令218
12-6 上机程序测验219
12-7 课后练习220
第 13 章 结构数据类型223
13-1 结构简介223
13-1-1 声明结构变量223
13-1-2 存取结构成员224
13-1-3 结构指针226
13-1-4 动态分配结构变量229
13-1-5 结构数组231
13-1-6 嵌套结构233
13-2 链表235
13-2-1 链表的建立236
13-2-2 链表程序的实现236
13-3 函数与结构241
13-3-1 结构参数与传值调用241
13-3-2 结构参数与传址调用241
13-4 上机程序测验242
13-5 课后练习244
第 14 章 其他自定义数据类型与项目设计248
14-1 类型定义指令248
14-2 枚举指令251
14-3 联合指令253
14-4 项目程序简介255
14-5 上机
前言
第1章 C语言的堂课1
1-1 C语言的起源1
1-2 我的个C程序2
1-2-1 程序代码编写规则4
1-2-2 编译程序代码5
1-2-3 运行C程序5
1-2-4 程序代码的调试6
1-3 helloworld程序快速解析7
1-3-1 头文件的作用7
1-3-2 main()函数简介8
1-3-3 system()函数的作用9
1-3-4 注释与缩排9
1-4 课后练习10
第2章 变量与常数13
2-1 认识变量14
2-1-1 变量命名原则14
2-1-2 变量的声明15
2-2 变量的作用域17
2-2-1 全局变量18
2-2-2 局部变量18
2-2-3 区块变量18
2-3 常数20
2-4 课后练习22
第3章 C语言的基本数据类型24
3-1 认识基本数据类型24
3-1-1 整数24
3-1-2 浮点数27
3-1-3 字符类型29
3-1-4 转义字符简介33
3-2 数据类型转换34
3-2-1 自动类型转换35
3-2-2 强制类型转换36
3-3 上机程序测验37
3-4 课后练习38
第4章 格式化输入与输出函数41
4-1 printf()函数41
4-1-1 格式化字符43
4-1-2 字段宽度设置功能45
4-1-3 精度设置功能47
4-1-4 标志设置功能50
4-2 scanf()函数51
4-2-1 格式化字符52
4-2-2 加上提示字符54
4-2-3 字段宽度设置功能56
4-2-4 输入字符串57
4-3 其他输入/输出函数59
4-3-1 getchar()函数与putchar()函数59
4-3-2 getche()函数与getch()函数60
4-3-3 gets()函数与puts()函数62
4-4 上机程序测验63
4-5 课后练习64
第5章 表达式与运算符66
5-1 表达式简介66
5-2 认识运算符67
5-2-1 赋值运算符68
5-2-2 算术运算符69
5-2-3 关系运算符70
5-2-4 逻辑运算符71
5-2-5 位运算符74
5-2-6 递增与递减运算符79
5-2-7 复合赋值运算符81
5-3 上机程序测验82
5-4 课后练习82
第6章 流程控制与选择性结构86
6-1 顺序结构86
6-2 选择结构87
6-2-1 if 条件语句88
6-2-2 if-else条件语句90
6-2-3 条件运算符94
6-2-4 switch选择语句95
6-3 上机程序测验99
6-4 课后练习100
第7章 循环结构103
7-1 for循环104
7-1-1 for循环的使用方式104
7-1-2 嵌套循环106
7-2 while 循环107
7-3 do while循环110
7-4 循环控制指令112
7-4-1 break指令113
7-4-2 continue指令114
7-4-3 goto指令115
7-5 上机程序测验117
7-6 课后练习118
第8章 数组与字符串120
8-1 认识C语言的数组120
8-1-1 一维数组121
8-1-2 二维数组126
8-1-3 多维数组130
8-2 字符串简介132
8-2-1 字符串的使用133
8-2-2 字符串数组134
8-2-3 字符串处理功能136
8-2-4 字符串处理函数138
8-3 上机程序测验140
8-4 课后练习142
第9章 指针基础入门146
9-1 认识地址146
9-1-1 指针的作用146
9-1-2 变量地址的存取147
9-1-3 存取数组元素的地址148
9-1-4 指针变量149
9-2 多重指针153
9-2-1 双重指针153
9-2-2 多重指针155
9-3 认识指针运算157
9-3-1 递增与递减运算157
9-3-2 指针常数与数组159
9-3-3 指针变量与数组162
9-4 上机程序测验162
9-5 课后练习163
第10章 高级指针处理166
10-1 指针与字符串166
10-1-1 使用指针设置字符串166
10-1-2 指针数组168
10-2 动态分配170
10-2-1 动态分配变量170
10-2-2 动态分配一维数组172
10-2-3 动态分配字符串174
10-2-4 动态分配多维数组175
10-2-5 通用类型指针180
10-3 上机程序测验181
10-4 课后练习182
第11章 函数的基本认识184
11-1 认识函数184
11-1-1 模块化设计精神185
11-1-2 函数的使用185
11-2 函数的使用185
11-2-1 函数原型声明简介185
11-2-2 函数的定义187
11-2-3 函数的调用188
11-3 参数传递方式189
11-3-1 参数的意义189
11-3-2 传值调用189
11-3-3 传址调用192
11-3-4 数组参数的传递194
11-4 递归的作用197
11-5 上机程序测验199
11-6 课后练习201
第12章 函数的高级应用与宏203
12-1 命令行参数203
12-2 指针返回值205
12-3 函数指针207
12-4 变量的作用域208
12-4-1 auto变量208
12-4-2 register变量209
12-4-3 static变量210
12-4-4 extern变量211
12-5 预处理器213
12-5-1 宏指令214
12-5-2 条件编译指令216
12-5-3 #include指令218
12-6 上机程序测验219
12-7 课后练习220
第 13 章 结构数据类型223
13-1 结构简介223
13-1-1 声明结构变量223
13-1-2 存取结构成员224
13-1-3 结构指针226
13-1-4 动态分配结构变量229
13-1-5 结构数组231
13-1-6 嵌套结构233
13-2 链表235
13-2-1 链表的建立236
13-2-2 链表程序的实现236
13-3 函数与结构241
13-3-1 结构参数与传值调用241
13-3-2 结构参数与传址调用241
13-4 上机程序测验242
13-5 课后练习244
第 14 章 其他自定义数据类型与项目设计248
14-1 类型定义指令248
14-2 枚举指令251
14-3 联合指令253
14-4 项目程序简介255
14-5 上机
前 言
前 言在计算机发展的几十年间,众多程序设计语言不断被各个时期的“达人”创造出来,进而不断被淘汰、取代、修订、融合或改头换面。和近年流行的程序设计语言(如Python、C#、Java、C 、PHP、JavaScript等)相比,C语言显得有点“古董”,因为C语言的发展历史悠久——设计思想萌芽于1970年年初,主体完成于1973年。但C语言在2015年仍然高居全世界所有程序设计语言使用人数的榜首,到2016年才被Java超过而屈居第二。
C语言之所以长久不衰,是因为程序代码简洁高效、编译方式简易、能处理底层的存储器、产生的机器代码简短精悍,而且不需要复杂的系统运行环境便能高效运行。C语言的这些特质深受广大程序员喜爱,并被广泛应用于操作系统和编译器的开发。例如,UNIX和Linux就是基于C语言开发出来的,其他众多系统级的工具和各种高级程序设计语言的编译器或解释器大多也是使用C语言开发的。所以,C语言被称为程序员的程序设计语言一点都不为过。
现在学C语言过时吗?作为一门通用计算机程序设计语言,C语言远没有到过时的时候,只要学习C语言时不禁锢于面向过程程序设计思维,从零开始迅速掌握其精髓,而后补充面向对象程序设计的新思想,之后在学习C 、C#、Java或Python语言时就能得心应手。如果从一开始就学习上述4种面向对象的通用程序设计语言,会感到头疼不已。在出版本书的同时,我们还出版了一本《从零开始学C 程序设计》供大家参考。C 语言 = C 语言 面向对象的概念,在C#、Java甚至Python中均可看到C 的影子。
本书以教学为背景,分16章说明C语言相关的语法,除了在正文的讲解中穿插大量范例程序的分析外,还在各章末尾辅以课后习题与解答,并提供了丰富的上机程序测试题。本书适合作为大专院校计算机及相关专业的教材,也适合作为程序设计初学者的自学教材,同样可作为有一定编程经验、想快速掌握C语言的程序员的学习参考书。
本书的范例程序有两类:一类是各章正文讲解使用的范例程序,另一类是各章后面“上机程序测验”提供的参考范例程序。读者可以从以下网址免费下载所有范例程序的源代码:
http://pan.baidu.com/s/1nvDbllZ(注意区分数字和字母大小写)如果下载有问题,请发送电子邮件至[email protected],邮件主题设置为“求从零开始学C程序代码”。
全书所有范例程序都可以在标准C语言编程环境中编译通过和顺利运行。本书选用免费的Dev C 5.11集成开发环境对书中所有范例程序进行编译、修改、调试和测试,确保可以准确无误地运行,读者可以放心参考、使用。另外,附录A包含“C的标准函数库”,以便读者在学习的过程中速查常用的C语言标准函数的用法。附录B包含“C编译程序的介绍与安装”,重点介绍Dev C 集成开发环境的安装步骤和基本使用方法,读者可以在学习本书之前在自己的计算机上安装好Dev C 集成开发环境。
本书主要由吴惠茹编著,卞诚君、王叶、周晓娟、刘雪连、吉媛媛、闫秀华、关静、孟宗斌、魏忠波、王翔、郭丹阳等人也参与了本书的编写与校对工作。虽然本书校稿过程力求无误,但是难免有疏漏之处,还望各位不吝赐教!
后,祝大家学习顺利,迅速掌握C语言程序设计的精髓,进而成为使用C语言编程的高手,迈出成为合格程序员关键的一步。
编 者2017年2月
C语言之所以长久不衰,是因为程序代码简洁高效、编译方式简易、能处理底层的存储器、产生的机器代码简短精悍,而且不需要复杂的系统运行环境便能高效运行。C语言的这些特质深受广大程序员喜爱,并被广泛应用于操作系统和编译器的开发。例如,UNIX和Linux就是基于C语言开发出来的,其他众多系统级的工具和各种高级程序设计语言的编译器或解释器大多也是使用C语言开发的。所以,C语言被称为程序员的程序设计语言一点都不为过。
现在学C语言过时吗?作为一门通用计算机程序设计语言,C语言远没有到过时的时候,只要学习C语言时不禁锢于面向过程程序设计思维,从零开始迅速掌握其精髓,而后补充面向对象程序设计的新思想,之后在学习C 、C#、Java或Python语言时就能得心应手。如果从一开始就学习上述4种面向对象的通用程序设计语言,会感到头疼不已。在出版本书的同时,我们还出版了一本《从零开始学C 程序设计》供大家参考。C 语言 = C 语言 面向对象的概念,在C#、Java甚至Python中均可看到C 的影子。
本书以教学为背景,分16章说明C语言相关的语法,除了在正文的讲解中穿插大量范例程序的分析外,还在各章末尾辅以课后习题与解答,并提供了丰富的上机程序测试题。本书适合作为大专院校计算机及相关专业的教材,也适合作为程序设计初学者的自学教材,同样可作为有一定编程经验、想快速掌握C语言的程序员的学习参考书。
本书的范例程序有两类:一类是各章正文讲解使用的范例程序,另一类是各章后面“上机程序测验”提供的参考范例程序。读者可以从以下网址免费下载所有范例程序的源代码:
http://pan.baidu.com/s/1nvDbllZ(注意区分数字和字母大小写)如果下载有问题,请发送电子邮件至[email protected],邮件主题设置为“求从零开始学C程序代码”。
全书所有范例程序都可以在标准C语言编程环境中编译通过和顺利运行。本书选用免费的Dev C 5.11集成开发环境对书中所有范例程序进行编译、修改、调试和测试,确保可以准确无误地运行,读者可以放心参考、使用。另外,附录A包含“C的标准函数库”,以便读者在学习的过程中速查常用的C语言标准函数的用法。附录B包含“C编译程序的介绍与安装”,重点介绍Dev C 集成开发环境的安装步骤和基本使用方法,读者可以在学习本书之前在自己的计算机上安装好Dev C 集成开发环境。
本书主要由吴惠茹编著,卞诚君、王叶、周晓娟、刘雪连、吉媛媛、闫秀华、关静、孟宗斌、魏忠波、王翔、郭丹阳等人也参与了本书的编写与校对工作。虽然本书校稿过程力求无误,但是难免有疏漏之处,还望各位不吝赐教!
后,祝大家学习顺利,迅速掌握C语言程序设计的精髓,进而成为使用C语言编程的高手,迈出成为合格程序员关键的一步。
编 者2017年2月
评论
还没有评论。