高等教育 > 计算机基础教育

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

书号:9787113328177 套系名称:河南省“十四五”普通高等教育规划教材

作者:李骞 谭永杰 周文刚 出版日期:2026-02-01

定价:59.80 页码 / 开本:无 /16

策划编辑:韩从付 责任编辑:陆慧萍 闫钇汛

适用专业:计算机基础教育 适用层次:高等教育

最新印刷时间:2026-02-01

资源下载
内容简介 前言 目录 作者介绍 图书特色
  • 本书是河南省“十四五”普通高等教育规划教材,从培养学生计算思维的角度出发,围绕问题的解决来讲解 C 语言和程序设计。全书共 10 章,在简单介绍程序设计基础知识和 C 语言的基础上,系统介绍了用 C 语言编写简单程序,运算符、表达式、语句,程序结构,函数,指针,数组,结构体,文件操作和位运算等内容。
    本书以计算思维为主线,坚持“重原理、重思维、重实践”的理念,注重程序设计基本原理讲解的同时,巧妙融入竞赛案例,帮助读者强化程序设计实践与算法思维训练,切实提升问题分析与解决的核心能力。
    本书适合作为高等学校计算机类各专业 C 语言程序设计课程和非计算机专业计算机程序设计基础课程的教材,也可作为从事计算机相关工作或参加计算机等级考试的人员的参考书。
  •        C语言是应用广泛、最具影响的程序设计语言之一。它概念简洁,数据类型丰富,运算符多,功能丰富,表达能力强,使用灵活,既有高级语言的优点,又具有低级语言的功能(能对硬件直接进行操作)。因此,它既适合编写应用程序,又适合编写系统程序。C语言生成的目标程序执行效率高,具有良好的可移植性,是一种理想的结构化程序设计语言,多年来深受广大用户的喜爱。 
           C语言是当下较为简单的一门编程入门语言,但很多学生学习它却直呼其难,编者经过多年的教学反思发现,一本通俗易懂、能帮助初学者掌握编程方法、使用到C语言的各种功能的教材要注重讲“道理”,对很多操作要讲清楚为什么做、什么时候做、怎么做。如果仅是列出语法规定再辅以几个例子,则不利于初学者形成计算思维,不好理解为什么要做某个操作、什么时候要做这个操作。比如,不讲清楚变量的实质,学生就难以理解为什么变量须先定义而后才能使用,也就不好理解变量的地址、变量的值、变量的名,进而对数组、结构体,特别是指针认识不清。 
           本书作为程序设计的入门教材,重点放在了程序设计的基本概念和计算思维方法上。
           编者结合多年的教学经验和当前C程序的集成开发环境的发展,对C语言的知识点进行了整理和修改,提出了不同的观点和看法。比如,删除了else if多分支结构,将其归为if嵌套;数组长度既可以是常量,也可以是变量。本书知识体系完整,重难点突出,学习配套完善,充分体现了结构化程序设计和算法设计思想,既满足了初学者的需求,又为后续学习其他编程语言打下坚实的基础。 
           本书被评为河南省“十四五”普通高等教育规划教材,为了更好满足广大高等院校学生对C语言知识学习的需要,编者结合近几年教学改革实践、科研成果,以及指导学生比赛的经验,对教材进行了仔细修订。教材在保持上一版“重原理、重思维、重实践”编写理念的基础上,进一步优化了内容体系、强化了计算思维培养、突出了教学创新与实践导向,主要做了以下几个方面的修订与完善:更加强调“讲道理”,深化计算思维与原理教学;优化知识结构,调整传统认知,体现教学创新;以计算思维为主线,提升问题分析与解决能力;融入“蓝桥杯”、ICPC等竞赛案例,增强实践能力与算法思维训练。 
           全书共10章,编写理念注重贯彻党的二十大精神,深刻把握“实施科教兴国战略,强化现代化建设人才支撑”重要思想的定位和重大意义,组织方式为以计算思维培养为主线,通过翔实的知识点和案例程序分析,力争把程序设计的学习从语法知识的学习提高到解决问题的能力培养上,实现知识传授、能力培养和价值引领的和谐统一。各章内容如下:第1章介绍计算机的工作流程、程序的相关基础知识、C语言的编程思想、结构特点、开发环境等;第2章介绍C语言的字符集和标识符、基本数据类型、常量和变量的基本概念、数据的输入/输出函数等;第3章介绍C语言的算术、关系、逻辑、赋值、条件、逗号等运算符和表达式,不同类型变量之间的类型转换,C语言的语句等;第4章介绍结构化程序设计的顺序、选择、循环三大结构的一般形式和执行流程,if语句嵌套,循环嵌套和常用算法,实现流程转向的break、continue和goto语句;第5章围绕模块化编程思想,介绍函数分类、定义、调用等相关概念,变量的作用域和存储类型,内部函数和外部函数等;第6章介绍指针的概念和相关操作,结合实例对指针与变量、指针与函数之间的关系进行详细分析;第7章介绍一维数组和二维数组的定义及使用、数组作为函数参数的方法、字符数组与字符串、数组的综合应用举例;第8章介绍结构体类型、结构体变量的定义和使用、结构体数组、结构体指针变量、结构体与函数的结合用法、动态分配存储空间、顺序存储和链式存储的概念和操作方法;第9章介绍文件操作的概念和分类、缓冲文件系统、文件类型指针和文件打开、关闭、读写、定位等文件操作方法;第10章介绍位运算符的相关概念和取反、左移、右移、按位“与”、按位“或”、按位“异或”等位运算符的运算功能。 
           本书课时安排:理论38课时+上机34课时,合计72课时。
           全书由李骞、谭永杰、周文刚任主编,叶海琴、刘辛、李靖、郭慧玲、张苏、朱变任副主编。其中,第1章由周文刚、李骞编写,第2章由郭慧玲编写,第3章和第9章由叶海琴编写,第4章由李靖编写,第5章由刘辛编写,第6章由张苏编写,第7章和第8章由朱变编写,第10章由谭永杰编写。全书由周文刚策划,李骞、谭永杰统稿和定稿。 
           本书得到2025年度河南省第二批普通高等教育“十四五”规划教材立项建设项目(教高〔2025〕27号),以及周口师范学院2024年新形态教材立项建设项目(教学〔2024〕15号)的支持,配套资源丰富,电子教案、案例素材等可以到中国铁道出版社有限公司教育资源数字化平台免费下载(https://www.tdpress.com/51eds)。 
           在本书的编写过程中,参阅了大量的网络资源和优秀图书资料,得到了周口师范学院和中国铁道出版社有限公司的大力支持,在此一并致以衷心的感谢和深深的敬意。 
           由于计算机科学技术发展迅速,程序设计的教学内容和方法日新月异,且编者水平有限,书中难免有不足之处,敬请读者批评指正,以便再版时修改完善。 
           编 者 
           2025年10月
  • 第1章 程序设计基础与C语言简介  
    
    1.1 程序设计的基础知识
    
    1.1.1 计算机的硬件结构和工作流程
    
    1.1.2 程序和程序设计基本概念
    
    1.1.3 程序设计语言的发展.
    
    1.2 C语言的发展史及其特点
    
    1.2.1 C语言的发展史
    
    1.2.2 C语言的特点  
    
    1.3 C程序的集成开发环境  
    
    1.3.1 Dev C++环境下开发C程序
    
    1.3.2 Visual C++环境下开发C程序  
    
    1.3.3 UNIX/Linux操作系统中使用GCC编译器开发C程序  
    
    1.4 编写简单的C语言程序
    
    1.4.1 C程序的基本结构  
    
    1.4.2 C程序的书写格式  
    
    小结
    
    习题
    
    第2章 用C语言编写简单程序  
    
    2.1 算法及其描述方法
    
    2.1.1 算法概述
    
    2.1.2 估算算法性能的标准
    
    2.1.3 算法的描述方法  
    
    2.1.4 求解问题的编程思维
    
    2.2 C语言编程使用的字符集
    
    2.2.1 字符集
    
    2.2.2 字符在计算机内部的表示
    
    2.2.3 标识符
    
    2.3 数据类型  
    
    2.4 数据的表示形式——常量与变量
    
    2.4.1 常量
    
    2.4.2 变量
    
    2.4.3 变量使用的注意事项
    
    2.5 人机交互——数据的输入/输出
    
    2.5.1 数据输入/输出的概念
    
    2.5.2 格式输出函数printf()  
    
    2.5.3 格式输入函数scanf()  
    
    2.5.4 输入/输出单个字符的函数.
    
    小结
    
    习题
    
    第3章 C语言的基本构成——运算符、表达式、语句
    
    3.1 C语言的运算符与表达式
    
    3.1.1 算术运算符和算术表达式
    
    3.1.2 关系运算符和关系表达式
    
    3.1.3 逻辑运算符和逻辑表达式
    
    3.1.4 赋值运算符和赋值表达式
    
    3.1.5 条件运算符和条件表达式
    
    3.1.6 逗号运算符和逗号表达式
    
    3.1.7 不同类型数据之间的类型转换.
    
    3.2 C语言的语句
    
    小结
    
    习题
    
    第4章 程序结构1
    
    4.1 顺序结构  
    
    4.2 选择结构  
    
    4.2.1 ifelse语句  
    
    4.2.2 单分支if 语句
    
    4.2.3 if 语句的嵌套
    
    4.2.4 switch语句
    
    4.2.5 if 语句与switch语句的相互替换
    
    4.3 循环结构  
    
    4.3.1 while语句
    
    4.3.2 dowhile语句  
    
    4.3.3 for语句  
    
    4.3.4 流程转向语句  
    
    4.3.5 循环结构的嵌套  
    
    小结
    
    习题
    
    第5章 函数
    
    5.1 模块化编程思想与函数.
    
    5.1.1 定义函数
    
    5.1.2 调用函数
    
    5.1.3 函数的参数
    
    5.1.4 函数的嵌套调用  
    
    5.1.5 函数的递归调用  
    
    5.1.6 C语言提供的标准函数.
    
    5.2 变量的作用域和生存期.
    
    5.2.1 局部变量
    
    5.2.2 全局变量
    
    5.3 变量的存储属性
    
    5.3.1 自动变量
    
    5.3.2 寄存器变量
    
    5.3.3 静态变量
    
    5.3.4 外部变量
    
    5.4 内部函数和外部函数
    
    5.4.1 内部函数
    
    5.4.2 外部函数
    
    5.5 传给main()函数的参数
    
    5.6 函数综合应用举例
    
    小结
    
    习题
    
    第6章 指针(变量)
    
    6.1 变量的地址
    
    6.2 指针(变量)的概念
    
    6.2.1 定义(声明)指针变量
    
    6.2.2 指针的使用
    
    6.2.3 指针的赋值
    
    6.2.4 二级指针变量  
    
    6.3 指针(变量)与函数
    
    6.3.1 指针变量作函数形参.
    
    6.3.2 指针函数——返回值类型是指针的函数  
    
    6.3.3 指向函数的指针——借助指针变量调用函数
    
    小结
    
    习题
    
    第7章 数组
    
    7.1 一维数组
    
    7.1.1 一维数组的定义  
    
    7.1.2 一维数组的引用  
    
    7.1.3 一维数组所分配的存储空间
    
    7.1.4 一维数组的初始化
    
    7.1.5 一维数组与指针的配合使用.
    
    7.1.6 使用一维数组的程序举例
    
    7.2 二维数组  
    
    7.2.1 二维数组的定义  
    
    7.2.2 二维数组的引用  
    
    7.2.3 二维数组所分配的存储空间
    
    7.2.4 二维数组的初始化
    
    7.2.5 二维数组和指针的配合使用
    
    7.3 数组作函数的参数
    
    7.3.1 一维数组作函数的参数
    
    7.3.2 多维数组作函数的参数
    
    7.3.3 数组元素作函数实参
    
    7.3.4 函数的形参数组和函数体中数组的区别  
    
    7.4 字符数组与字符串
    
    7.4.1 使用一维字符数组存储一个字符串
    
    7.4.2 输入/输出字符串的函数.
    
    7.4.3 二维字符数组  
    
    7.4.4 常用的字符串处理库函数
    
    7.5 数组的综合应用
    
    小结
    
    习题
    
    第8章 结构体
    
    8.1 结构体数据类型与结构体变量
    
    8.1.1 结构体数据类型  
    
    8.1.2 结构体变量
    
    8.1.3 结构体数据类型的数组变量.
    
    8.1.4 结构体数据类型的指针变量.
    
    8.1.5 结构体与函数  
    
    8.2 动态分配存储空间
    
    8.3 顺序存储与链式存储
    
    小结
    
    习题
    
    第9章 文件操作
    
    9.1 文件操作相关概念
    
    9.1.1 文件
    
    9.1.2 文件的种类
    
    9.1.3 缓冲文件系统  
    
    9.1.4 文件类型指针  
    
    9.2 C语言的文件操作
    
    9.2.1 文件的打开
    
    9.2.2 文件的关闭
    
    9.2.3 文件的读写操作  
    
    9.2.4 文件定位
    
    9.2.5 文件检测
    
    小结
    
    习题
    
    第10章 位运算
    
    10.1 位运算符  
    
    10.2 位运算符的运算功能
    
    小结
    
    习题
    
    附录A 字符与ASCII对照表
    
    附录B  C语言中的关键字
    
    附录C 运算符和结合性
    
    附录D  C语言常用的库函数
  • 李骞,教授,现任周口师范学院计算机学院副院长。专业研究方向:软件与理论;主授课程:程序设计基础、数据结构、网络操作系统。系学院计算机科学与技术专业带头人,主持《程序设计基础》省级精品在线开放课程和省级一流课程,主持《网络操作系统》省一流本科课程。近年来主持省级教改项目1项,教育部产教融合项目1项,在国内外学术期刊上发表论文SCI、EI等论文10余篇。 谭永杰,副教授,现任教于周口师范学院计算机学院。专业研究方向:图像处理,图像加密;主授课程:C#程序设计基础、面向对象程序设计、计算机应用基础等。主持周口师范学院青年基金项目1项;发表学术论文多篇。 周文刚,教授,现任周口师范学院软件学院院长。专业研究方向:算法设计与分析、数字图像处理;主授课程:算法设计与分析、数据结构等。河南省教学标兵,河南省计算机实验教学示范中心、省精品资源在线开放课程、河南省一流本科专业建设点负责人。近年来主持完成河南省自然科学基金3项,省、部教学研究项目2项,在国内外学术期刊上发表论文SCI、EI论文15篇,授权发明专利1项。获河南省优秀成果二等奖1项,河南省教育系统教学技能竞赛(高校计算机)一等奖。
  • (1)全书内容循序渐进,普遍问题详细分析,重点内容展开讲解,便于学习者对基础知识的理解。
    (2)以丰富的例题和大量的习题强化关键知识点,重点案例配有二维码视频,帮助读者掌握求解问题的算法思想和利用计算机解决实际问题的能力。
    
    (3)融入“蓝桥杯”、ICPC等竞赛案例,帮助读者增强实践能力与算法思维训练。