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

C语言程序设计

中国水利水电出版社
    【作 者】任正云 【I S B N 】978-7-5084-6826-6 【责任编辑】李炎 【适用读者群】本科 【出版时间】2009-09-01 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】292 【千字数】445 【印 张】18.25 【定 价】29 【丛 书】21世纪高等院校规划教材 【备注信息】
图书详情

    本书遵照C语言标准,全面、系统、深入浅出地阐述了C语言程序设计的基本概念、语法和语义,介绍了用C语言进行程序设计的基本方法和技巧。内容包括数据类型和表达式、流程控制、算法分析、函数与程序结构等。本书概念准确,结构合理,层次清晰,实例丰富,选材独到,语言通俗易懂。每章末都配有习题可供不同层次的读者练习。

    本书是一本准确、全面反映标准C语言的教材,还配有《C语言程序设计上机指导、题解、实验、课程设计与等级考试上机题》一书。阅读和使用本教材,不需要读者具备高级语言程序设计的基础。

    本教材既可供高等院校计算机和非计算机专业本、专科或培训班教学使用,也是广大科技工作者和编程爱好者的一本很好的参考书。

    注意学科体系的完整性,兼顾考研学生需要;强调理论与实践相结合,注意培养专业技能;采用“任务驱动”的编写方式,引入案例和启发式教学方法;提供电子教案、案例素材等教学资源,教材立体化配套;满足高等院校应用型人才培养的需要。

    随着计算机技术的飞速发展,社会对人们的计算机应用水平和开发水平的要求日益提高,作为计算机基础课程的程序设计语言也应顺应形势的发展进行改革,程序设计课程是提高学生综合开发能力的重要环节,但选择何种语言环境进行教学,是一个值得高度重视的问题。

    编程语言的选择,应该考虑三个方面的问题:首先,要有利于培养学生程序设计的能力;其次,要注意和当代最新编程技术的衔接;第三,语言本身的应用潜力。C语言作为结构化的程序设计语言,同其他编程语言相比,在以上三个方面都有突出优势。C语言既适合开发系统程序,又适合开发应用程序。既具有高级语言功能强大、使用灵活的特点,又具有汇编语言适合于编写底层应用程序的实用性的功能。对计算机专业的学生而言,C语言可以作为学习面向对象C++程序设计的基础课程;而对非计算机专业的学生而言,C语言本身就具有广泛的应用价值,各领域现在用C语言编程已经很普遍,C语言已经成为一种必不可少的编程工具。因此,选择C语言作为计算机程序设计的基础课程,是适应当前形势发展的需要。

    C语言程序设计是一门实践性很强的课程,在理解概念的基础之上,既要动手编程,又要上机实践,练就过硬的程序设计能力是我们培养学生的目标。学习程序设计时,一定要活学活用,要举一反三。

    本教材融入了编者多年的教学经验,充分考虑到初学者的能力、认知水平、知识结构等因素,遵循循序渐进、由浅入深的原则,文字叙述简明扼要、通俗易懂,理论阐述简明科学,选例经典适用,分析透彻浅显,使读者在把握要点时感到具体生动,而不抽象枯涩。

    本书由任正云任主编,严永松、李敏、王晓雨、赖玲、刘珊艳、王娅芬、胡玉荣、张牧、肖衡、陈万华、李俊梅和田雯参加了部分章节的编写和审稿工作,全书由任正云统稿,所有的程序由张牧、胡玉荣负责调试,在编写过程中得到了田原、李素若副教授和相关专家的指导,在此一并表示衷心的感谢。

    由于编写水平有限,本书难免有错误之处,恳请广大读者不吝赐教。

    编 者

    2009年6月


    前言

    第1章 程序设计基础 1
    1.1 程序设计及程序设计语言 1
    1.1.1 程序设计语言 1
    1.1.2 C语言的发展过程 2
    1.1.3 C语言的标准 3
    1.2 C语言的特点 3
    1.3 C程序结构 4
    1.3.1 简单的C程序介绍 4
    1.3.2 C程序结构 6
    1.4 源程序的编辑、编译、连接与运行 7
    1.5 算法 9
    1.5.1 算法的组成要素 9
    1.5.2 算法的表示方法 10
    1.5.3 算法设计举例 14
    习题一 16
    第2章 数据类型与基本操作 18
    2.1 常量与变量 18
    2.1.1 常量 18
    2.1.2 变量 21
    2.2 整型数据在计算机中的存储方式 24
    2.3 整型数据的溢出 25
    2.4 float和double类型数据在内存中的表示 26
    2.5 有符号的数据类型和无符号的数据类型 26
    2.6 运算符和表达式 28
    2.6.1 赋值运算符和赋值表达式 29
    2.6.2 算术运算符和算术表达式 30
    2.6.3 长度测试运算符sizeof 31
    2.6.4 关系运算符和关系表达式 31
    2.6.5 逻辑运算符与逻辑表达式 32
    2.6.6 条件运算符与条件运算表达式 34
    2.6.7 逗号运算符与逗号表达式 36
    2.7 不同类型数据间的转换 37
    习题二 40
    第3章 结构化程序设计 47
    3.1 C语句概述 47
    3.1.1 控制语句 47
    3.1.2 表达式语句 47
    3.1.3 复合语句 48
    3.2 数据的输入和输出 48
    3.2.1 数据的输出函数 48
    3.2.2 scanf函数 54
    3.3 getchar函数与putchar函数 57
    3.3.1 字符输出函数putchar() 58
    3.3.2 字符输入函数getchar() 58
    3.4 选择结构程序设计 59
    3.4.1 if语句 60
    3.4.2 switch语句 68
    3.4.3 选择结构程序举例 70
    3.5 循环结构程序设计 74
    3.5.1 while语句 74
    3.5.2 do-while语句 79
    3.5.3 for语句 80
    3.5.4 三种循环语句的比较 86
    3.5.5 循环的嵌套 86
    3.5.6 转向语句 91
    3.5.7 return语句 92
    习题三 93
    第4章 函数 103
    4.1 函数的定义与声明 103
    4.1.1 函数的定义 103
    4.1.2 函数的参数和返回值 104
    4.1.3 函数的声明 105
    4.2 函数的调用 105
    4.2.1 调用函数的一般形式 105
    4.2.2 调用函数时数据的传递 106
    4.2.3 函数的嵌套调用 107
    4.2.4 函数的递归调用 109
    4.3 变量的作用域——局部变量和
    全局变量 114
    4.3.1 局部变量 115
    4.3.2 全局变量 116
    4.4 变量的存储属性 119
    4.4.1 自动变量(auto) 120
    4.4.2 寄存器变量(register) 122
    4.4.3 静态变量(static) 122
    4.4.4 外部变量 123
    4.4.5 存储类型小结 124
    4.5 编译预处理 126
    4.5.1 宏定义 126
    4.5.2 文件包含 131
    4.5.3 条件编译 132
    习题四 134
    第5章 数组 140
    5.1 一维数组 140
    5.1.1 一维数组的定义 140
    5.1.2 一维数组的初始化 141
    5.1.3 一维数组元素的引用 141
    5.1.4 一维数组元素的查找与排序 144
    5.2 二维数组和多维数组 148
    5.2.1 二维数组和多维数组的概念
    及其定义 148
    5.2.2 二维数组和多维数组的引用 149
    5.2.3 二维数组的初始化 150
    5.2.4 二维数组的经典实例 151
    5.3 字符数组 154
    5.3.1 字符数组的定义 155
    5.3.2 字符数组的初始化 155
    5.3.3 引用字符数组元素 156
    5.3.4 字符串和字符串的结束标志 156
    5.3.5 字符数组的输入输出 158
    5.3.6 常用字符串函数 159
    5.3.7 字符数组的使用 162
    5.4 数组应用实例 163
    习题五 171
    第6章 指针 176
    6.1 地址和指针 176
    6.1.1 地址和指针的概念 176
    6.1.2 指向变量的指针变量 178
    6.2 指针与数组 180
    6.2.1 指向数组元素的指针 180
    6.2.2 通过指针引用数组元素 181
    6.2.3 数组名作为函数参数 183
    6.2.4 指针与字符数组 188
    6.2.5 数组指针 191
    6.3 指针与函数 192
    6.3.1 指针作函数参数 192
    6.3.2 函数指针 194
    6.3.3 指针函数 197
    6.4 多级指针与指针数组 198
    6.4.1 多级指针 198
    6.4.2 指针数组 199
    6.4.3 main函数的参数 200
    6.5 动态内存分配与指向它的指针变量 201
    6.5.1 什么是内存的动态分配 201
    6.5.2 怎样建立内存的动态分配 201
    6.6 综合实训 203
    习题六 204
    第7章 结构体和共用体 210
    7.1 概述 210
    7.2 结构体与结构体类型变量 210
    7.2.1 结构体类型的声明 210
    7.2.2 结构体类型变量的定义 211
    7.2.3 结构体变量的初始化 213
    7.2.4 结构体类型变量的引用 214
    7.3 结构体数组 215
    7.4 指向结构体类型数据的指针 218
    7.4.1 指向结构体变量的指针 218
    7.4.2 指向结构体数组的指针 219
    7.4.3 结构体指针变量作为函数的参数 220
    7.4.4 结构体与函数的类型 222
    7.5 链表 225
    7.5.1 链表的概念 225
    7.5.2 动态存储分配 227
    7.5.3 链表的基本操作 227
    7.6 共用体 232
    7.6.1 共用体的概念和定义 232
    7.6.2 共用体变量的引用 234
    7.7 枚举类型 236
    7.7.1 枚举的定义与说明 236
    7.7.2 枚举类型变量的赋值与引用 237
    7.8 用typedef定义类型 238
    习题七 239
    第8章 位运算 244
    8.1 位运算符 244
    8.2 与位运算有关的复合赋值运算符 249
    习题八 251
    第9章 文件 254
    9.1 文件的概念 254
    9.1.1 文件的类型 254
    9.1.2 文件名 254
    9.1.3 文件缓冲区和非缓冲文件系统 255
    9.1.4 文件类型指针 255
    9.2 文件的打开与关闭 256
    9.2.1 文件的打开 256
    9.2.2 文件的关闭 258
    9.3 文件的顺序读写 258
    9.3.1 读写一个字符 258
    9.3.2 读写一个字符串 260
    9.3.3 数据块的读/写 261
    9.3.4 文件的格式化读/写 263
    9.3.5 整数读/写函数 263
    9.4 文件的随机读/写与出错检查 264
    9.4.1 文件的定位 264
    9.4.2 文件的出错检测 266
    习题九 267
    附录A ASCII字符编码一览表 272
    附录B C语言库函数 273
    附录C 运算符的优先级别和结合方向 280
    参考文献 282
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册