C语言程序设计
作者 : 赵宏,陈旭东,马迪芳
出版日期 : 2013-03-27
ISBN : 978-7-111-40938-0
适用人群 : 计算机及其相关专业专科及本科生
定价 : 35.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 267
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书既注重基础理论的讲解,又突出实用性,突出结构化程序设计的基本原理、概念和方法,主要介绍了C程序设计初步知识,C程序的控制结构,模块化程序设计——函数,构造数据类型——数组,指针,函数的进一步讨论,位、结构体与共用体,动态数据结构等。每章内容都是以案例引入,并配以相关的练习。
与现用教材相比的特点:
1.反映本学科领域的最新科技成果,教学内容既注重基础理论又突出实用性,突出结构化程序设计的基本原理、概念和方法,特别强调培养学生分析问题、解决问题的能力和动手实践的能力,突出重点,精选大量的可应用在不同领域的程序实例和习题,由浅入深逐步展开进行讲解。2.采用“案例引入、理论串讲、案例解析、项目练习”的教学思想,即通过案例引入,让学生有一个感性认识,在进行归纳总结,对理论知识进行串讲,然后对案例进行分析,同时要求学习者同步完成相似项目的部分。3.注重良好的软件工程原则,把良好的软件工程思想和原则渗透到程序设计入门课程中,为后续课程的学习和构建复杂系统打下基础。教材强调程序的清晰性,包括缩进式风格、开发中常见的标识符命名方法、注释的重要性。4.配套的教辅资源丰富,所有教学内容都可以通过教材、辅导书、全程课程教学录像、电子教案PPT、学习活动、知识点测试等资源学习。此外,结合不同教学内容辅以多种媒体资源,如模拟实验等,以便学生自学自练。

图书特色

北京市高等教育精品教材立项项目
C语言程序设计
赵宏 陈旭东 马迪芳  编著
C语言是一种应用非常广泛的结构化程序设计语言,本书选择C作为编程语言,全面介绍了结构化程序设计方法。本书融合作者多年的教学经验编写而成,既注重基础理论又强调实用性,由浅入深逐步展开进行讲解,这种写作方式便于读者理解和掌握程序设计的基本概念和方法,达到运用程序设计语言、数据结构和算法进行基本的结构化程序设计的目的。

本书特点:
强调培养学生分析问题、解决问题的能力和动手实践的能力,突出重点,精选大量可应用于不同领域的程序实例和习题,由浅入深逐步展开进行讲解。
采用“案例引入-理论讲解-案例学习-编程体验”的教学思想,即通过案例引入,让学生有一个感性认识,再进行归纳总结,对理论知识进行串讲,然后对案例进行分析,同时要求学习者同步完成相似项目。
注重良好的软件工程原则,强调程序的清晰性,把良好的软件工程思想和原则渗透到程序设计入门课程中,为后续课程的学习和构建复杂系统打下基础。
配套的教辅资源丰富,本书为教师提供教学PPT并为所有读者提供示例程序源代码,有需要者可登录华章网站(www.hzbook.com)下载。

图书前言

程序设计基础是计算机课程体系中的第一门重要的基础课程。因为C语言是使用最广泛的语言之一,它具有完备的高级语言特性,语言简洁紧凑、灵活方便,具有丰富的运算符和数据类型,生成目标代码质量高,程序执行效率高,可移植性好,是高校计算机专业和非计算机专业的首选语言,所以,本书以C语言作为编程语言进行讲解。
  本书以解决实际问题的程序设计思想作为出发点,选择C语言作为编程语言,突出结构化程序设计方法,介绍常用的数组、链表等数据结构,以及递归、递推、排序、查找等算法的设计。
  本书的主要特色有:
  1.教学内容既注重基础理论又突出实用性,突出结构化程序设计的基本原理、概念和方法,突出重点,精选例题和习题,由浅入深逐步展开进行讲解。
  2.以“案例引入—理论讲解—案例学习—编程体验”的方式组织内容,符合学生的认知过程,把教师的教学思想融入教材中,语言和语法的讲解完全融会贯通在程序设计以及案例中。
  3.每章精选了大量案例,详细介绍了每个案例程序的分析和设计过程,通过这些案例的讲解,使读者能够综合应用所学知识解决实际问题,不断提高分析问题、解决问题的能力。
  4.提供配套的教学资源解决方案。本书包含了大量的程序例子,并附有运行结果。凡带有程序名编号的示例都是完整的程序,这些程序以及电子教案等资源可以到华章网站(www.hzbook.com)下载。
  全书共10章,主要内容包括:程序设计概述、C程序设计基础、程序的控制结构I——选择结构程序设计、程序的控制结构II——循环结构程序设计、模块化程序设计I——函数、数据的组织I——数组、指针、模块化程序设计II——程序的组织、数据的组织II——结构体与链表、文件等。
  本书第1、2、6章由赵宏编写,第3、4、5章由马迪芳编写,第7、8、9、10章由陈旭东编写。全书由赵宏统稿。
  在编写此书时还得到了许多同事的关心和支持,在此表示深深的谢意。
  由于时间仓促、作者水平有限,书中难免有不足和疏漏,欢迎读者提出宝贵意见和建议,以供再版时进行改进。

编 者  
2013年1月

上架指导

计算机\程序设计

封底文字

C语言是一种应用非常广泛的结构化程序设计语言,本书选择C作为编程语言,全面介绍了结构化程序设计方法。本书是作者根据多年的教学经验编写而成的,既注重基础理论又强调实用性,由浅入深逐步展开进行讲解,这种写作方式便于读者理解和掌握程序设计基本概念和方法,达到运用程序设计语言、数据结构和算法进行基本的结构化程序设计的目的。本书特点:
强调培养学生分析问题、解决问题的能力和动手实践的能力,突出重点,精选大量可应用在不同领域的程序实例和习题,由浅入深逐步展开进行讲解。
采用“案例引入-理论讲解-案例学习-编程体验”的教学思想,即通过案例引入,让学生有一个感性认识,再进行归纳总结,对理论知识进行串讲,然后对案例进行分析,同时要求学习者同步完成相似项目。
注重良好的软件工程原则,强调程序的清晰性,把良好的软件工程思想和原则渗透到程序设计入门课程中,为后续课程的学习和构建复杂系统打下基础。
配套的教辅资源丰富,本书为教师提供教学PPT并为所有读者提供示例程序源代码,有需要者可登录华章网站(www.hzbook.com)下载。

作者简介

赵宏:暂无

陈旭东:暂无

马迪芳:暂无

图书目录

前言
教学建议
第1章 程序设计概述 1
1.1 程序和程序设计语言 1
1.1.1 程序与程序设计 1
1.1.2 程序设计语言 1
1.1.3 高级语言程序的实现 3
1.1.4 C语言的发展 4
1.2 简单的C语言程序 4
1.2.1 两个简单的C程序例子 5
1.2.2 C程序概貌 6
1.2.3 C程序的处理和执行 7
1.3 实现问题的求解过程 7
1.3.1 结构化程序设计基本思想 7
1.3.2 三种基本结构 8
1.3.3 结构化程序设计的过程 9
1.4 案例学习——计算三角形的面积 12
上机实验1——熟悉C语言编程环境 13
习题1 13
第2章 C程序设计基础 14
2.1 案例引入——计算三角形的面积 14
2.2 常量、数据的存储与数据类型 15
2.2.1 基本数据类型 15
2.2.2 常量 16
2.2.3 数据的存储 19
2.3 运算符和表达式 21
2.3.1 算术运算符与算术表达式 21
2.3.2 赋值运算符与赋值表达式 22
2.3.3 数据类型的转换 23
2.4 数据的输出和输入 24
2.4.1 格式输出函数printf() 24
2.4.2 格式输入函数scanf() 26
2.5 案例学习——华氏温度与摄氏温度的转换 28
2.6 编程体会 29
上机实验2——简单程序设计 29
习题2 31
第3章 程序的控制结构Ⅰ——选择结构程序设计 32
3.1 案例引入——判断闰年 32
3.2 二分支选择结构 33
3.2.1 关系运算与关系表达式 33
3.2.2 逻辑运算与逻辑表达式 33
3.2.3 基本的if语句 34
3.3 多分支选择结构 37
3.3.1 else-if语句 38
3.3.2 嵌套的if-else语句 39
3.3.3 switch语句 42
3.4 案例学习——计算一年中某月份的总天数 43
3.5 编程体会 45
上机实验3——选择结构程序设计 46
习题3 47
第4章 程序的控制结构Ⅱ——循环结构程序
设计 48
4.1 案例引入——求1到20之和 48
4.2 自增自减运算符 48
4.3 前测循环——while语句和for语句 49
4.3.1 while语句 50
4.3.2 for语句 51
4.4 后测循环——do-while语句 54
4.5 循环的嵌套 56
4.6 break语句和continue语句 57
4.7 案例学习——循环程序设计技术 59
4.8 编程体会 63
上机实验4——循环结构程序设计 63
习题4 64
第5章 模块化程序设计Ⅰ——函数 66
5.1 案例引入——计算立方体的体积 66
5.2 模块化程序设计概述 67
5.3 自定义函数 67
5.3.1 函数的定义和返回值 67
5.3.2 函数的调用 68
5.3.3 自定义函数程序设计实例 71
5.4 标准库函数 73
5.4.1 数学库函数 73
5.4.2 字符处理函数 75
5.4.3 随机函数 76
5.5 变量与函数 77
5.5.1 局部变量和全局变量 77
5.5.2 变量的生命周期 80
5.6 递归 86
5.7 案例学习——计算圆的面积和21点游戏 89
5.8 编程体会 93
上机实验5——用函数编写程序 94
习题5 95
第6章 数据的组织Ⅰ——数组 96
6.1 案例引入——求学生的平均身高及每个
学生与平均身高之差 96
6.2 一维数组 97
6.2.1 一维数组的定义与引用 97
6.2.2 一维数组的初始化 98
6.2.3 一维数组的输入/输出 99
6.2.4 一维数组的简单应用 99
6.2.5 数组作为函数的参数 102
6.3 二维数组 104
6.3.1 二维数组的定义与初始化 104
6.3.2 二维数组的引用 105
6.3.3 使用二维数组编程 106
6.4 字符串 107
6.4.1 字符数组 107
6.4.2 字符串处理函数 108
6.5 查找与排序算法 112
6.5.1 数据查找 112
6.5.2 排序问题 114
6.6 案例学习——计算平均成绩与字符串
排序 119
6.7 编程体会 122
上机实验6——数组程序设计 123
习题6 124
第7章 指针 126
7.1 案例引入——获取键盘数据 126
7.2 地址与指针 126
7.3 指针运算 128
7.4 指针与函数 130
7.4.1 指针参数 130
7.4.2 返回指针的函数 132
7.4.3 指向函数的指针 132
7.5 指针与数组 134
7.5.1 指针与一维数组 134
7.5.2 指针与二维数组 136
7.5.3 指针数组 138
7.5.4 数组参数的传递 139
7.6 指针与字符串 142
7.7 案例学习——洗牌与发牌 144
7.8 编程体会 149
上机实验7——使用指针进行程序设计 152
习题7 153
第8章 模块化程序设计Ⅱ——程序的组织 155
8.1 案例引入——多源文件程序的编写 155
8.2 编译预处理 155
8.2.1 文件包含 155
8.2.2 宏定义 156
8.2.3 条件编译 161
8.2.4 其他预编译命令 163
8.3 字节序 164
8.4 命令行参数与环境变量 166
8.5 程序组织 169
8.5.1 全局变量的使用 170
8.5.2 函数声明与定义 170
8.5.3 头文件 171
8.5.4 多文件的程序组织 173
8.6 案例学习——万年历 173
8.7 编程体会 183
上机实验8——多文件程序设计 184
习题8 185
第9章 数据的组织Ⅱ——结构体与链表 186
9.1 案例引入——学生信息管理 186
9.2 结构体 186
9.2.1 定义结构类型 186
9.2.2 定义嵌套结构 187
9.3 结构变量 188
9.3.1 结构变量的定义与初始化 188
9.3.2 结构变量成员的访问 190
9.4 结构数组 191
9.5 结构指针 193
9.5.1 结构指针的使用 193
9.5.2 结构指针作为函数的参数 195
9.6 自定义类型声明 197
9.7 链表 198
9.7.1 链表结点的定义 198
9.7.2 动态内存管理 199
9.7.3 动态链表 203
9.8 案例学习——通讯录管理 212
9.9 编程体会 224
上机实验9——结构体与链表 225
习题9 226
第10章 文件 228
10.1 案例引入——通讯录管理 228
10.2 文件的概念 228
10.2.1 文件的分类 228
10.2.2 文件的操作 229
10.3 文件指针 229
10.4 文件的打开和关闭 230
10.4.1 打开文件 230
10.4.2 关闭文件 231
10.4.3 标准文件指针 231
10.5 文件的读写 232
10.5.1 fgetc()函数 232
10.5.2 fputc()函数 233
10.5.3 fgets()函数 234
10.5.4 fputs()函数 235
10.5.5 fscanf()函数和fprintf()函数 236
10.5.6 fread()函数和fwrite()函数 238
10.6 文件的定位 239
10.7 文件的检测 241
10.8 案例学习——基于文件的通讯录管理 242
10.9 编程体会 250
上机实验10——使用文件编程 250
习题10 251
附录A 运算符的优先级和结合性 252
附录B ASCII字符集 254
附录C 常用库函数 256
参考文献 259

教学资源推荐
作者: (英)Roger Garside, John Mariani
作者: 【美】梁勇(Y.Daniel Liang) 著
作者: 丁山 朱留存 编著
作者: Bjarne Stroustrup
参考读物推荐
作者: (美)Zachary Kessin 著
作者: 黄永祥 编著
作者: [印度]纳拉西姆哈·卡鲁曼希(Narasimha Karumanchi) 斯克林瓦萨·拉奥·梅达(Sreenivasa Rao Meda) 著