欢迎来到中国铁道出版社有限公司官网!
$itImage.title$
$itImage.title$
$itImage.title$

C语言从入门到精通

书      号:9787113263935

丛  书 名:

作      者:王征,李晓波

译      者:

开      本:16开

装      帧:平装

正文语种:中文

出  版 社:中国铁道出版社有限公司

定      价:69

  • 内容简介

    本书从基本的C语言概念入手,由浅入深,以典型实例、综合实例剖析讲解,一步一步引导初学者掌握C语言知识。本书共15章,其中,第1~5章是基础篇;第6~14章是提高篇;第15章是综合案例实战篇,即通过对手机销售管理系统的编写,使初学者提高对C语言编程的综合认识,并真正掌握编程的核心思想及技巧,从而学以致用。

    在讲解过程中既考虑读者的学习习惯,又通过具体实例剖析讲解C语言编程中的热点问题、关键问题及种种难题。

    本书适合于大中专学校的师生、有编程梦想的初高中生阅读,更适合于培训机构的师生、编程爱好者、初中级程序员、程序测试及维护人员阅读研究。
  • 前言

    对大部分程序员来说,C语言是学习编程的第一门语言,很少有不了解C语言的程序员。

    C语言除了能让读者了解编程的相关概念,带读者走进编程的大门,还能让读者明白程序的运行原理,比如,计算机的各个部件是如何交互的,程序在内存中是一种怎样的状态,操作系统和用户程序之间有着怎样的“爱恨情仇”。这些底层知识决定了读者的发展高度,也决定了读者的职业生涯。

    如果读者希望成为出类拔萃的人才,而不仅仅是码农,那么这些知识就是不可或缺的。读者也只有学习C语言,才能更好地了解它们。有了足够的基础,以后学习其他语言,会触类旁通,很快上手。

    C语言概念少,词汇少,包含了基本的编程元素,后来的很多语言(C++、Java等)参考了C语言,说C语言是现代编程语言的开山鼻祖毫不夸张,它改变了编程世界。

    正是由于C语言简单,其学习成本小,时间短,所以初学者结合本教程能够快速掌握编程技术。

    本书结构
    本书共15章,具体章节安排如下。

    第1章:讲解C语言编程的基础知识,如C语言的历史、基本特征、优缺点,以及搭建C语言开发环境、编写C语言程序等。

    第2~5章:讲解C语言编程的常量和变量,基本数据类型,运算符,类型转换,代码编写注意事项,选择结构,循环结构,基本输出与输入等。

    第6~10章:讲解C语言编程的函数、数组、字符串、指针、编译预处理、内存管理等。

    第11~14章:讲解C语言编程的结构体、位域、枚举、共用体、用户定义类型、文件操作、线性表以及栈和队列等。

    第15章:通过手机销售管理系统综合案例,讲解C语言编程的实战方法与技巧。

    本书特色
    本书的特色归纳如下。

    (1)实用性:本书首先着眼于C语言编程中的实战应用,然后探讨深层次的技巧问题。

    (2)详尽的例子:本书附有大量的例子,通过这些例子介绍知识点。每个例子都是作者精心选择的,初学者反复练习,做到举一反三,就可以真正掌握C语言编程中的实战技巧,从而学以致用。

    (3)全面性:本书包含了C语言编程中的所有知识,分别是C语言基础知识、搭建C语言开发环境、基本数据类型、运算符、类型转换、代码编写注意事项、选择结构、循环结构、基本输出与输入、函数、数组、字符串、指针、编译预处理、内存管理、结构体、位域、枚举、共用体、用户定义类型、文件操作、线性表以及栈和队列等。

    本书适合的读者
    本书适合于大中专学校的师生、有编程梦想的初高中生阅读,更适合于培训机构的师生、编程爱好者、初中级程序员、程序测试及维护人员阅读研究。
  • 目录

    第1章 C 语言程序设计快速入门 / 1
    1.1 初识C 语言 / 2
    1.1.1 C 语言是其他编程语言的母语 / 2
    1.1.2 C 语言是系统编程语言 / 2
    1.1.3 C 语言的历史 / 2
    1.1.4 C 语言的基本特征 / 3
    1.1.5 C 语言的优缺点 / 4
    1.2 搭建C 语言开发环境 / 5
    1.2.1 C 语言的集成开发环境概述 / 5
    1.2.2 Dev-C++ 的下载 / 6
    1.2.3 Dev-C++ 的安装 / 7
    1.2.4 第一次启动的简单设置 / 9
    1.3 编写C 语言程序 / 10
    1.3.1 新建源代码文件 / 10
    1.3.2 编写代码并保存 / 11
    1.3.3 编译运行 / 12
    1.3.4 C 语言程序执行流程 / 13

    第2章 C 语言程序设计的初步知识 / 15
    2.1 常量和变量 / 16
    2.1.1 常量 / 16
    2.1.2 变量与赋值 / 17
    2.2 基本数据类型 / 19
    2.2.1 整型 / 20
    2.2.2 浮点型 / 21
    2.2.3 字符型 / 22
    2.3 运算符 / 25
    2.3.1 算术运算符 / 25
    2.3.2 赋值运算符 / 26
    2.3.3 位运算符 / 28
    2.4 自增(++) 和自减(--) / 31
    2.5 数据类型的转换 / 32
    2.5.1 自动的类型转换 / 32
    2.5.2 强制的类型转换 / 33
    2.6 C 语言的代码编写注意事项 / 34

    第3章 C 语言的选择结构 / 35
    3.1 if...else 语句 / 36
    3.1.1 if...else 语句的一般格式 / 36
    3.1.2 实例:奇偶数判断 / 36
    3.1.3 实例:游戏登录判断系统 / 37
    3.2 多个if...else 语句 / 39
    3.2.1 实例:成绩评语系统 / 40
    3.2.2 实例:每周学习计划系统 / 42
    3.3 关系运算符 / 43
    3.3.1 关系运算符及意义 / 44
    3.3.2 实例:求一元二次方程的根 / 44
    3.3.3 实例:企业奖金发放系统 / 45
    3.4 逻辑运算符 / 47
    3.4.1 逻辑运算符及意义 / 47
    3.4.2 实例:判断是否是闰年 / 47
    3.4.3 实例:输入3 个数并显示最大的数 / 48
    3.4.4 实例:剪刀、石头、布游戏 / 49
    3.5 嵌套if 语句 / 50
    3.5.1 嵌套if 语句的一般格式 / 50
    3.5.2 实例:判断一个数是否是2 或3 的倍数 / 51
    3.5.3 实例:判断正负数 / 52
    3.6 条件运算符和条件表达式 / 53
    3.7 switch 语句 / 53
    3.7.1 switch 语句的一般格式 / 54
    3.7.2 实例:根据输入的数显示相应的星期几 / 54
    3.7.3 实例:根据输入的年份和月份显示该月有多少天 / 55

    第4章 C 语言的循环结构 / 57
    4.1 while 循环 / 58
    4.1.1 while 循环的一般格式 / 58
    4.1.2 实例:利用while 循环显示26 个小写字母 / 58
    4.1.3 实例:随机产生10 个随机数并打印最大的数 / 59
    4.1.4 实例:求s=a+aa+aaa+……+aa...a 的值 / 60
    4.1.5 实例:猴子吃桃问题 / 60
    4.2 do-while 循环 / 61
    4.2.1 do-while 循环的一般格式 / 62
    4.2.2 实例:利用do-while 循环显示26 个大写字母及对应的ASII 码 / 62
    4.2.3 实例:计算1+2+3+……+100 的和 / 63
    4.2.4 实例:阶乘求和 / 63
    4.3 for 循环 / 64
    4.3.1 for 循环的一般格式 / 64
    4.3.2 实例:显示100 之内的奇数 / 64
    4.3.3 实例:分解质因数 / 65
    4.3.4 实例:小球反弹的高度 / 66
    4.4 循环嵌套 / 67
    4.4.1 实例:显示9*9 乘法表 / 67
    4.4.2 实例:显示国际象棋棋盘 / 68
    4.4.3 实例:绘制?号的菱形 / 96
    4.4.4 实例:斐波那契数列 / 70
    4.4.5 实例:杨辉三角 / 71
    4.4.6 实例:弗洛伊德三角形 / 72
    4.5 break 语句 / 73
    4.6 continue 语句 / 75

    第5章 C 语言的基本输出与输入 / 77
    5.1 初识输出与输入 / 78
    5.2 putchar() 函数 / 78
    5.2.1 实例:显示字符及对应的ASCII 码 / 78
    5.2.2 实例:利用while 循环显示10 个数字及ASCII 码 / 79
    5.3 getchar() 函数 / 80
    5.3.1 实例:输入什么字符,就显示什么字符及对应的ASCII 码 / 80
    5.3.2 实例:判断输入的字符是什么类型 / 81
    5.4 printf() 函数 / 82
    5.4.1 printf() 函数的语法格式 / 82
    5.4.2 数字的格式化输出 / 83
    5.4.3 利用格式化控制输入变量值的宽度和对齐方式 / 84
    5.4.4 实例:用* 号输出字母C 的图案 / 85
    5.5 scanf() 函数 / 86
    5.5.1 scanf() 函数的语法格式 / 86
    5.5.2 数字和字符的格式化输入 / 86
    5.5.3 实例:回文数 / 89
    5.5.4 实例:求1!+2!+3!+……+n! 的和 / 90
    5.5.5 实例:求两个正整数的最大公约数和最小公倍数 / 91
    5.5.6 实例:根据输入的字母显示星期几 / 92

    第6章 C 语言的函数 / 95
    6.1 初识函数 / 96
    6.1.1 函数的重要性 / 96
    6.1.2 库函数的运用 / 96
    6.2 常用的库函数 / 96
    6.2.1 math.h 头文件中的常用库函数 / 97
    6.2.2 float.h 头文件中的常用库宏 / 98
    6.2.3 limits.h 头文件中的常用库宏 / 99
    6.2.4 ctype.h 头文件中的常用库函数 / 101
    6.3 自定义函数 / 103
    6.3.1 函数的定义 / 103
    6.3.2 函数调用 / 104
    6.3.3 函数调用的3 种方式 / 105
    6.3.4 函数的参数 / 106
    6.3.5 递归函数 / 109
    6.4 局部变量和全局变量 / 110
    6.5 实例:计算一个数为两个质数之和 / 112
    6.6 实例:年龄问题的解决 / 114

    第7章 C 语言的数组 / 117
    7.1 初识数组 / 118
    7.1.1 数组的定义 / 118
    7.1.2 数组内存是连续的 / 118
    7.1.3 数组的初始化 / 119
    7.2 数组元素的访问 / 119
    7.2.1 实例:利用数组元素的索引显示6×4 行矩阵 / 119
    7.2.2 实例:利用for 循环显示数组中的元素 / 120
    7.2.3 实例:利用随机数为数组赋值并显示 / 121
    7.3 二维数组 / 122
    7.3.1 二维数组的定义 / 122
    7.3.2 二维数组的初始化 / 123
    7.3.3 二维数组元素的访问 / 123
    7.4 判断某数是否在数组中 / 125
    7.5 函数在数组中的应用 / 126
    7.5.1 把数组作为参数传给函数 / 127
    7.5.2 函数的返回值是数组 / 128
    7.6 数组中元素的排序 / 129
    7.6.1 冒泡排序 / 129
    7.6.2 选择排序 / 131
    7.6.3 插入排序 / 132

    第8章 C 语言的字符串 / 135
    8.1 初识字符串 / 136
    8.1.1 字符串常量 / 136
    8.1.2 字符数组 / 136
    8.2 字符数组和字符串的显示 / 137
    8.2.1 实例:字符数组元素的显示 / 137
    8.2.2 实例:字符串的显示 / 138
    8.3 字符串长度与字符串在内存中的长度 / 139
    8.4 字符串的输入函数 / 140
    8.4.1 实例:利用scanf() 函数实现字符串的输入 / 140
    8.4.2 实例:利用getchar() 函数实现字符串的输入 / 141
    8.4.3 实例:利用gets() 函数实现字符串的输入 / 142
    8.5 字符串的输出函数 / 142
    8.5.1 实例:利用putchar() 函数显示字符串 / 143
    8.5.2 实例:利用puts() 函数显示字符串 / 143
    8.6 字符串数组 / 144
    8.7 字符串处理的常用库函数 / 145
    8.8 字符串运用实例 / 147
    8.8.1 实例:字符串的截取 / 147
    8.8.2 实例:字符串的排序 / 148
    8.8.3 实例:字符串首尾倒置 / 149
    8.8.4 实例:字符串中的汉字倒置 / 150
    8.8.5 实例:删除字符串右边的空格 / 151
    8.8.6 实例:删除字符串左边的空格 / 151
    8.8.7 实例:汉字和字母的个数 / 152
    8.8.8 实例:动态输入5 个单词并排序 / 153

    第9章 C 语言的指针 / 155
    9.1 初识指针 / 156
    9.1.1 什么是地址 / 156
    9.1.2 指针变量 / 157
    9.1.3 指针变量的赋值 / 157
    9.1.4 指针变量的输出 / 158
    9.1.5 引用指针变量中的变量 / 159
    9.1.6 指向指针变量的指针变量 / 160
    9.2 指针的移动 / 161
    9.2.1 指针的递增 / 161
    9.2.2 指针的递减 / 162
    9.2.3 指针的减法运算 / 163
    9.2.4 指针的比较 / 164
    9.3 指针与函数 / 165
    9.3.1 指针变量作为函数的形式参数 / 165
    9.3.2 函数的返回值是指针变量 / 166
    9.4 指针与数组 / 167
    9.5 指针与字符串 / 169
    9.6 指针数组 / 170
    9.7 实例:输入不同的数字显示不同的月份 / 171

    第10章 C 语言的编译预处理和内存管理 / 173
    10.1 初识编译预处理 / 174
    10.2 宏定义 / 175
    10.2.1 不带参数的宏定义 / 175
    10.2.2 带参数的宏定义 / 176
    10.2.3 预定义宏 / 178
    10.2.4 预处理器的运算符 / 179
    10.3 文件包含 / 180
    10.3.1 文件包含的格式 / 181
    10.3.2 文件包含的运用 / 181
    10.4 条件编译 / 183
    10.4.1 #if 命令 / 183
    10.4.2 #ifdef 命令 / 184
    10.4.3 #ifndef 命令 / 185
    10.5 实例:编写一个带参数的宏,实现两个数的交换 / 186
    10.6 内存管理 / 187
    10.6.1 内存动态分配常用库函数 / 187
    10.6.2 动态分配内存 / 188
    10.6.3 重新调整内存的大小和释放内存 / 189

    第11章 C 语言的复合结构 / 193
    11.1 初识结构体 / 194
    11.1.1 结构体的定义 / 194
    11.1.2 结构体变量的定义 / 194
    11.1.3 结构体变量的赋初值 / 195
    11.1.4 结构体变量的输出 / 195
    11.2 结构体数组 / 196
    11.2.1 显示结构体数组中的元素 / 197
    11.2.2 求所有职工的工资总和及平均工资 / 198
    11.2.3 显示所有男性职工的信息及其平均工资 / 199
    11.2.4 显示工资大于平均工资的职工信息 / 200
    11.3 结构体与指针 / 201
    11.4 结构体作为函数的形式参数 / 205
    11.5 位域 / 206
    11.5.1 位域的定义 / 206
    11.5.2 位域变量的定义 / 207
    11.5.3 位域变量的赋初值 / 207
    11.5.4 位域变量的输出 / 208
    11.5.5 无名位域 / 209
    11.6 枚举 / 209
    11.6.1 枚举的定义 / 210
    11.6.2 枚举变量的定义 / 210
    11.6.3 枚举变量的赋初值并显示 / 211
    11.6.4 遍历枚举元素 / 212
    11.6.5 实例:选择喜欢的颜色 / 212
    11.7 共用体 / 214
    11.7.1 共用体的定义 / 214
    11.7.2 共用体变量的定义 / 215
    11.7.3 输出共用体成员变量 / 215
    11.8 用户定义类型 / 217

    第12章 C 语言的文件操作 / 219
    12.1 初识文件 / 220
    12.1.1 C 的源程序文件和执行文件 / 220
    12.1.2 C 程序中的数据文件 / 220
    12.1.3 输入和输出缓冲区 / 221
    12.1.4 C 程序中的文件指针和位置指针 / 221
    12.2 创建文件 / 222
    12.2.1 在当前目录中创建文件 / 222
    12.2.2 在当前目录的子文件夹中创建文件 / 223
    12.2.3 在当前目录的上一级目录中创建文件 / 225
    12.2.4 利用绝对路径创建文件 / 226
    12.3 打开文件并写入内容 / 227
    12.3.1 利用fputc() 函数向文件中写入内容 / 227
    12.3.2 利用fputs() 函数向文件中写入内容 / 229
    12.3.3 利用fprintf() 函数向文件中写入内容 / 231
    12.4 读出文件中的内容 / 235
    12.4.1 利用fgetc() 函数读出文件中的内容 / 235
    12.4.2 利用fgets() 函数读出文件中的内容 / 236
    12.4.3 利用fscanf() 函数读出文件中的内容 / 237
    12.5 二进制文件 / 238
    12.5.1 创建和打开二进制文件 / 238
    12.5.2 向二进制文件中写入内容 / 240
    12.5.3 读取二进制文件中的内容 / 241
    12.6 文件的定位函数 / 243
    12.6.1 rewind() 函数 / 243
    12.6.2 fseek() 函数 / 243

    第13章 C 语言的线性表 / 245
    13.1 初识线性表 / 246
    13.1.1 线性表的前驱和后继 / 246
    13.1.2 线性表的特征 / 246
    13.2 顺序表 / 246
    13.2.1 什么是顺序表 / 246
    13.2.2 顺序表的初始化 / 247
    13.2.3 向顺序表中插入数据元素 / 248
    13.2.4 删除顺序表中的数据元素 / 250
    13.2.5 查找顺序表中的数据元素 / 252
    13.2.6 修改顺序表中的数据元素 / 253
    13.3 链表 / 255
    13.3.1 链表概述 / 255
    13.3.2 链表的定义及初始化 / 256
    13.3.3 向链表中插入数据元素 / 259
    13.3.4 删除链表中的数据元素 / 261
    13.3.5 查找链表中的数据元素 / 262
    13.3.6 修改链表中的数据元素 / 263

    第14章 C 语言的栈和队列 / 265
    14.1 初识栈 / 266
    14.2 顺序栈 / 266
    14.2.1 顺序栈的定义与初识化 / 266
    14.2.2 向顺序栈中添加数据元素 / 266
    14.2.3 利用for 循环向顺序栈中添加字符并显示 / 268
    14.2.4 删除顺序栈中的数据元素 / 269
    14.3 链栈 / 271
    14.3.1 链栈的定义与初识化 / 271
    14.3.2 向链栈中插入数据元素 / 271
    14.3.3 显示链栈中的数据元素 / 272
    14.3.4 删除链栈中的数据元素 / 273
    14.4 初识队列 / 274
    14.5 顺序队列 / 275
    14.5.1 顺序队列的定义与初识化 / 275
    14.5.2 向顺序队列中添加数据元素并显示 / 275
    14.5.3 删除顺序队列中的数据元素 / 276
    14.5.4 顺序队列中的溢出现象 / 278
    14.5.5 循环队列 / 278
    14.6 链队列 / 280
    14.6.1 链队列的定义与初识化 / 280
    14.6.2 向链队列中插入数据元素并显示 / 280
    14.6.3 删除链队列中的数据元素 / 281

    第15章 手机销售管理系统 / 283
    15.1 手机销售管理系统主程序 / 284
    15.2 增加手机信息 / 286
    15.3 显示全部手机信息 / 288
    15.4 保存手机信息 / 289
    15.5 读取手机信息 / 292
    15.6 查找手机信息 / 293
    15.6.1 利用价格查询手机信息 / 294
    15.6.2 利用编号查询手机信息 / 294
    15.6.3 利用库存数量查询手机信息 / 294
    15.6.4 利用手机名查询手机信息 / 295
    15.6.5 调用各种查询函数实现分类查找功能 / 295
    15.6.6 查找手机信息效果 / 296
    15.7 购买手机功能 / 299
    15.8 删除手机信息 / 301
  • 作者介绍

  • 编辑推荐

    ※附赠本书课件讲义PPT、源代码、教学视频

    深入讲解C语言编程的指针、内存管理、文件操作、线性表、栈、队列等
    理论知识+图示讲解,轻松掌握C语言编程技术
    快速帮助读者理解与变通应用,全面提升内容的深度与广度
  • 书评书荐

  • 附件下载

图书推荐