热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力
图书信息

C语言程序设计(第二版)

中国水利水电出版社
    【作 者】任正云 李素若 赖玲 【I S B N 】978-7-5084-9034-2 【责任编辑】杨元泓 【适用读者群】本专通用 【出版时间】2011-11-09 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】296 【千字数】462 【印 张】18.5 【定 价】32 【丛 书】 【备注信息】
图书详情

    本书遵照C语言标准,结合作者多年的教学和科研实践的经验和体会,全面系统、深入浅出地阐述了C语言的基本概念、语法和语义,以及用C语言进行程序设计的基本方法和技巧。

    本次再版以Visual C++ 6.0环境为基础进行修订,主要内容包括数据类型和表达式、流程控制、算法分析、函数与程序结构等。内容更丰富,叙述更详细,描述更加准确。每章末都配有习题可供不同层次的读者练习。

    本书十分注重知识的应用,重点章节都给出了应用举例。本书的一个亮点是给出了学生成绩管理系统、大奖赛评分系统和万年历的程序,虽然所给出程序代码不一定最优化,但可以引导读者分析,给读者以启发,是学习编程人员一本很好的工具书。

    本书是一本准确而又较全面反映标准C语言的教材,还配有《C语言程序设计上机指导与习题集解答》(第二版)一书。既可供高等院校计算机和非计算机专业本、专科或培训班教学使用,也是广大科技工作者和编程爱好者的一本很好的参考书。

    本书提供电子教案,读者可以从中国水利水电出版社网站以及万水书苑下载,网址为:http://www.waterpub.com.cn/softdown/或http://www.wsbookshow.com。

     再版的教材是第1版教材在2010年被教育部高等学校计算机类专业教学指导委员会评为优秀教材之后,根据大多数教师和读者的要求,结合广大读者的宝贵意见,把握“突出应用特性”的特点修订而成的。

      本教材摒弃C语言课程只以讲述语法为主的落后观念,力求教学中把C语言从应试课程转变为一种实践工具,主要目的不再局限于使学生单纯地了解和掌握C语言的基本语法规范,而是要致力于培养学生运用C语言解决实际问题的编程能力,以C语言为工具,介绍程序设计的基本思想和方法,重视在新形势下的新方法、新规则和新思想的传授,把程序设计领域最新、最有价值的思想和方法渗透到古老的C语言中,给C语言一个焕然一新的姿态,并让学生从多角度、以多方式去了解和掌握C语言以及程序设计的精髓,着重培养学生无论以后在学习、工作中使用什么语言编程,都能灵活应用这些思想和方法的能力。同时,让学生在学习程序设计的过程中,养成良好的编程风格,不再感到枯燥乏味,而是其乐融融,把学习程序设计变成一件快乐的事情。

      本教材具有以下特点:

     (1)语法讲解更注意通俗易懂,知识的体系结构更符合认知规律。在涉及语法的讲解过程中,除了给出语法知识的讲解外,每个知识点都给出了例题和案例,突出应用特性,把程序设计中最基本、最新、最有价值的思想和方法渗透到经典的C语言中,其目的就是使读者在学习C语言之后,今后无论使用什么语言编程,都能使用这些方法和思想。

      (2)力求暴露程序设计的思维过程,用最简明的语言、选用最经典的实例,采用类比的方法来挖掘程序设计的精髓,给读者带来全新的学习体验,领悟C语言之妙。

    (3)本书的实例选用科学,并按照不同的学习功能进行分类设置。

       一类是简单明了的演示性例题,重点说明C语言的语法知识,实现基本概念、基本语法的即时应用;另一类为培养程序设计能力的设计性例题,全书共设置了50个应用举例,并给出了学生成绩管理系统、大奖赛评分系统和万年历的完整程序,通过问题分析与算法设计、程序实现、程序讨论和说明等内容重点介绍程序设计方法,突出算法设计和程序编写调试的教学,以提高程序设计的能力训练。

       还有的一类就是把常用的一些算法,比如列举算法,试探算法、密码问题、排序问题等等都通过一些经典的选例给予了介绍,让学生很轻松的接受这些知识。

    (4)知识点全面,语言精练,图文并茂

       我们精心设计了各部分的案例,因此尽管没有系统的理论论述,却能保证知识点的覆盖全面。本书的程序设计举例在相关章节保持了连续性,前后衔接,逐步扩展,既便于教师讲解,又便于学生学习理解。全书组织结构清晰,突出程序设计,重视方法教学,理论联系实际,深入浅出,循序渐进,逻辑严密,语言流畅,通俗易懂,便于教、便于学。

       书中配有大量的图解,形象直观的做比较、表达关系、描述原理等,使得全书的风格生动活泼,又简明清晰,对读者具有很强的亲和力。

       (5)本书的配套教材《C语言程序设计上机指导和习题解答》是一本相当不错的学习手册,对于主教材中的每个习题不仅给出了答案,而且给出了为什么是这个答案的理由;精选了实验内容;增加了计算机等级考试中的相关内容,精选了等级考试中的考题和上机题例,选编了一些例题和习题,每个例题和习题都给出了详细的解答,尽管不是最佳方法,但给读者学习C语言一定会有不小的帮助。

       (6)配套资源齐全

    《C语言程序设计》是湖北省本科层次的精品课程,本教材享有丰富的配套资源,《C语言程序设计》精品课程的网站(http://61.184.198.219/cyy/)提供有全套实训资源、电子教案、教学视频、难点解析、经典案例、学生作品等。本书配有电子教案、试题库以及《C语言程序设计上机指导及习题解答》教材。与本教材相关的课件能在中国水利水电出版社网站(http://www.waterpub.com.cn/softdown/.)下载

    第二版前言

    本书出版以来,经过多年的使用,得到了广大教师和读者的肯定,特别是2010年被教育部高等学校高职高专计算机类专业教学指导委员会评为优秀教材,根据大多数教师和读者的要求,结合广大读者的宝贵意见,在第一版的基础上进行了如下几个方面的改进:

    (1)将上机环境改为Visual C++ 6.0,基本数据类型等内容作相应的修改和调整。

    (2)语法讲解更注意通俗易懂,知识的体系结构更符合认知规律。在涉及语法的讲解过程中,除了给出语法知识的讲解外,每个知识点都给出了例题和案例,突出应用特性,把程序设计中最基本、最新、最有价值的思想和方法渗透到经典的C语言中,其目的就是使读者在学习C语言之后,今后无论使用什么语言编程,都能使用这些方法和思想。

    (3)力求暴露程序设计的思维过程,用最简明的语言、最经典的实例,采用类比的方法来挖掘程序设计的精髓,给读者带来全新的学习体验,领悟C语言之妙。

    (4)适当增加了一些例题和习题。

    (5)本书的配套教材《C语言程序设计上机指导与习题解答》(第二版)作了全面的改版,编译环境只介绍了Visual C++ 6.0,增加了计算机等级考试中的相关内容和上机题例,选编了一些例题和习题,每个例题和习题都给出了详细的解答,尽管不是最佳方法,但给读者学习C语言一定会有不小的帮助。

    总之,通过这次修订,本书内容更加丰富,叙述更加详细,描述更加准确,更加有利于读者的学习。

    本次修订由任正云、李素若、赖玲担任主编,琚辉、胡玉荣、张牧、肖衡担任副主编,全书的第1、2、3、4、5、6章由任正云编写,第7章由琚辉编写,第8、9、10章由赖玲编写,胡玉荣参与了第4、6章的修订,李素若参与了第8章的修订,张牧参与了第9章的修订,肖衡参与了第10章的修订,全书由任正云统稿,赖玲和琚辉负责全书的校对,所有的程序由王娅纷、王晓雨、严永松、琚辉和陈万华负责调试,在编写过程中得到了主审田原教授和相关专家的指导,在此一并表示衷心的感谢。

    由于作者水平有限,书中难免还会存在不足之处,再次恳请广大读者批评指正。

    编 者

    2011年12月

    第二版前言
    第一版前言

    第1章 C语言程序设计基础 1
    1.1 程序设计及程序设计语言 1
    1.1.1 程序设计语言的发展 1
    1.1.2 C语言的发展过程 2
    1.2 C语言的特点 3
    1.3 C程序结构 4
    1.3.1 简单的C程序介绍 4
    1.3.2 C程序结构 6
    1.4 源程序的编辑、编译、连接与运行 7
    习题 8
    第2章 C语言的数据类型与基本操作 10
    2.1 常量与变量 10
    2.1.1 常量 10
    2.1.2 变量 13
    2.2 标识符和关键字 15
    2.3 整型数在计算机中的存储方式 16
    2.4 有符号的数据类型和无符号的数据类型 18
    2.5 运算符和表达式 19
    2.5.1 赋值运算符和赋值表达式 21
    2.5.2 算术运算符和算术表达式 22
    2.5.3 长度测试运算符sizeof 23
    2.5.4 关系运算符和关系表达式 24
    2.5.5 逻辑运算符与逻辑表达式 25
    2.5.6 条件运算符与条件运算表达式 27
    2.5.7 逗号运算符与逗号表达式 29
    2.5.8 位运算 29
    2.6 不同类型数据间的转换 32
    习题 34
    第3章 顺序结构程序设计 40
    3.1 算法 40
    3.1.1 算法的组成要素 40
    3.1.2 算法的表示方法 41
    3.1.3 自顶向下、逐步细化的设计过程 44
    3.2 C语句概述 46
    3.2.1 控制语句 46
    3.2.2 表达式语句 46
    3.2.3 复合语句 47
    3.3 数据的输入和输出 48
    3.3.1 数据的输出函数 48
    3.3.2 scanf函数 53
    3.4 getchar函数与putchar函数 57
    3.4.1 字符输出函数putchar() 57
    3.4.2 字符输入函数getchar() 57
    习题 58
    第4章 选择结构程序设计 63
    4.1 if语句 63
    4.1.1 if语句的形式 63
    4.1.2 if语句的嵌套 67
    4.2 switch语句 69
    4.3 程序举例 71
    习题 75
    第5章 循环结构程序设计 79
    5.1 while语句 79
    5.2 do-while语句 84
    5.3 for语句 86
    5.4 三种循环语句的比较 90
    5.5 循环的嵌套 90
    5.6 break语句和continue语句 95
    5.6.1 break语句 95
    5.6.2 continue语句 96
    5.7 综合实例 96
    5.7.1 列举算法 96
    5.7.2 试探算法 98
    5.7.3 密码问题 99
    习题 100
    第6章 函数 106
    6.1 函数概述 106
    6.1.1 模块化程序设计方法 106
    6.1.2 函数的概念 106
    6.2 函数的定义与声明 108
    6.2.1 函数定义 109
    6.2.2 函数的参数和返回值 110
    6.2.3 函数的声明 110
    6.3 函数的调用 111
    6.3.1 调用函数的一般形式 111
    6.3.2 调用函数时数据的传递 111
    6.3.3 函数的嵌套调用 113
    6.3.4 函数的递归调用 114
    6.4 局部变量和全局变量 117
    6.4.1 局部变量 117
    6.4.2 全局变量 118
    6.5 变量的存储属性 121
    6.5.1 自动变量(auto) 122
    6.5.2 寄存器变量(register) 124
    6.5.3 静态变量(static) 124
    6.5.4 外部变量 125
    6.6 编译预处理 126
    6.6.1 宏定义 127
    6.6.2 文件包含 132
    6.6.3 条件编译 133
    6.7 应用举例 135
    习题 142
    第7章 数组 150
    7.1 一维数组 150
    7.1.1 一维数组的定义 150
    7.1.2 一维数组的初始化 151
    7.1.3 一维数组元素的引用 151
    7.1.4 一维数组的使用 151
    7.2 二维数组和多维数组 156
    7.2.1 二维数组和多维数组的概念及其
    定义 156
    7.2.2 二维数组的初始化 158
    7.2.3 二维数组和多维数组的引用 159
    7.2.4 二维数组的经典实例 160
    7.3 字符数组 163
    7.3.1 字符数组的定义 163
    7.3.2 字符数组的输入输出 164
    7.3.3 常用字符串函数 165
    7.3.4 字符数组的使用 167
    7.4 数组应用实例 168
    7.4.1 排序 168
    7.4.2 二分查找 172
    习题 173
    第8章 指针 178
    8.1 地址和指针的概念 178
    8.2 指向变量的指针变量 179
    8.2.1 指向变量的指针变量的定义 179
    8.2.2 指针运算符 179
    8.2.3 指针变量的初始化 181
    8.2.4 指针变量的运算 181
    8.2.5 指针变量作为函数参数 183
    8.2.6 程序实例 184
    8.3 指针与数组 186
    8.3.1 一维数组和指针 186
    8.3.2 二维数组和指针 190
    8.3.3 程序实例 192
    8.4 字符串的指针和指向字符串的指针
    变量 193
    8.4.1 字符串的指针 193
    8.4.2 字符串作为函数参数 195
    8.5 指针数组 196
    8.6 指向指针的指针 197
    8.6.1 指向指针的指针的概念 197
    8.6.2 指向指针的指针的应用 198
    8.7 函数的指针 200
    8.7.1 函数的指针和指向函数的指针
    变量 200
    8.7.2 函数的指针作为函数参数 202
    8.7.3 函数指针的应用 202
    8.8 返回指针的函数 204
    8.9 main()函数的返回值和参数 206
    8.9.1 main()函数的返回值 206
    8.9.2 main()函数的参数 206
    习题 207
    第9章 结构体和共用体 211
    9.1 概述 211
    9.2 结构体与结构体类型变量 211
    9.2.1 结构体类型的定义 211
    9.2.2 结构体类型变量的定义 212
    9.2.3 结构体变量的引用 214
    9.2.4 结构体变量的初始化 215
    9.3 结构体数组 216
    9.4 指向结构体类型数据的指针 219
    9.4.1 指向结构体变量的指针 219
    9.4.2 指向结构体数组的指针 220
    9.4.3 结构体指针变量作为函数的参数 221
    9.4.4 结构体与函数的类型 223
    9.5 动态存储分配与链表 225
    9.5.1 链表的概念 225
    9.5.2 动态存储分配 226
    9.5.3 建立和输出链表 227
    9.5.4 链表的基本操作 228
    9.6 共用体 235
    9.6.1 共用体的概念和定义 235
    9.6.2 共用体变量的引用 237
    9.7 枚举类型 239
    9.7.1 枚举的定义与说明 239
    9.7.2 枚举类型变量的赋值与引用 240
    9.8 用Typedef定义类型 241
    9.9 应用实例——学生成绩管理系统 242
    习题 252
    第10章 文件 256
    10.1 文件的概念 256
    10.1.1 文件的类型 256
    10.1.2 C语言对文件的处理方法 257
    10.1.3 文件的访问方式 257
    10.2 格式化数据文件操作 258
    10.2.1 打开文件函数fopen() 258
    10.2.2 关闭文件函数fclose() 260
    10.2.3 从文件中格式化输入数据fscanf() 260
    10.2.4 向文件中格式化输出函数fprintf() 260
    10.2.5 文件建立 261
    10.2.6 文件访问 262
    10.2.7 文件修改 262
    10.3 字符数据文件操作 264
    10.3.1 从指定文件中读取一个字符 264
    10.3.2 putc()函数——指向文件输出一个
    字符 265
    10.3.3 fgets()函数——从文件中读一个
    字符串 265
    10.3.4 fputs()函数——向指定文件输出
    一个字符串 265
    10.3.5 feof ()函数——文件操作是否到
    文件尾的检测函数 266
    10.4 fread()与fwrite()函数 267
    10.5 文件位置定位与错误处理函数 268
    10.5.1 rewind()函数——将文件读写指
    针定位于文件头 268
    10.5.2 fseek()函数——重新定位文件位
    置指针 269
    10.5.3 ftell()函数——测试当前读写指针
    位置 269
    10.5.4 ferror()函数——检测文件流操作
    中的错误 269
    10.5.5 clearerr()函数——清除出错标志 269
    10.6 应用实例——大奖赛评分系统 269
    习题 274
    附录A ASCII字符编码一览表 278
    附录B C语言库函数 279
    参考文献 285
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册