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

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

中国水利水电出版社
    【作 者】主编 丁亚涛 【I S B N 】978-7-5084-8587-4 【责任编辑】李炎 【适用读者群】高职高专 【出版时间】2011-07-01 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第2版第1次印刷 【页 数】280 【千字数】426 【印 张】17.5 【定 价】29.8 【丛 书】21世纪高职高专新概念规划教材 【备注信息】
图书详情

    本书在延续第一版编写风格的基础上,根据计算机技术的发展,结合作者多年教学实践与研发经验,并考虑到读者的反馈信息,对各个章节的内容、结构等进行了修订、调整、完善和补充。全书分为12章,主要内容包括:C语言概述、数据类型、运算符和表达式、简单程序设计、选择结构程序设计、循环结构程序设计、数组、函数、指针、结构体、共用体与枚举,位运算,文件,面向对象程序设计及C++简介。本书采用“案例驱动”的编写方式,以程序设计为中心,语法介绍精炼,内容叙述深入浅出、循序渐进,程序案例生动易懂,具有很好的启发性。每章均配备教学课件和精心设计的习题。

    本书既可以作为本专科院校C语言程序设计的教材,又可以作为自学者的参考用书,同时还可供各类考试人员复习参考。

    案例驱动 将案例划分为单独的小节,以重点突出案例的层次,方便讲解算法,同时给阅读教材带来方便。 精选例题 结合独创的“变量跟踪”等阅读技巧,兼具趣味性和知识性,使学习更轻松。 新语言元素 作为教材的重要补充,第一次将C#、Java等纳入扩展阅读,并制作了计算机语言发展族谱图,以突出C语言目前的地位和应用状态,为高职院校同学今后快速走向应用指出方向。 强大的资源配套 包括配套的《C语言程序设计实训、习题解答与考试指导(第二版)》、模拟的考试系统和大型题库、成熟的无纸化的单机或网络考试软件、资料丰富的教学网站、精致的教学课件等。

    前 言

    高职修订版的C语言程序设计教程终于完工,这是一本值得期待的教材,特色鲜明、内容充实、文叙简练,案例丰富有趣,经典的语法,新语言元素的加入。

    C语言是目前最流行的语言之一,也是很多其他流行语言如C#、C++、Java等的语法基础。随着计算机技术的发展,学好C语言越来越重要。为了适应不断发展的教学和考试需求,C语言程序设计教程的编写必须打破传统模式,作一些符合潮流的改革。

    本书分为12个章节,严格按照知识点层次划分章节。针对高职院校的特点,作了如下针对性设计:

    1.案例驱动

    重点案例划分为单独的小节。这样划分的好处在于重点突出案例的层次,方便讲解算法,同时给阅读教材带来方便。

    2.精选例题

    本书的例题包括了大部分经典的C语言案例,重点案例重点分析和讲解。结合独创的“变量跟踪”等阅读技巧,结合实际,趣味性和知识性相结合,使得学习起来更加轻松。

    3.新语言元素

    第一次将C#、Java等纳入扩展阅读,并制作了计算机语言发展族谱图。这样的设计是对目前相关教材的重要补充。C语言作为经典的语言,其目前的地位和应用状态必须给出,为高职院校的同学今后快速走向应用指明方向。

    4.强大的资源配套

    经过多年的积累,本书配套资源非常丰富,包括配套的《C语言程序设计实训、习题解答与考试指导(第二版)》、模拟的考试系统和大型题库、成熟的无纸化的单机或网络考试软件、资料丰富的教学网站、精致的教学课件等。其中上机实训教材还包括了目前主要的计算机考试的考试指南和样卷分析等。

    基于高职类院校的教学需求,本书在内容上做了以下针对性调整:

    1.将链表内容移至实训教材中,精编主教材。主教材重点讲解基本语法,所有语法讲解力求叙述简练、深入浅出。

    2.简化指针内容。作为C语言重要的知识点——指针,本书精讲了指针的基本概念和应用特色,力求让读者快速了解和掌握指针。本书设计了分级指针的阅读和理解的技巧,经过多年的教学经验验证,效果非常好。

    3.本书的所有案例均考虑了双平台Turbo C 2.0和Visual C++ 6.0。案例在双平台上的不同之处均作了认真细致的注解。这样做的最大好处在于这两个平台仍然各具特色、各有千秋。单平台的案例目前来看有很多缺点,特别是各种考试系统和应用软件等需求不一样。当然,本书也完全可以固定选择某一个平台。

    4.关于printf、scanf等知识点,本书仍然给出较为详细的讲解,并配有针对性的演示程序。C语言的部分语法在C#、C++和Java等语言中被舍弃或者给出了更好的解决方案。这些知识点对于C虽然是必须的,但也正在被淡化,建议权衡把握。作为学习的引导,这部分内容本书也进行了简化。

    (5)本书特别增加了少量但很有价值的扩展阅读资料,例如浮点数的存储、数据转换的舍入与溢出、字节对齐等,另外,附录还增加了程序语言发展族谱图等,方便读者深入了解C语言,这部分内容主要面向需要深入学习的读者。

    读者如果需要查找更多的资料,可以访问教学网站(http://www.yataoo.com)或者与作者联系(yataoo@126.com)。

    本书主要面向高职类院校学生,也适合作其他大中专学生、各类工程技术人员自学教材或参加各类考试的参考书。

    本书由丁亚涛主编,杞宁、杜力、金月恒任副主编,参加编写的还有刘涛、林学华、谢杨梅、程一飞、朱薇、黄瑾娉、孙大勇、杜春敏、金力、欧凤霞、刘维平、刘飞超、孙红宇等。在全书的策划和出版过程中,一直得到中国水利水电出版社万水分社的策划/编辑团队特别是雷顺加总编的大力支持,许多从事教学工作的同仁也给予了关心和帮助,他们对本书提出了很多宝贵的建议。在此一并表示感谢。

    由于作者水平有限,难免会有一些错误,希望读者不吝指教,以便我们再版时修正。如您有更好的意见,欢迎与我们联系,联系方式如下:

    电子邮件:yataoo@126.com

    2011年3月

    第1章 C语言概述 1
    1.1 程序设计和C语言 1
    1.1.1 程序(program)的概念 1
    1.1.2 程序设计(programming)的
    一般过程 1
    1.1.3 程序设计的方法 1
    1.1.4 C语言的历史和发展 2
    1.2 案例:历史上的第一个C语言程序 2
    1.3 案例:计算圆柱体底面积和体积 3
    1.4 C语言的特点 4
    1.5 案例:计算1+2+3+…+100 5
    1.6 算法 6
    1.6.1 算法概述 6
    1.6.2 算法的表示 7
    1.7 C语言编程环境 8
    1.7.1 Turbo C 2.0编程环境 8
    1.7.2 Visual C++ 6.0编程环境 10
    本章小结 14
    习题一 14
    第2章 数据类型、运算符和表达式 15
    2.1 数据类型 15
    2.1.1 数据类型概述 15
    2.1.2 整型及整型常量 16
    2.1.3 实型及实型常量 17
    2.1.4 字符型及字符型常量 18
    2.2 标识符、符号常量与变量 21
    2.2.1 标识符 21
    2.2.2 符号常量 21
    2.2.3 变量 22
    2.3 运算符与表达式 26
    2.3.1 算术运算符与算术表达式 27
    2.3.2 算术表达式的书写 30
    2.3.3 赋值运算符与赋值表达式 31
    2.3.4 逗号运算符与逗号表达式 32
    2.4 数据类型转换 33
    2.4.1 类型转换概述 33
    2.4.2 自动类型转换 34
    2.4.3 赋值类型转换 35
    2.4.4 强制类型转换 35
    2.5 数据的溢出与误差 36
    2.5.1 数据的溢出 36
    2.5.2 实型数据的误差 38
    2.6 案例:一样的'A',不一样的输出方式 38
    2.7 案例:代数式和C语言表达式 39
    2.8 案例:时间的换算 39
    本章小结 40
    习题二 41
    第3章 简单程序设计 43
    3.1 C语言语句 43
    3.2 程序结构 44
    3.2.1 程序结构简介 44
    3.2.2 顺序结构 45
    3.3 赋值语句 46
    3.3.1 基本赋值语句 46
    3.3.2 复合赋值语句 47
    3.4 数据的输入与输出 47
    3.4.1 格式化输出函数printf 48
    3.4.2 格式化输入函数scanf 50
    3.4.3 字符数据的输入与输出 54
    3.5 案例:简单的数据交换算法 55
    3.6 案例:大小写字母的转换 56
    3.7 案例:计算三角形的面积 57
    3.8 案例:求一元二次方程的根 57
    3.9 案例:相同的++运算,不一样的结果 58
    本章小结 59
    习题三 60
    第4章 选择结构程序设计 64
    4.1 案例:红绿灯 64
    4.2 关系运算符与关系表达式 65
    4.2.1 关系运算符 65
    4.2.2 关系表达式 66
    4.3 逻辑运算符与逻辑表达式 66
    4.3.1 逻辑运算符 66
    4.3.2 逻辑表达式 67
    4.4 逻辑运算符的短路现象 67
    4.5 if语句 68
    4.5.1 单分支if语句 68
    4.5.2 双分支if语句 69
    4.5.3 多分支选择结构 71
    4.6 案例:打车费用的计算 71
    4.7 if语句的嵌套 72
    4.8 案例:闰年的判断 73
    4.9 条件运算符和条件表达式 75
    4.9.1 条件运算符 75
    4.9.2 条件表达式 75
    4.10 switch语句 76
    4.11 案例:判断输入的整数是否含有数字6 79
    4.12 案例:三个数的排序 80
    4.13 案例:分数等级的划分 81
    本章小结 82
    习题四 83
    第5章 循环结构程序设计 88
    5.1 案例:一次有趣的投币游戏 88
    5.1.1 游戏规则 88
    5.1.2 问题的解决 88
    5.2 while循环 89
    5.3 do-while循环 92
    5.4 for循环 94
    5.5 案例:倒数的求和 95
    5.6 循环的嵌套 97
    5.7 break语句、continue语句和goto语句 99
    5.7.1 break语句 99
    5.7.2 continue语句 99
    5.7.3 goto语句 100
    5.8 案例:阶乘的计算 100
    5.9 案例:输出星号组成的图形 101
    5.10 案例:计算100以内的素数之和 102
    5.11 案例:计算Fibonacci数列
    前20项的和 104
    5.12 循环的阅读和技巧 105
    5.13 案例:日历的打印 107
    本章小结 108
    习题五 109
    第6章 数组 116
    6.1 数组的基本概念 116
    6.2 一维数组 116
    6.3 案例:求10个数中的最大值、
    最小值、平均值 117
    6.4 二维数组和多维数组 119
    6.5 案例:输入学生成绩,计算每门
    课程的平均分 120
    6.6 字符数组与字符串 121
    6.7 案例:逆序输出字符串 122
    6.8 字符串函数 122
    6.9 案例:查找最大字符串 124
    6.10 案例:冒泡排序算法 124
    6.11 案例:字符串的连接、插入和删除 127
    6.12 案例:转置矩阵 130
    6.13 案例:杨辉三角形 131
    6.14 案例:日历的打印 132
    本章小结 133
    习题六 134
    第7章 函数 137
    7.1 案例:计算(1) +(1+2)+(1+2+3)+
    (1+2+3+4)+(1+2+3+4+5) 137
    7.2 函数的定义和调用 138
    7.2.1 函数定义 138
    7.2.2 函数调用 139
    7.3 参数传递 140
    7.4 函数声明 141
    7.5 作用域 142
    7.6 存储类型 144
    7.6.1 自动(auto)类型 145
    7.6.2 寄存器(register)类型 145
    7.6.3 静态(static)类型 145
    7.6.4 外部(extern)类型 146
    7.7 案例:递归计算s=1+2+3+…+100 147
    7.8 递归函数 147
    7.9 案例:函数参数处理次序的案例 148
    7.10 案例:9999符合“歌德巴赫猜想”吗 149
    7.11 案例:星号图形的打印 150
    7.12 案例:演示数组和函数的关系 151
    7.13 案例:汉诺塔游戏 152
    本章小结 154
    习题七 155
    第8章 指针基础 158
    8.1 借钱的故事 158
    8.2 指针的概念 158
    8.3 指针变量的定义和初始化 159
    8.4 指针运算 160
    8.4.1 *运算符和取地址运算符& 160
    8.4.2 指针变量的引用 160
    8.4.3 指针的算术运算和关系运算 162
    8.5 指针与数组 163
    8.5.1 指针与字符数组 163
    8.5.2 指针与其他类型数组 164
    8.5.3 指针与二维数组 164
    8.6 指针与函数 167
    8.6.1 指针作为函数的参数 167
    8.6.2 函数指针 168
    8.6.3 返回指针的函数 171
    8.7 案例:字符的查找 171
    8.8 案例:统计字符的个数 172
    本章小结 176
    习题八 176
    第9章 结构体、共用体与枚举 179
    9.1 结构体 179
    9.1.1 结构体类型的定义 180
    9.1.2 结构体变量的定义和初始化 180
    9.1.3 结构体变量的引用 182
    9.1.4 结构体数组 185
    9.1.5 结构体指针 188
    9.1.6 结构体与函数 191
    9.2 共用体 195
    9.2.1 共用体类型的定义 195
    9.2.2 共用体变量的说明和引用 196
    9.3 枚举类型 200
    9.3.1 枚举类型的定义 200
    9.3.2 枚举变量的定义和引用 201
    9.4 用户定义类型 202
    9.5 案例:求两个复数之和 203
    9.6 案例:已知今天,明天为何 204
    本章小结 205
    习题九 206
    第10章 位运算 212
    10.1 位、字节与编码 212
    10.1.1 字节与位 212
    10.1.2 原码 212
    10.1.3 反码 213
    10.1.4 补码 213
    10.2 位运算符和位运算 213
    10.2.1 按位取反 214
    10.2.2 按位与 214
    10.2.3 按位或 214
    10.2.4 按位异或 215
    10.2.5 左位移 215
    10.2.6 右位移 215
    10.3 程序举例 216
    本章小结 218
    习题十 218
    第11章 文件 221
    11.1 文件概述 221
    11.1.1 文件的概念 221
    11.1.2 文件的分类 221
    11.2 文件操作 223
    11.2.1 FILE文件类型指针 223
    11.2.2 文件的打开操作 224
    11.2.3 文件的关闭操作 225
    11.2.4 文件的读写操作 226
    11.3 文件的定位 233
    11.3.1 置文件位置指针于文件
    开头位置的函数rewind 233
    11.3.2 改变文件位置指针位置
    的函数fseek 234
    11.3.3 取得文件当前位置的函数ftell 235
    11.3.4 文件的错误检测 235
    11.4 编译预处理 235
    11.4.1 宏定义 236
    11.4.2 文件包含 238
    11.4.3 条件编译 238
    11.5 文件中的字母转换 240
    11.6 文件的合并 241
    11.7 带参数宏的困惑 241
    本章小结 242
    习题十一 242
    第12章 面向对象及C++、C#简介 245
    12.1 面向对象程序设计方法 245
    12.1.1 概述 245
    12.1.2 面向对象程序设计的基本概念 246
    12.1.3 面向对象程序设计的特点 246
    12.2 C++语言 247
    12.2.1 概述 247
    12.2.2 C++语言的特点 248
    12.2.3 几个简单的C++程序 249
    12.2.4 C++程序的基本组成 250
    12.2.5 数据的输入和输出 251
    12.3 C#语言 253
    12.3.1 概述 253
    12.3.2 C#如何与.NET Framework相关 256
    本章小结 257
    习题十二 257
    附录A 常用字符与ASCII码对照表 259
    附录B Turbo C 2.0常用库函数 260
    附录C Turbo C 2.0和Visual C++在编辑
    C程序时的区别 267
    附录D 主要计算机语言发展族谱图 268
    参考文献 269
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册