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

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

书      号:9787113191535

丛  书 名:高等院校计算机应用技术规划教材

作      者:恰汗•合孜尔

译      者:

开      本:16开

装      帧:平装

正文语种:

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

定      价:38

  • 内容简介

    本书从程序设计的实际能力培养出发,深入浅出,将理论与实践有机结合。本书内容丰富、注重实践;突出重点、分散难点;例题广泛、结合实际;图文并茂、文字流畅。本书的宗旨在于进一步巩固对基础知识的理解和掌握,提高学生的逻辑分析、抽象思维和程序设计能力,培养学生良好的程序设计风格,进而具备编写中、大型程序的能力。
    本书中的程序按照模块化程序设计思想进行编写,同时,每一个程序都遵循软件工程方法学的编程风格(即采用缩进格式),程序中附有注释,便于学生对程序的分析、理解和自学。
    本书适合作为高等学校各专业“C语言程序设计”课程的教材,也可供C语言自学者或参加各种C语言考试的读者及各类工程技术人员学习使用。
  • 前言

    第四版前言

    本教材的第一版作为高等院校计算机应用规划教材,于 2005年 8月由中国铁道出版社出版发
    行,第二版于 2008年 12月出版发行,第三版于 2010年 3月出版发行并被评为高等教育“十一五”
    国家级规划教材,至今已印刷 11次。经过两次改版,本教材逐步得到了改进和完善。但是在使用
    过程中发现,第三版第一章的内容从结构、顺序、难易程度和描述上仍有些不足之处,因而,本
    次修订对第一章的内容从结构、顺序、难易程度和描述上做了全方位的改写。

    经三次修订后,本书具有以下几个特点:

    (1)C语言的概念比较复杂,规则较多,使用灵活,不少初学者感到困难。针对 C语言的特
    殊性,本书采用突出重点、分散难点的方式编写;内容组织上层次分明,由浅入深。同时从培养
    程序设计的实际能力出发,将理论与实践有机结合,融知识传授和能力培养为一体。
    (2)书中实例按照模块化程序设计思想进行编程,同时,每一个程序都遵循软件工程方法学
    的编程风格,即对大部分例题用流程图方式和 N-S图方式同时给予描述;程序采用缩进格式,程
    序中附有注释,便于对程序的分析、理解和自学。另外,培养学生良好的程序设计风格,进而具
    有编写中、大型程序的能力。
    (3)每章都有引言和本章小结,便于学生抓住要领。每章的引言中,简明扼要地介绍本章的
    主要内容及目的。本章小结中,有学习的要点和难点,便于学生抓住重点。同时,每一章末附有
    精心挑选和设计的多种类型的习题,有助于读者通过练习,进一步理解和巩固各章节的内容。
    (4)本书采用 Visual C++
    6.0作为开发环境,所有例题均指定扩展名为.c,在 Visual C++
    6.0
    环境下上机调试并通过,便于教师课上演示。
    本书共10章。第 1章概要介绍了 C语言以及在 Visual C++
    6.0环境下如何运行 C语言程序。
    第 2章介绍了 C语言的语法基础以及顺序结构程序设计的基本方法。第 3章介绍了选择结构程
    序设计的基本语句以及使用选择结构编写程序。第 4章介绍了循环结构程序设计的基本语句以
    及使用循环结构编写程序。第 5章介绍了数组的概念以及使用数组编写程序。第 6章介绍了模
    块化程序设计方法、函数的概念、变量的作用域和存储类别以及编译预处理命令。第 7章介绍
    了指针、指针变量以及使用指针编写程序。第 8章介绍了结构体、共用体、枚举类型以及链表
    及其应用。第 9章介绍了 C文件的基础知识以及最基本的文件操作。第 10章介绍了各种位运算
    及其运算规则。

    本书讲授学时数为 60~116学时,其中包括习题、上机实验和课程设计学时数,上机实验和
    课程设计部分的内容可参照配套教材《C语言程序设计习题集与上机指导(第三版)》进行,各高
    校可根据教学课时数来确定教学内容以及相应的实验内容和课程设计内容。本书配有电子教案,
    方便教学和读者自学,请到网站
    http://www.
    51eds.com下载。

    本书适合作为高等学校各专业“C语言程序设计”课程的教材,也可供C语言自学者或参加
    各种 C语言考试的读者及各类工程技术人员学习使用。
    本书由恰汗·合孜尔任主编,戴仕明、张婷、吕云芳、刘荷花任副主编。其中,第 2、3、4、


    5、7、8章以及附录由恰汗·合孜尔编写,第 1章由戴仕明编写,第 6章由张婷编写,第 9章由
    吕云芳编写,第 10章由刘荷花编写。
    在本书的编写过程中,编者广泛参阅、借鉴和吸收了国内外 C语言程序设计方面的相关教材
    和资料,在此谨向这些教材和资料的作者致以诚挚的感谢。
    由于作者水平有限,书中难免存在疏漏与不妥之处,恳请同行和广大读者批评指正。

    编者
    2014年
    6月
  • 目录

    CONTENTS CONTENTS
    目录



    1章 C语言概述
    .................................1


    1.1
    程序设计语言的发展历程 ..............1
    1.2
    C语言的发展历程 ..........................2
    1.3
    C语言的主要特点 ..........................3
    1.4
    C语言程序的基本结构和书写风格...3
    1.4.1
    C语言程序的基本结构 .......4
    1.4.2
    C语言程序的书写风格 .......6
    1.5
    程序及算法 .....................................6
    1.5.1
    程序 .....................................6
    1.5.2
    算法的概念..........................7
    1.5.3
    算法的描述..........................8
    1.6
    程序设计方法................................10
    1.6.1
    结构化程序设计方法 ........ 10
    1.6.2
    面向对象程序设计方法 .... 12
    1.7
    C语言程序的运行步骤和
    开发环境........................................ 12
    1.7.1
    C语言程序的运行步骤 ..... 12
    1.7.2
    开发环境 Visual C++ 6.0
    简介 ................................... 13
    1.8 程序举例 ....................................... 16
    本章小结 ................................................ 17
    习题 ........................................................ 17

    2章 C语言基础及顺序结构
    程序设计...................................19

    2.1
    C语言的字符集 ............................ 19
    2.2
    C语言的关键字和标识符 ............. 19
    2.2.1
    关键字 ............................... 20
    2.2.2
    标识符 ............................... 20
    2.3
    C语言的数据类型 ........................ 20
    2.4
    常量 ............................................... 21
    2.4.1
    整型常量............................22
    2.4.2
    实型常量............................22
    2.4.3
    字符常量............................23
    2.4.4
    字符串常量........................24
    2.4.5
    符号常量............................25
    2.5
    变量 ...............................................26
    2.5.1
    变量的概念........................26
    2.5.2
    变量的定义与初始化 ........26
    2.5.3
    整型变量............................27
    2.5.4
    实型变量............................27
    2.5.5
    字符变量............................28
    2.6
    C语言的运算符和表达式概述 .....30
    2.6.1
    运算符 ...............................30
    2.6.2
    表达式 ...............................30
    2.6.3
    运算符的优先级和结合性 ....30
    2.7
    C语言中最基本的运算符和
    表达式 ...........................................32
    2.7.1
    算术运算符和算术
    表达式 ...............................32
    2.7.2
    赋值运算符和赋值
    表达式 ...............................34
    2.7.3
    关系运算符和关系
    表达式 ...............................36
    2.7.4
    逻辑运算符和逻辑
    表达式 ...............................36
    2.7.5
    条件运算符和条件
    表达式 ...............................38
    2.7.6
    逗号运算符和逗号
    表达式 ...............................39
    2.7.7
    强制类型转换运算符 ........40
    2.7.8
    其他运算符........................41

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


    2
    2.8
    C语言的基本语句 ........................ 42
    2.9
    数据的输入与输出 ........................ 43
    2.9.1
    字符输入/输出函数 ........... 44
    2.9.2
    格式输出函数....................45
    2.9.3
    格式输入函数....................49
    2.10
    顺序结构程序设计 ...................... 52
    2.11 程序举例 ..................................... 54
    本章小结 ................................................ 57
    习题 ........................................................ 57

    3章选择结构程序设计
    ....................62


    3.1
    选择结构的概念............................62
    3.2
    if语句............................................64
    3.2.1
    if语句的 3种形式 ............. 64
    3.2.2
    if语句的嵌套 .................... 70
    3.3
    switch语句 .................................... 73
    3.4 程序举例 ....................................... 77
    本章小结 ................................................ 83
    习题 ........................................................ 83

    4章循环结构程序设计
    ....................88


    4.1
    循环的概念 ................................... 88
    4.2
    while语句 ...................................... 89
    4.3
    do…while循环 .............................. 92
    4.4
    for循环 .......................................... 94
    4.5
    break语句和 continue语句 ........... 98
    4.5.1
    break语句..........................98
    4.5.2
    continue语句 ..................... 99
    4.6
    多重循环 ..................................... 100
    4.7
    程序举例 ..................................... 103
    4.8 3种循环语句的比较 ................... 109
    本章小结 .............................................. 110
    习题 ...................................................... 110

    5章数组
    ........................................115


    5.1
    数组及数组元素的概念 .............. 115
    5.2
    一维数组的定义和引用 .............. 115
    5.2.1
    一维数组的定义 .............. 115
    5.2.2
    一维数组元素的引用 ...... 116
    5.2.3
    一维数组的初始化 .......... 117
    5.2.4
    一维数组程序举例 .......... 118
    5.3
    多维数组 ..................................... 126
    5.3.1
    二维数组的定义 .............. 126
    5.3.2
    二维数组元素的引用 ...... 127
    5.3.3
    二维数组的初始化 .......... 127
    5.3.4
    多维数组的定义 .............. 128
    5.3.5
    多维数组程序举例 .......... 128
    5.4
    字符数组 ..................................... 133
    5.4.1
    字符数组的定义 .............. 133
    5.4.2
    字符数组的初始化 .......... 133
    5.4.3
    字符串及其字符串的
    结束标志.......................... 135
    5.4.4
    字符数组的输入/输出 ..... 135
    5.4.5
    常用的字符串处理函数.....136
    5.4.6
    字符数组程序举例 .......... 140
    5.5 程序举例 ..................................... 143
    本章小结 .............................................. 145
    习题 ...................................................... 146

    6章函数与编译预处理
    ................. 149


    6.1 函数概述 ..................................... 149
    6.1.1
    模块化程序设计方法 ...... 149
    6.1.2
    函数的分类......................150
    6.1.3
    函数的定义......................151
    6.2 函数的调用 ................................. 152
    6.2.1
    函数的调用方式 .............. 152
    6.2.2
    对被调函数原型的声明.....153
    6.3
    函数的参数传递方式与函数
    的返回值 ..................................... 154
    6.3.1
    函数的参数传递方式 ...... 154
    6.3.2
    函数的返回值 .................. 159





    3
    6.4
    函数的嵌套调用与递归调用 ...... 160 7.4.2 字符串作为函数参数 ...... 209

    6.4.1
    函数的嵌套调用 .............. 160 7.5 指针数组 ..................................... 210


    6.4.2
    函数的递归调用 .............. 161 7.6 指向指针的指针 .......................... 211


    6.5
    变量的作用域与存储类别 .......... 163 7.7 函数的指针 ................................. 213


    6.5.1
    局部变量和全局变量 ...... 163 7.7.1函数的指针和指向

    6.5.2
    变量的动态和静态存储 函数的指针变量 .............. 213
    方式 ................................. 166 7.7.2函数的指针作为函数


    6.5.3
    局部变量的存储类别 ...... 166 参数 ................................. 214


    6.5.4
    全局变量的存储类别 ...... 168 7.8 返回指针的函数 .......................... 215


    6.6
    内部函数和外部函数 .................. 170 7.9 main()函数的返回值和参数 ........ 217


    6.6.1
    内部函数 ......................... 170 7.9.1 main()函数的返回值 ........ 217


    6.6.2
    外部函数 ......................... 170 7.9.2 main()函数的参数 ............ 217


    6.7
    编译预处理 ................................. 171 7.10 程序举例 ................................... 218


    6.7.1
    宏定义 ............................. 171 本章小结 .............................................. 220


    6.7.2
    文件包含 ......................... 176 习题 ...................................................... 221


    6.7.3
    条件编译 ......................... 177 第
    8章结构体和共用体
    ..................... 224


    6.8 程序举例 ..................................... 180 8.1 结构体 ......................................... 224
    本章小结 .............................................. 187 8.1.1 结构体类型的定义 .......... 224
    习题 ...................................................... 187 8.1.2 结构体变量的说明 .......... 225



    7章指针
    ........................................192 8.1.3 结构体变量的引用 .......... 226


    7.1
    地址和指针的概念 ...................... 192 8.1.4 结构体变量的赋值 .......... 226


    7.2
    指向变量的指针变量 .................. 193 8.1.5 结构体变量的初始化 ...... 227


    7.2.1
    指向变量的指针变量的 8.1.6 结构体数组......................228
    定义 ................................. 193 8.1.7指向结构体变量的指针


    7.2.2
    指针运算符......................193 变量 .................................231


    7.2.3
    指针变量的初始化 .......... 195 8.2 动态存储分配与链表 .................. 232


    7.2.4
    指针变量的运算..............196 8.2.1 链表的概念......................233


    7.2.5
    指针变量作为函数参数 .... 197 8.2.2 动态存储分配 .................. 233


    7.3
    指针与数组 ................................. 199 8.2.3 建立和输出链表 .............. 235


    7.3.1
    一维数组和指针 .............. 199 8.2.4 链表的基本操作 .............. 235


    7.3.2
    二维数组和指针 .............. 204 8.3 共用体类型 ................................. 242


    7.4
    字符串的指针和指向字符串的 8.3.1 共用体类型概述 .............. 242
    指针变量...................................... 207 8.3.2 共用体变量的定义 .......... 242


    7.4.1
    字符串的指针..................207 8.3.3共用体变量的引用和赋值.....243



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


    4
    8.4 枚举类型 ..................................... 244
    8.4.1
    枚举类型的定义................ 244
    8.4.2
    枚举类型变量的赋值和
    使用 ................................. 245
    8.5 用户自定义类型..........................247
    8.6 程序举例 ..................................... 249
    本章小结 .............................................. 251
    习题 ...................................................... 252

    9章文件
    ........................................255


    9.1 文件的基本概念..........................255
    9.1.1
    文件的分类......................255
    9.1.2
    文件的操作过程 .............. 256
    9.1.3
    文件缓冲区......................256
    9.2 文件类型指针.............................. 257
    9.3 文件的打开与关闭 ...................... 257
    9.3.1
    文件的打开函数 .............. 257
    9.3.2
    文件的关闭函数 .............. 259
    9.4 文件的读/写 ................................ 259
    9.4.1
    文件的写函数..................259
    9.4.2
    文件的读函数..................263
    9.4.3
    文件的读/写函数程序
    举例 ................................. 267
    9.5 文件的随机读/写.........................269
    9.6 文件检测函数..............................271
    9.7 程序举例 ..................................... 271
    本章小结 .............................................. 273
    习题 ...................................................... 273

    10章位运算.................................. 276


    10.1 位运算符和位运算 .................... 276
    10.1.1
    位运算符 ...................... 276
    10.1.2
    位运算符的运算
    功能 ............................. 277
    10.2 位段结构 ................................... 283
    10.2.1
    位段的概念 .................. 283
    10.2.2
    位段结构的定义和
    使用 ............................. 283
    10.3 程序举例 ................................... 285
    本章小结 .............................................. 285
    习题 ...................................................... 286
    附录
    A 部分字符的
    ASCII码对照表.... 287
    附录
    B Visual C++ 6.0库函数
    ............. 288
    附录
    C Visual C++ 6.0编译错误信息....294
    参考文献 .............................................. 298


  • 作者介绍

    恰汗•合孜尔,原新疆大学教授,现被调入新疆自治区科学技术协会工作。学习经历:1981.9~1985.7,新疆大学数学系计算数学专业学习,获理学学士学位;1986.9~1987.7,南京大学计算机科学系进修;1994.3~1996.3,日本东京明星大学理工学部电气系公派留学;1996.4~1998.3,日本明星大学大学院攻读硕士研究生,获工学硕士学位;1998.4~2001.3,日本明星大学大学院攻读博士研究生,获工学博士学位;2001.4~2002.5,日本东京都软件开发公司,博士后研究工作。教学经历:近十年来,为本科生讲授的主要课程有:软件工程、C语言程序设计、计算方法、C语言程序设计。主持完成了自治区级精品课程《C语言程序设计》。2010年获得“自治区第五届高等学校教学名师”荣誉称号;2011年,《实用计算机数值计算方法及程序设计(C语言版)》教材获自治区教学成果三等奖;2009年获得“自治区优秀留学回国人员”荣誉称号。
  • 编辑推荐

  • 书评书荐

  • 附件下载

图书推荐