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

C语言程序设计

书      号:9787113210724

丛  书 名:高等学校“十三五”规划教材

作      者:韦良芬,张继山

译      者:

开      本:16开

装      帧:平装

正文语种:

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

定      价:38

  • 内容简介

    本书是C语言程序设计的入门与应用教材,以培养并提高学生的编程及应用能力为指导思想。全书共分为11章,主要内容包括:程序设计与C语言,数据的存储、运算及输入/输出,C程序基本结构及顺序结构程序设计,选择结构程序设计,循环结构程序设计,利用数组批量处理数据,用函数实现模块化程序设计,使用构造数据类型处理组合数据,编译预处理与文件,大型程序基本结构,程序设计综合案例等。
    通过学习本书,读者可比较全面地掌握C语言知识,提高实际编程及调试能力,从而锻炼并提高对C语言的综合应用能力。最后一章通过智能车的C语言程序设计的综合案例,可进一步提高读者C语言的综合运用能力。
    本书适合作为普通高等学校应用型本科(含部分专科、高职类)各相关专业的程序设计教材,也可以作为计算机等级考试(二级)、自学、编程开发人员的培训教材。
  • 前言

    用计算机语言编写各种软件,进而驾驭计算机是计算机相关专业人员的重要技能之一,而应用计算机软件解决实际生活中的各种问题,是现代人的一项重要技能要求。
    C语言以其短小精悍、使用灵活、功能强大等特点深受人们的喜爱。但对一般初学者来说,C 语言规则较多,灵活性强,不易掌握。基于此,我们根据多年的教学经验,在传统教程的基础上进行了大胆的创新,希望提高广大学习者的兴趣,激发广大学习者的主动性和创造性。
    本书的主要特点如下:
    (1)从初学者的角度出发,每个应用章节均设置“应用引例” ,引导初学者带着问题去学习。一方面可以让初学者明确学习目的, 提高学习兴趣; 另一方面也可以加深初学者对各章节内容在实际应用中的认识。
    (2)将 C 语言的精华——指针分散在各个相关章节中介绍,不仅可以降低指针的学习难度,而且可以让初学者更直观地了解指针与其他各个知识点的关联性。
    (3)本书在结构安排和例题分析中,强调程序设计分析、调试和验证等过程,让学习者掌握软件开发的方法和过程,从而逐渐学会自主编写和调试程序。
    (4)本书例题新颖,在注重实际应用的基础上兼顾当前高等学校和社会上举办的各种计算机技能考试。
    本书共分为 11 章,主要内容包括:程序设计与 C 语言,数据的存储、运算及输入/输出,C程序基本结构及顺序结构程序设计,选择结构程序设计,循环结构程序设计,利用数组批量处理数据,利用函数实现模块化程序设计,使用构造数据类型处理组合数据,编译预处理与文件,大型程序基本结构,程序设计综合案例等,每个章节都由具有丰富教学经验的老师负责编写。
    本书由韦良芬、张继山任主编,张健、梅莹莹、张德青、梁月放任副主编。具体编写分工:韦良芬编写了第 4 章、第 8 章和第 9 章,张继山编写了第 2 章和第 6 章,张健编写了第 1 章,梅莹莹编写了第 3 章和第 5 章,张德青编写了第 7 章,梁月放编写了第 10 章和第 11 章。本书由韦良芬、张继山负责统稿、修改、审核和定稿。
    本书是安徽省振兴计划教学改革与质量提升计划重大教学改革研究项目(项目编号:2014zdjy144)研究成果,在编写过程中得到安徽三联学院领导和部分校个合作企业工程师的大力支持,在此表示诚挚的谢意。
    由于时间仓促,编者水平有限,书中难免存在疏漏和不足之处,恳请广大读者批评、指正。
    编 者
    2016 年 11 月
  • 目录

    第 1 章 程序设计与 C 语言 ......................................................................................... 1
    1.1 计算机与程序以及程序设计语言 ................................................................................... 1
    1.1.1 计算机语言.......................................................................................................... 1
    1.1.2 指令和程序.......................................................................................................... 1
    1.1.3 程序设计语言 ...................................................................................................... 2
    1.2 结构化程序设计方法 ...................................................................................................... 3
    1.2.1 程序的 3 种基本结构 .......................................................................................... 3
    1.2.2 自顶而下的模块设计方法 ................................................................................... 4
    1.2.3 结构化编码.......................................................................................................... 4
    1.2.4 程序设计的风格 .................................................................................................. 5
    1.3 C 语言简介 ...................................................................................................................... 5
    1.3.1 C 语言的发展历程 ............................................................................................... 5
    1.3.2 C 语言的主要特点 ............................................................................................... 7
    1.3.3 C 语言的应用场合 ............................................................................................... 8
    1.3.4 如何学好 C 语言.................................................................................................. 8
    1.4 简单 C 程序及其构成要素 .............................................................................................. 9
    1.4.1 简单 C 程序实例.................................................................................................. 9
    1.4.2 C 程序构成要素................................................................................................. 12
    1.4.3 保留字、标识符 ................................................................................................ 13
    1.5 C 程序的运行 ................................................................................................................ 15
    1.5.1 C 语言应用程序的处理流程 ............................................................................. 15
    1.5.2 集成开发工具 .................................................................................................... 16
    1.5.3 Visual C++ 6.0 上机环境介绍 ............................................................................ 17
    小结 ...................................................................................................................................... 24
    习题 ...................................................................................................................................... 25
    第 2 章 数据的存储、运算及输入/输出 ...................................................................... 26
    2.1 应用引例 ....................................................................................................................... 26
    2.1.1 常用实例 ........................................................................................................... 26
    2.1.2 解决问题需掌握的知识..................................................................................... 26
    2.2 C 语言的数据基本类型 ................................................................................................. 27
    2.3 常量和变量 ................................................................................................................... 27
    2.3.1 常量 ................................................................................................................... 28
    2.3.2 变量 ................................................................................................................... 31
    2.3.3 指针及指针变量 ................................................................................................ 33
    2.3.4 变量的存储类型 ................................................................................................ 35
    2.4 C 运算符和 C 表达式 .................................................................................................... 38
    2.4.1 算术运算符与算术表达式 ................................................................................. 38
    2.4.2 赋值运算符与赋值表达式 ................................................................................. 39
    2.4.3 逗号运算符与逗号表达式 ................................................................................. 40
    2.4.4 求字节数运算符 ................................................................................................ 41
    2.4.5 位运算符 ........................................................................................................... 41
    2.5 强制类型转换 ............................................................................................................... 42
    2.6 运算符的优先级与结合性 ............................................................................................ 44
    2.7 数据的输入与输出 ........................................................................................................ 46
    小结 ...................................................................................................................................... 51
    习题 ...................................................................................................................................... 51
    第 3 章 C 程序基本结构及顺序结构程序设计............................................................. 55
    3.1 应用引例 ....................................................................................................................... 55
    3.1.1 常用实例 ........................................................................................................... 55
    3.1.2 顺序类问题基本解决步骤 ................................................................................. 55
    3.2 算法描述及软件开发过程 ............................................................................................ 56
    3.2.1 算法的概念........................................................................................................ 56
    3.2.2 算法的表示方法 ................................................................................................ 57
    3.2.3 软件开发的一般过程 ........................................................................................ 59
    3.3 顺序结构程序设计 ........................................................................................................ 59
    3.3.1 程序的基本编写方法 ........................................................................................ 59
    3.3.2 顺序程序举例 .................................................................................................... 60
    3.4 应用编程 ....................................................................................................................... 60
    小结 ...................................................................................................................................... 62
    习题 ...................................................................................................................................... 62
    第 4 章 选择结构程序设计 ........................................................................................ 65
    4.1 应用引例 ....................................................................................................................... 65
    4.1.1 常用实例 ........................................................................................................... 65
    4.1.2 选择类问题的基本解决步骤 ............................................................................. 66
    4.2 判断条件描述 ............................................................................................................... 68
    4.2.1 关系运算符及关系表达式 ................................................................................. 68
    4.2.2 逻辑运算符及其表达式..................................................................................... 70
    4.3 if 语句 ........................................................................................................................... 71
    4.3.1 单分支决策........................................................................................................ 71
    4.3.2 二分支决策........................................................................................................ 74
    4.3.3 多分支决策........................................................................................................ 76
    4.3.4 if 语句的嵌套 .................................................................................................... 79
    4.4 switch...case 语句 .......................................................................................................... 81
    4.5 应用编程 ....................................................................................................................... 83
    小结 ...................................................................................................................................... 85
    习题 ...................................................................................................................................... 86
    第 5 章 循环结构程序设计 ........................................................................................ 91
    5.1 应用引例 ....................................................................................................................... 91
    5.1.1 常用实例 ........................................................................................................... 91
    5.1.2 循环类问题基本解决步骤 ................................................................................. 91
    5.2 while 语句...................................................................................................................... 92
    5.3 do...while 语句 ............................................................................................................... 95
    5.4 for 语句.......................................................................................................................... 98
    5.5 break 语句和 continue 语句 ..........................................................................................101
    5.5.1 break 语句.........................................................................................................101
    5.5.2 continue 语句 ...................................................................................................104
    5.6 循环的嵌套 ..................................................................................................................105
    5.7 应用编程 ......................................................................................................................107
    小结 .....................................................................................................................................108
    习题 .....................................................................................................................................109
    第 6 章 利用数组批量处理数据 ............................................................................... 114
    6.1 应用引例 ......................................................................................................................114
    6.1.1 常用实例 ..........................................................................................................114
    6.1.2 数组类问题基本解决步骤 ................................................................................115
    6.2 一维数组 ......................................................................................................................116
    6.2.1 一维数组的定义及初始化 ................................................................................116
    6.2.2 一维数组元素的引用 .......................................................................................118
    6.2.3 一维数组应用编程 ...........................................................................................119
    6.3 二维数组 ......................................................................................................................122
    6.3.1 二维数组的定义及初始....................................................................................122
    6.3.2 二维数组的引用 ...............................................................................................124
    6.3.3 二维数组的应用编程 .......................................................................................125
    6.4 字符数组 ......................................................................................................................127
    6.4.1 字符数组的定义及初始化 ................................................................................127
    6.4.2 字符数组的引用 ...............................................................................................128
    6.4.3 字符数组的输入/输出 ......................................................................................130
    6.4.4 字符串处理函数 ...............................................................................................131
    6.4.5 字符数组的应用编程 .......................................................................................135
    6.5 数组与指针 ..................................................................................................................137
    6.5.1 数组指针与指向数组的指针变量 ....................................................................137
    6.5.2 字符串的指针与指向字符串的指针变量 .........................................................141
    6.5.3 指针数组与指向指针的指针 ............................................................................142
    6.6 应用编程 ......................................................................................................................144
    小结 .....................................................................................................................................145
    习题 .....................................................................................................................................145
    第 7 章 用函数实现模块化程序设计 ........................................................................ 150
    7.1 应用引例 ......................................................................................................................150
    7.1.1 常用实例 ..........................................................................................................150
    7.1.2 模块化程序设计基本步骤 ................................................................................151
    7.2 函数的定义和调用 .......................................................................................................152
    7.2.1 函数的定义.......................................................................................................152
    7.2.2 函数的调用.......................................................................................................153
    7.2.3 函数的声明.......................................................................................................157
    7.3 函数的嵌套调用...........................................................................................................158
    7.4 函数的递归调用...........................................................................................................161
    7.5 函数参数值的传递 .......................................................................................................164
    7.5.1 一般变量作为函数实参....................................................................................164
    7.5.2 地址变量作为函数参数....................................................................................165
    7.6 函数与指针 ..................................................................................................................168
    7.6.1 指向函数的指针变量的定义及使用 ................................................................168
    7.6.2 指针变量作为函数的参数 ................................................................................171
    7.7 变量的作用域 ..............................................................................................................173
    7.7.1 局部变量 ..........................................................................................................173
    7.7.2 外部变量 ..........................................................................................................174
    7.8 应用编程 ......................................................................................................................175
    小结 .....................................................................................................................................178
    习题 .....................................................................................................................................178
    第 8 章 使用构造数据类型处理组合数据 ................................................................. 183
    8.1 应用引例 ......................................................................................................................183
    8.1.1 常用实例 ..........................................................................................................183
    8.1.2 构造类型类问题基本解决步骤 ........................................................................184
    8.2 结构体类型 ..................................................................................................................185
    8.2.1 结构体类型的定义 ...........................................................................................185
    8.2.2 结构体类型变量的定义....................................................................................186
    8.2.3 结构体变量的初始化 .......................................................................................186
    8.2.4 访问结构体变量成员的方法 ............................................................................187
    8.2.5 结构体数组.......................................................................................................187
    8.2.6 指向结构体类型数据的指针 ............................................................................189
    8.3 共用体类型 ..................................................................................................................190
    8.4 枚举类型 ......................................................................................................................193
    8.4.1 枚举类型定义 ...................................................................................................193
    8.4.2 枚举类型变量的定义 .......................................................................................193
    8.4.3 枚举型变量的使用 ...........................................................................................194
    8.5 用户自定义类型...........................................................................................................194
    8.6 应用编程 ......................................................................................................................195
    小结 .....................................................................................................................................198
    习题 .....................................................................................................................................198
    第 9 章 编译预处理与文件 ...................................................................................... 201
    9.1 应用引例 ......................................................................................................................201
    9.2 预处理 ..........................................................................................................................201
    9.2.1 宏定义 ..............................................................................................................201
    9.2.2 文件包含 ..........................................................................................................204
    9.2.3 条件编译 ..........................................................................................................204
    9.3 文件..............................................................................................................................205
    9.3.1 文件概述 ..........................................................................................................205
    9.3.2 文件指针 ..........................................................................................................206
    9.3.3 文件操作 ..........................................................................................................206
    9.4 应用编程 ......................................................................................................................212
    小结 .....................................................................................................................................215
    习题 .....................................................................................................................................215
    第 10 章 大型程序基本结构 .................................................................................... 219
    10.1 应用引例 ....................................................................................................................219
    10.1.1 常用实例 ........................................................................................................219
    10.1.2 实例中大型程序的基本结构 ..........................................................................220
    10.2 源文件 ........................................................................................................................220
    10.3 头文件 ........................................................................................................................221
    10.3.1 #include 指令 ..................................................................................................221
    10.3.2 共享宏定义和类型定义..................................................................................222
    10.3.3 共享函数原型 .................................................................................................223
    10.3.4 共享变量声明 .................................................................................................223
    10.3.5 嵌套包含 ........................................................................................................224
    10.3.6 保护头文件.....................................................................................................224
    10.3.7 头文件中的#error 指令 ...................................................................................225
    10.4 把程序划分成多个文件 .............................................................................................225
    10.5 构建多文件程序 .........................................................................................................231
    10.5.1 makefile...........................................................................................................231
    10.5.2 连接期间的错误 .............................................................................................233
    10.5.3 重新构建程序 .................................................................................................233
    10.5.4 在程序外定义宏 .............................................................................................235
    小结 .....................................................................................................................................235
    习题 .....................................................................................................................................236
    第 11 章 程序设计综合案例 .................................................................................... 237
    11.1 问题描述 ....................................................................................................................237
    11.2 需求分析 ....................................................................................................................238
    11.3 设计与实现 ................................................................................................................238
    11.3.1 功能模块划分 .................................................................................................238
    11.3.2 功能实现 ........................................................................................................239
    11.4 程序测试与分析 .........................................................................................................242
    11.4.1 测试基本知识 .................................................................................................242
    11.4.2 测试过程 ........................................................................................................242
    小结 .....................................................................................................................................245
    习题 .....................................................................................................................................246
  • 作者介绍

    韦良芬,三联学院副教授,研究生,网络专业带头人。现安徽三联学院从事教学工作。近年科研成果:(1) 韦良芬,刘涛,王勇.面向片上网络缓冲资源争用的路由器设计.计算机工程.2014,4(40)。(2) 韦良芬,张佑生,王勇.一种高吞吐低延时NoC容错路由算法.安徽工业大学学报.2014,2(31)。(3) 韦良芬,张佑生,王勇.一种环形Buffer自适应NoC路由器设计.微电子学与计算机.2014,1(31)。(4) 韦良芬,本科计算机类专业CDIO培养模式的研究.长春大学学报.2014.6(24)。

    (5) 韦良芬主编《C语言经典案例教程》,2010年10月。


    张继山,安徽三联学院教师,副教授,校第二届学术委员会委员。长期从事计算机专业教育教学工作,主要讲授C语言程序设计、计算机基础、计算机网络、网络编程技术、Linux网络配置与管理。主编教材有:《计算机基础实用教程》、《计算机应用基础》、《计算机网络技术》、《计算机网络实用技术》,其中“安徽省十一五规划教材”一部;副主编教材:《C语言程序设计经典案例教程》、《Windows Server 2008服务器配置与管理》。以第一作者公开发表论文6篇,其中2篇被EI收录。主持安徽省教育厅自然科学基金项目1项、安徽省振兴计划重大教改项目1项、校级科研项目1项,获省级教学成果奖三等奖1项(第三作者),参与省级科研项目和校级科研项目各1项。
  • 编辑推荐

    从初学者的角度出发,每个应用章节均设置“应用引例” ,引导初学者带着问题去学习。一
    方面可以让初学者明确学习目的, 提高学习兴趣; 另一方面也可以加深初学者对各章节内容在实际应用
    中的认识。
  • 书评书荐

  • 附件下载

图书推荐