计算机类教材 > 算法与程序设计

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

书号:9787113302238 套系名称:十四五”职业教育国家规划教材 安徽省高校省级质量工程一流教材建设项目

作者:方少卿 出版日期:2023-07-01

定价:52.00 页码 / 开本: /16

策划编辑:翟玉峰 责任编辑:翟玉峰 王占清

适用专业:计算机类 适用层次:高职教育

最新印刷时间:2023-07-01

资源下载
教学课件 教学素材
习题答案 教学案例
电子教案 教学视频
内容简介 前言 目录 作者介绍 图书特色
  •        本书是安徽省高校省级质量工程一流教材建设项目。全书分基础篇和提高篇。基础篇包含5个模块,介绍了C语言的常用基础知识和基本数据类型:提高篇包含6个模块,在基础篇的基础上介绍了C语言的高阶知识和各种构造类型(结构体、共用体和枚举)知识以及文件操作,最后以一个应用系统——学生资助信息管理系统设计开发作为综合实训。本书每个任务实施和小结配有视频进行讲解,以便于读者学习。
          本书注重应用性和实践性,通过一些典型例题的解题分析及C语言程序帮助读者加强对C语言的理解。为了提高操作技能,每章后配有实训。
          本书适合作为高职高专院校各专业“C语言程序设计”课程或“信息技术——程序设计”课程的教材,也可供准备参加计算机等级考试和自学C语言的读者阅读。
  •  我国已进入一个全新的新时代,大数据、人工智能、云计算、区块链等信息技术的广泛应用已成为经济社会转型发展的主要驱动力。党的二十大报告指出,到2035年我国要“建成现代化经济体系,形成新发展格局,基本实现新型工业化、信息化、城镇化、农业现代化”。为适应新时代发展需求,需要各级各类人员具备良好的信息技术素质,他们必须能够熟练地操作计算机,会使用一门或几门计算机语言进行编程。C语言作为一门典型的计算机编程语言,长期占据编程语言排行榜前三名,全球知名TIOBE编程语言社区发布的2022年7月编程语言排行榜中,C语言就排在第二位。C语言具备一切高级语言的特征和优势,清晰地体现了结构化、模块化程序设计的思想,并且在很多方面有扩充、提高和加强。此外,它具有低级语言的许多特点和精华,可直接访问内存地址,对字节的位进行多种运算,调用系统功能,这样大大提高了程序的运行效率。C语言功能丰富、表达能力强、使用灵活方便、应用面广、可移植性好,特别适合于编写系统软件和应用软件。作为在校大学生,学习一些计算机知识更是必须的,尤其要学习一些计算机程序设计知识,掌握一门计算机程序开发语言。
            一、本书修订情况
            《C语言程序设计》(方少卿主编,中国铁道出版社出版)自2009年5月出版发行以来,前两版分别被评为安徽省“十一五”和“十二五”省级规划教材,先后被全国很多所高职院校程序设计课程选用,是学习C语言程序设计的优秀教材。为了适应新时代计算机科学技术的发展,更好地满足人工智能、“互联网+”形势下高校计算机教学需求,本书在安徽省“十二五”省级规划教材第2版基础上作为安徽省高校2020年省级质量工程一流教材建设项目(2020YLJC128)进行修订,具体修订内容如下:
        (1)程序设计语言平台由Visual C++ 6.0平台升级为Visual C++ 2010,书中实例均在Visual C++ 2010环境下调试通过,并给出了程序运行结果,方便学生自主学习。
        (2)C语言内容分为两篇,将C语言基本知识安排在基础篇讲解,使学生首先构建起C语言学习的基本框架,然后在提高篇深入学习后续内容。
        (3)每个模块中的习题和实训任务给出参考解答,以方便学习者自学时参考,具体内容见线上课程网站。
        (4)提供了立体化的教学资源和网上学习资源,包括项目源代码、教学微视频、教学课件、教学素材、实训参考答案、习题参考答案、测试试卷等资源和线上课程网站。
            二、本书内容
            第3版秉承原来版本的设计原则,保持内容全面、循序渐进、简明易懂、习题丰富以及实践性强的特点,符合新时代职业教育发展需要,力求构建立体化新形态教材,以便于程序设计课程的教学;配套有丰富的立体课程资源与习题、实训参考答案,以便于使用者自我学习与提高。
            全书共分基础篇和提高篇两部分,基础篇包含5个模块,介绍了C语言的常用基础知识,包括C语言程序基本概念、基本数据类型、变量、基本运算(包括位运算)、各种表达式、三种基本程序结构和一维数组、函数基本知识等;提高篇包含6个模块,以基础篇为基础,进一步介绍了C语言的高阶知识,包括二维数组、函数复杂调用、各种构造类型(结构体、共用体和枚举)以及文件操作,最后以一个应用系统——学生资助信息管理系统设计开发作为综合实训。
            三、教学建议
            四、配套教学资源
            全书的实训和习题配套有相应参考答案(可以通过出版社网站来获取),任务实施和小结配套有相应微视频。为方便学习者学习和教师教学,提供了本课程的课件以及全书的例题和项目源代码。
            需要本教材相关资源可以联系教材主编或出版社,主编联系邮箱为tlfsq@126. com,出版社的课程资源网站为https://www.tdpress.com/51eds。教材配套课程资源也可以在学堂在线中搜索“铜陵职业技术学院”,点击进入本课程查询。
           五、编者分工
            本书是安徽省高校2020年省级质量工程一流教材建设项目,全书由铜陵职业技术学院方少卿教授担任主编并负责教材规划和统稿,铜陵职业技术学院查艳、安徽工业职业技术学院黄玉春和安徽警官职业学院尹向兵任副主编,铜陵职业技术学院张志、伍丽惠和安徽警官职业学院杨洋参与编写。其中,查艳编写模块10、模块11;伍丽惠编写模块2部分内容;张志编写模块1、模块3、模块4、模块5部分内容,尹向兵和杨洋编写模块8;黄玉春编写模块9部分内容;方少卿编写模块6、模块7以及模块1、3、4、5、9中部分内容和附录A~附录C。
           六、致谢
            在教材建设过程中得到铜陵职业技术学院、安徽工业职业技术学院、安徽警官职业学院领导和同仁的大力支持,中国铁道出版有限公司编辑在本书的出版过程中倾注了大量心血和支持,教材编写过程中还参考了本领域的相关教材和著作,在此一并深表谢意。由于编者水平有限,兼顾教与学需要探索的问题还很多,书中难免存在处理不当和疏漏之处,恳请广大读者和职教界各位同仁提出宝贵意见和建议,以便修订时加以完善和改进。
    编 者
    2023年2月
  • 模块1 初识C语言 .......................................................................................................1 
    1.1 任务导入 .................................................................................................................... 1 
    1.2 知识准备 .................................................................................................................... 2 
    1.2.1 C语言简介 ........................................................................................................ 2 
    1.2.2 数据输入/输出的常用方法.............................................................................. 5 
    1.2.3 C语言的发展历程及特点 ................................................................................ 7 
    1.2.4 C程序的调试与运行 ........................................................................................ 8 
    1.3 任务实施 .................................................................................................................. 12 
    小结 ................................................................................................................................... 13 
    实训 ................................................................................................................................... 13 
    习题 ................................................................................................................................... 14 
    模块2 数据准备——数据类型与表达式....................................................................15 
    2.1 任务导入 .................................................................................................................. 15 
    2.2 知识准备 .................................................................................................................. 15 
    2.2.1 C语言数据类型简介 ...................................................................................... 15 
    2.2.2 数据存储——常量与变量............................................................................. 16 
    2.2.3 整型数据......................................................................................................... 18 
    2.2.4 实型数据......................................................................................................... 21 
    2.2.5 字符型数据..................................................................................................... 22 
    2.2.6 C语言运算符及表达式 .................................................................................. 25 
    2.2.7 C语言中数据运算的相关问题...................................................................... 33
    2.3 任务实施 .................................................................................................................. 34 
    小结.................................................................................................................................... 35 
    实训.................................................................................................................................... 35 
    习题.................................................................................................................................... 37 
    模块3 数据处理——程序基本结构 .......................................................................... 38 
    3.1 任务导入 .................................................................................................................. 38 
    3.2 知识准备 .................................................................................................................. 38 
    3.2.1 C语句概述....................................................................................................... 38 
    3.2.2 赋值语句 ......................................................................................................... 39 
    3.2.3 数据的输入与输出函数................................................................................. 40 
    3.2.4 算法简述 ......................................................................................................... 46 
    3.2.5 程序基本结构 ................................................................................................. 52 
    3.3 任务实施 .................................................................................................................. 80 
    小结.................................................................................................................................... 81 
    实训.................................................................................................................................... 82 
    习题.................................................................................................................................... 83 
    模块4 同类型批数据处理——一维数组 ................................................................... 88 
    4.1 任务导入 .................................................................................................................. 88 
    4.2 知识准备 .................................................................................................................. 89 
    4.2.1 数组的概念 ..................................................................................................... 89 
    4.2.2 一维数组 ......................................................................................................... 89 
    4.2.3 字符串处理函数 ............................................................................................. 97 
    4.2.4 程序举例 ....................................................................................................... 100 
    4.3 任务实施 ................................................................................................................ 102 
    小结.................................................................................................................................. 103 
    实训.................................................................................................................................. 104 
    习题.................................................................................................................................. 105
    模块5 功能模块子程序——函数基础 .....................................................................110 
    5.1 任务导入 ................................................................................................................ 110 
    5.2 知识准备 ................................................................................................................ 110 
    5.2.1 函数概述....................................................................................................... 112 
    5.2.2 函数的定义................................................................................................... 113 
    5.2.3 函数的调用................................................................................................... 115 
    5.3 任务实施 ................................................................................................................ 120 
    小结 ................................................................................................................................. 121 
    实训 ................................................................................................................................. 122 
    习题 ................................................................................................................................. 122 
    提 高 篇 
    模块6 同类型批数据高级处理——二维数组...........................................................127 
    6.1 任务导入 ................................................................................................................ 127 
    6.2 知识准备 ................................................................................................................ 128 
    6.2.1 教学案例项目介绍——学生资助管理系统............................................... 128 
    6.2.2 二维数组....................................................................................................... 129 
    6.2.3 二维字符数组............................................................................................... 130 
    6.2.4 二维数组程序举例....................................................................................... 131 
    6.3 任务实施 ................................................................................................................ 135 
    小结 ................................................................................................................................. 136 
    实训 ................................................................................................................................. 137 
    习题 ................................................................................................................................. 138 
    模块7 功能子模块高级调用——函数与预处理命令................................................141 
    7.1 任务导入 ................................................................................................................ 141 
    7.2 知识准备 ................................................................................................................ 142 
    7.2.1 函数的调用扩展........................................................................................... 142 
    7.2.2 函数声明和函数原型................................................................................... 144
    7.2.3 库函数介绍 ................................................................................................... 147 
    7.2.4 局部变量和全局变量................................................................................... 148 
    7.2.5 变量的存储类型 ........................................................................................... 153 
    7.2.6 预处理命令 ................................................................................................... 157 
    7.3 任务实施 ................................................................................................................ 162 
    小结.................................................................................................................................. 163 
    实训.................................................................................................................................. 165 
    习题.................................................................................................................................. 166 
    模块8 按地址访问——指针 ................................................................................... 173 
    8.1 任务导入 ................................................................................................................ 173 
    8.2 知识准备 ................................................................................................................ 173 
    8.2.1 指针的基本概念 ........................................................................................... 176 
    8.2.2 变量的指针和指向变量的指针变量........................................................... 177 
    8.2.3 数组与指针 ................................................................................................... 180 
    8.2.4 指针数组和指向指针的指针....................................................................... 190 
    *8.2.5 返回指针值的函数..................................................................................... 194 
    8.3 任务实施 ................................................................................................................ 196 
    小结.................................................................................................................................. 197 
    实训.................................................................................................................................. 198 
    习题.................................................................................................................................. 199 
    模块9 构造数据类型——结构体、共用体与枚举................................................... 203 
    9.1 任务导入 ................................................................................................................ 203 
    9.2 知识准备 ................................................................................................................ 204 
    9.2.1 结构体 ........................................................................................................... 204 
    9.2.2 结构体数组 ................................................................................................... 207 
    9.2.3 结构体指针变量 ........................................................................................... 209 
    *9.2.4 结构体指针变量作为函数参数................................................................. 211 
    9.2.5 动态存储分配 ............................................................................................... 212
    *9.2.6 共用体类型................................................................................................. 214 
    9.2.7 枚举类型....................................................................................................... 217 
    9.2.8 类型定义符typedef....................................................................................... 219 
    9.3 任务实施 ................................................................................................................ 221 
    小结 ................................................................................................................................. 223 
    实训 ................................................................................................................................. 225 
    习题 ................................................................................................................................. 226 
    模块10 数据输出保存——文件 ..............................................................................230 
    10.1 任务导入 .............................................................................................................. 230 
    10.2 知识准备 .............................................................................................................. 230 
    10.2.1 C文件概述 .................................................................................................. 231 
    10.2.2 文件指针..................................................................................................... 232 
    10.2.3 文件的打开与关闭..................................................................................... 232 
    10.2.4 文件的读写................................................................................................. 234 
    10.2.5 文件的随机读写......................................................................................... 242 
    10.2.6 文件检测函数............................................................................................. 246 
    10.2.7 程序举例..................................................................................................... 247 
    10.3 任务实施 .............................................................................................................. 249 
    小结 ................................................................................................................................. 251 
    实训 ................................................................................................................................. 252 
    习题 ................................................................................................................................. 253 
    模块11 综合实训——学生资助信息管理系统.........................................................257 
    11.1 项目概述 .............................................................................................................. 257 
    11.1.1 项目要求..................................................................................................... 257 
    11.1.2 需求分析..................................................................................................... 257 
    11.2 总体设计 .............................................................................................................. 258 
    11.3 功能实现设计 ...................................................................................................... 260 
    11.3.1 系统菜单设计............................................................................................. 260
    11.3.2 管理员信息管理模块................................................................................. 263 
    11.3.3 资助生信息管理模块................................................................................. 266 
    11.4 系统可执行文件的生成 ...................................................................................... 271 
    小结.................................................................................................................................. 272 
    实训.................................................................................................................................. 272 
    习题.................................................................................................................................. 273 
    附录A ASCII码表................................................................................................... 274 
    附录B C语言的关键字........................................................................................... 277 
    附录C 运算符优先级和结合性............................................................................... 278 
    参考文献 .................................................................................................................. 280
  •           方少卿,教授,铜陵职业技术学院校企合作办公室(科研处)主任,安徽省高职高专计算机应用专业带头人,省级教学名师,省教育评估专家,中国电子学会高级会员,安徽省电子学会理事,安徽省高校计算机教研会理事、校企合作专委会副主任,铜陵市计算机协会常务理事。
  • 本书适合作为高职高专院校各专业“C 语言程序设计”课程或“信息技术——程序设计”课程的教材,也可供准备参加计算机等级考试和自学 C 语言的读者阅读。