高等教育 > 计算机基础教育
C语言程序设计(双语版)
书号:9787113313418 套系名称:“十四五”普通高等院校计算机类专业系列教材
作者:赵小蕾 许喜斌 耿江涛 出版日期:2024-10-01
定价:59.80 页码 / 开本:无 /16
策划编辑:唐旭 责任编辑:刘丽丽 徐盼欣
适用专业:计算机基础教育 适用层次:高等教育
最新印刷时间:2024-10-01
资源下载
教学课件(暂无)
教学素材(暂无)
习题答案(暂无)
教学案例(暂无)
教学设计(暂无)
教学视频(暂无)
内容简介
前言
目录
作者介绍
图书特色
本书是“十四五”普通高等院校计算机类专业系列教材之一,从基础语法到高级应用深入剖析了C语言程序设计的核心知识与实用技巧,详细解读了C语言的基本概念、数据类型、运算符、控制结构、数组、指针、函数、结构体和文件操作等关键内容,并通过实际案例让读者深入理解C语言的编程精髓。 本书系统性强,逻辑严谨,实例丰富,采用循序渐进的方式让读者逐步掌握相关知识,强化编程能力。书中对重点、难点进行了详细解析,并配有丰富的电子教学资源,提供一站式C语言学习体验,引领读者轻松开启编程之旅。中英文对照的编写方式有助于学生提升英语能力,熟悉专业词汇。 本书适合作为普通高等院校软件工程、计算机科学与技术、数字媒体技术、电子信息科学与技术、电气工程及其自动化、智能制造工程、人工智能、大数据等专业平台课程“C语言程序设计”教材,也可作为编程爱好者的参考书。
随着信息技术的飞速发展,计算机科学与技术已经成为推动社会进步的重要力量。作为这一领域的基石,C语言以其简洁、高效的特点,成为众多编程初学者的首选,高校软件工程、计算机科学与技术、数字媒体技术、电子信息科学与技术、电气工程及其自动化、智能制造工程、人工智能、大数据等专业都开设了C语言程序设计教程。本书旨在满足高校C语言程序设计课程教学要求,为广大编程爱好者提供一套系统、全面且贴近实践的C语言教材及指南,帮助读者掌握C语言的核心知识和编程技巧,培养扎实的编程技能和算法思维,为读者后期学术研究和职业发展提供重要的技能支持。 本书在编写过程中,紧密结合现代教学理论和教学实践,始终坚持“以学生为中心,以实践为导向”的写作思想,理论讲解深入浅出,实践案例讲解详细,具有启发性,可以帮助读者理论联系实践、实践强化理论,形成良性闭环。为满足高校中、英双语教学需求,本书采用中、英双语对照编写方式。 本书具有以下特色: 1. 系统性与实用性结合 本书内容设计系统全面,覆盖C语言的各个重要知识点,可以帮助读者逐步掌握复杂的编程概念和技巧。 2. 注重实践与应用 本书分析了读者在学习过程中的难点和重点,提供了丰富的实践案例,通过详细讲解和案例演示,帮助读者将所学知识应用到实际中,提升编程能力和解决问题的能力。 3. 双语交相呼应 本书关键术语和核心内容以中英文对照的方式呈现,以提升读者的英语应用能力和跨文化交流能力,满足中、英双语教学需求。 4. 灵活多样的学习方式 本书适合作为普通高等院校教材使用,也可作为自学参考书。书中内容结合现代教育技术,提供丰富的电子教学资源和在线学习平台,以方便读者随时随地进行学习和复习;同时也适用多种教学方法,包括讲解、演示、练习、讨论等。 本书共分为九章,内容层层递进。第1章主要论述C语言的基本概念,并带领读者初识C程序,帮助读者建立对C语言的初步认识。第2~4章详细论述C语言的基础语法和程序结构,包括顺序结构、选择结构和循环结构等。这些章节将通过丰富的案例,帮助读者熟练掌握C语言的基础语法和编程技巧。从第5章开始逐步深入C语言的高级特性,论述数组的概念和处理批量数据应用场景。第6章论述指针的概念和用法,促进对内存管理的深入理解。第7章论述函数的定义和调用方法,以及递归编程等高级技巧。第8章论述结构体的概念和用法,帮助读者构建更复杂的数据结。第9章论述文件操作等实用技能。 为帮助读者更好地学习和掌握本书内容,每一章都设计了详细的课时安排和教学建议。我们建议读者按照章节顺序逐步学习,也鼓励读者根据自己的实际情况和兴趣进行选择性学习或深入研究某一特定领域。在教学过程中,建议教师采用“讲练结合”的方式进行教学。在讲解每个知识点后,可以安排相应的实践环节让学生巩固所学知识并提升编程技能。教师也可以根据学生的学习情况和需求进行灵活调整,优化教学内容,进度安排,详见下表: 周次 章 节 课时 教 学 活 动 1 第 1 章 4 课程导入,C 语言引入,环境安装与运行,算法概念讲解 2~3 第 2 章 8 顺序程序设计基础,数据类型讲解,综合案例演练 4~5 第 3 章 8 选择结构语法与应用,if 和 switch 语句练习,综合案例演练 6~7 第 4 章 8 循环结构语法与应用,while、do...while 和 for 语句练习,综合案例演练 8 第 5 章 4 一维数组、二维数组讲解,字符数组与字符串应用 9 第 6 章 4 指针基础,指针与数组、字符串的关系及应用 10~11 第 7 章 8 函数定义与调用,局部变量与全局变量,递归程序设计 12~13 第 8 章 8 结构体定义与使用,动态内存分配及链表实现 14 第 9 章 4 文件操作基础,文件读写应用 15 综合复习与考试 4 复习,期末考试 课时安排中,每一章内容均配有详细的教学活动安排,具体包括理论讲解、示例演示、编程练习、案例分析等,旨在通过多种教学方式,帮助学生深入理解和掌握C语言编程的各个知识点。 如前所述,本书提供了丰富的学习资源,供教师备课和学生自学使用。读者可扫描书中二维码观看教学视频,在中国铁道出版社教育资源数字化平台(https://www.tdpress.com/51eds)下载配套的教学课件、习题及答案、案例源代码、教学大纲等资源。本书配套的在线慕课课程“计算机程序设计(C语言)”已在智慧树平台上线。 本书的编写工作由一支经验丰富、专业素养高的团队共同完成。团队成员各司其职、通力合作,确保了全书的质量。本书由赵小蕾、许喜斌、耿江涛任主编,由何秀、丁丰任副主编。 在本书的编写过程中,我们还得到了众多同行、审稿专家、技术顾问以及学生的宝贵意见和支持,在此深表感谢。 由于编者的学识和能力有限,书中难免还存在一些不足或疏漏之处,真诚地希望广大读者能够给予指正,您的宝贵意见将成为我们不断改进和完善的动力源泉。同时,我们也期待与您共同探讨、共同进步。愿本书能够成为您学习C语言编程路上的良师益友。 编 者 2024年10月
Chapter 1 第 1 章 First Introduction to C Programming and Algorithms 1 初识 C 程序设计与算法 1.1 Introduction to C (C 语言的引入) 2 1.1.1 What Is a Computer Language(什么是计算机语言) 2 1.1.2 Why to Learn C Language (为什么学习 C 语言) 4 1.1.3 How to Learn C Language Well (怎样学好 C 语言) 6 1.2 First Look at C Programming (初识 C 程序设计) 7 1.2.1 C Standards (C 标准) 7 1.2.2 Structure and Execution of C Program (C 程序结构及运行) 9 1.2.3 Programming Tasks (程序设计的任务) 11 1.3 C Environment Installation and Running (C 环境安装与运行) 12 1.3.1 Installation and Startup of RedPanda C++ (小熊猫 C++ 的安装与启动) 12 1.3.2 RedPanda C++ Tutorial (小熊猫 C++ 的使用) 14 1.4 Defi nition, Characteristics, and Representation of Algorithms(算法定义、特性及表示) 16 1.4.1 What Is an Algorithm(什么是算法) 16 1.4.2 Features of Algorithms (算法的特性) 17 1.4.3 Representation Methods of Algorithms(算法的表示)17 Summary (小结).22 Exercise (习题) 23 Chapter 2 第2章 Sequential Programming 顺序程序设计 2.1 Sequential Programming Examples and Program Components (顺序程序设计举例及程序组成成分) 25 2.1.1 Sequential Programming Example (顺序程序设计举例) 26 2.1.2 Program Components(程序组成成分)27 2.2 Basic Data Types (基本数据类型) 27 2.2.1 Why Data Types Are Necessary(为什么需要数据类型) 28 2.2.2 Basic Data Types(基本数据类型 ) 28 2.3 Constants and Variables(常量与变量) 30 2.3.1 Constants (常量)31 2.3.2 Variables (变量) 32 2.3.3 Symbolic Constants (符号常量) 33 2.4 C Operators and Expressions(C 运算符及表达式) 35 2.4.1 Operator Overview (运算符概述) 35 2.4.2 Common Operators and Expressions (常用运算符及表达式) 35 2.4.3 Type Conversions and Casts (类型转换) 38 2.5 C Statements(C 语句) 39 2.5.1 What Are C Statements(什么是 C 语句) 40 2.5.2 Output Statements (输出语句) 41 2.5.3 Input Statements (输入语句) 43 2.5.4 Single-character Input and Output (单个字符的输入和输出) 45 2.6 Comprehensive Cases(综合案例) 47 Summary (小结) 49 Exercise (习题) 50 Chapter 3 第3章 Selective Structure Programming 选择结构程序设计 3.1 Relational, Logical Operators and Expressions (关系、逻辑运算符及其表达式) 52 3.1.1 Why Do We Need Selection Structures(为什么需要选择结构) 53 3.1.2 Relational Operators and Expressions(关系运算符及其表达式) 53 3.1.3 Logical Operators and Expressions (逻辑运算符及其表达式) 54 3.2 Selection Structures Using if and switch Statements (if 和 switch 语句实现选择结构) 57 3.2.1 Selection Structures Using if Statements(if 语句实现选择结构) 57 3.2.2 Using the switch Statement for Multi-branch Selection Structures (switch 语句实现多分支选择结构) 64 3.3 Comprehensive Cases(综合案例) 66 Summary (小结) 71 Exercise (习题) 72 Chapter 4 第4章 Loop Structure Programming 循环结构程序设计 4.1 Why Do We Need a Loop Structure(为什么需要循环结构) 75 4.2 The While and do.while Statements(while 和 do.while 语句) 77 4.2.1 The While Statements(while 语句) 77 4.2.2 The do.while Statement(do.while 语句) 79 4.2.3 Comparison of while and do.while(while 和 do.while 的比较) 81 4.3 The for Statements (for 语句) 83 4.3.1 Review and Introduction (回顾与引入) 83 4.3.2 The for Statements to Implement Loops (for 语句实现循环) 84 4.3.3 Special Forms of the for Statement (for 语句的特殊形式) 87 4.3.4 Comparison of Three Loop Statements (三种循环语句的比较) 89 4.4 Loop Control Statements(循环控制语句) 90 4.4.1 The break Statement(break 语句) 90 4.4.2 The continue Statement(continue 语句) 93 4.4.3 Difference Between break and continue(break 和 continue 的区别) 94 4.5 Nesting of Loops(循环的嵌套) 95 4.5.1 What Is Nesting of Loops (什么是循环的嵌套) 95 4.5.2 Examples of Loop Nesting (循环嵌套的举例) 97 4.6 Comprehensive Cases(综合案例) 102 Summary (小结) 107 Exercise (习题) 107 Chapter 5 第5章 Batch Processing of Data Using Arrays 利用数组批量处理数据 5.1 Definition and Use of One-dimensional Array ( 一维数组的定义和使用 ) 110 5.1.1 Source of Array (数组的来源) 110 5.1.2 Definition of One-dimensional Array (一维数组的定义) 112 5.1.3 Storage of One-dimensional Array (一维数组的存储) 112 5.1.4 Reference of One-dimensional Array (一维数组的引用) 113 5.1.5 Initialization of One-dimensional Array (一维数组的初始化) 114 5.2 Two-dimensional Array(二维数组) .116 5.2.1 Definition and Storage Mode of Two-dimensional Array (二维数组定义及存储方式) 116 5.2.2 Reference of Two-dimensional Array (二维数组的引用) 117 5.2.3 Initialization of Two-dimensional Array (二维数组的初始化) 118 5.2.4 Application Example of Two-dimensional Array (二维数组应用举例) 119 5.3 Character Arrays and Strings(字符数组及字符串) 121 5.3.1 Character Array (字符数组) 121 5.3.2 String (字符串) 122 5.3.3 String Handling Functions (字符串处理函数) 125 5.4 Comprehensive Cases(综合案例) 128 Summary (小结) 136 Exercise (习题) 136 Chapter 6 第6章 Pointer 指针 6.1 Pointers and Pointer Variables (指针和指针变量) 139 6.1.1 What Is a Pointer (什么是指针) 140 6.1.2 Definition and Use of Pointer Variables (指针变量的定义与使用) 142 6.1.3 Precautions for Using Pointer Variable (指针变量使用注意事项) 145 6.2 Pointer Reference Array (指针引用数组) 148 6.2.1 Pointer Variable Points to Array (指针变量指向数组) 148 6.2.2 Pointer Addition and Subtraction (指针加减运算) 149 6.2.3 Pointers Referencing Array Elements (指针引用数组元素) 150 6.3 Pointer Reference String(指针引用字符串) 153 6.3.1 Storage and Reference of Character Strings (字符串的存储与引用) 153 6.3.2 Character Array Reference String (字符数组引用字符串) 154 6.3.3 Pointer Variable Reference String (指针变量引用字符串) 155 6.3.4 Comparison of Character Array and Character Pointer Variable Reference String Method (字符数组与字符指针变量引用字符串方法的比较) 157 6.4 Comprehensive Cases(综合案例) 158 Summary (小结) 163 Exercise (习题) 164 Chapter 7 第7章 Function 函数 7.1 Definition of Function (函数的定义) 168 7.1.1 Why Use Functions (为什么要用函数) 168 7.1.2 How to Define a Function (怎样定义函数) 170 7.2 Function Declaration and Call (函数的声明和调用) 174 7.2.1 What is Function Declaration and Call (什么是函数的声明和调用) 174 7.2.2 How Does the Function Work (函数如何工作) 177 7.3 Local and Global Variables (局部变量与全局变量) 178 7.3.1 Scope and Lifetime (作用域和生存期) 178 7.3.2 Local Variables (局部变量) 178 7.3.3 Global Variables (全局变量) 180 7.4 Storage of Variables (变量的存储方式) 182 7.4.1 What Is the Storage of Variables (什么是变量的存储方式) 182 7.4.2 Storage Categories of Local Variables (局部变量的存储类别) 183 7.4.3 Storage Categories of Global Variables (全局变量的存储类别) 186 7.5 Arrays as Function Parameters (数组作为函数参数) 188 7.5.1 Array Elements as Function Parameters (数组元素作为函数实参) 188 7.5.2 Arrays as Function Parameters (数组作为函数参数) 190 7.6 Pointers as Function Parameters (指针作为函数参数) 193 7.7 Application of Pointer in Function (指针在函数中的应用) 198 7.7.1 Pointer to Function (指向函数的指针) 199 7.7.2 Functions That Return Pointer Values (返回指针值的函数) 205 7.8 Recursive Programming (递归程序设计) 208 7.8.1 What is Recursion (什么是递归) 208 7.8.2 How Does Recursion Work (递归如何工作) 209 7.8.3 How Is Recursion Designed (递归如何设计) 211 7.9 Comprehensive Cases(综合案例) 213 Summary (小结) 218 Exercise (习题) 218 Chapter 8 第8章 Structures 结构体 8.1 Structure Type and Variable Definition(结构体的类型及变量定义) 224 8.1.1 Why Do We Need a Structure (为什么需要结构体) 224 8.1.2 What Is a Structure (什么是结构体) 225 8.1.3 Structure Variable (结构体变量) 227 8.1.4 Storage Space Allocation of Structure Variable (结构体变量的存储空间分配) 228 8.1.5 Use of Structure Variables (结构体变量的使用) 229 8.2 Structure Array and Structure Pointer (结构体数组及结构体指针) 232 8.2.1 Structure Array (结构体数组) 232 8.2.2 Structure Pointer (结构体指针) 234 8.3 Dynamic Memory Allocation and Linked List Definition (动态内存分配及链表定义) 235 8.3.1 Dynamic Memory Allocation (动态内存分配) 235 8.3.2 Linked List Definition (链表的定义) 238 8.4 Creation and Output of Linked List(链表的创建和输出) 239 8.4.1 Creation of Linked List (链表的创建) 240 8.4.2 Output of Linked List (链表的输出) 243 8.5 Insertion, Search and Deletion of Dynamic Linked List (动态链表的插入、查找和删除) 246 8.5.1 Insertion of Linked List (链表的插入) 246 8.5.2 Search of Linked List (链表的查找) 250 8.5.3 Deletion of Linked List (链表的删除) 252 8.6 Comprehensive Cases(综合案例) 254 Summary (小结) 260 Exercise (习题) 260 Chapter 9 第9章 File 文件 9.1 File Open and Close (文件的打开与关闭) 265 9.1.1 What Is a File (什么是文件) 265 9.1.2 Classification of Files (文件的分类) 265 9.1.3 File Name (文件名) 267 9.1.4 File Buffer (文件缓冲区) 267 9.1.5 File Open and Close Operations (文件的打开与关闭操作) 269 9.2 File Read and Write Operations (文件的读写操作) 271 9.2.1 File Read and Write Functions (文件读写函数) 272 9.2.2 Application Examples (应用举例) 273 9.3 Comprehensive Cases(综合案例) 278 Summary (小结) 286 Exercise (习题) 287
赵小蕾,副教授,任职于广州新华学院,研究方向为计算机应用、软件工程,从事计算机程序设计(CC)教学工作十余年,建设了广东省线上线下混合式一流本科课程“计算机程序设计I”(计算机程序设计C语言)、广东省在线开放课程“计算机程序设计(C语言)”(该课程连续多年被推荐为粤港澳大湾区高校在线开放课程优质课程),有丰富的教学经验和教学资源积累,获得东莞市优秀教师、广州新华学院首届教书育人模范称号、学校中青年教师授课大赛一等奖、国家级微课竞赛三等奖,主持多项省市级项目。许喜斌,高级实验师,任职于广东工程职业技术学院,主讲课程有CC程序设计(双语教学)、算法分析与设计,研究方向为高教研究、实验设计、计算机应用。 耿江涛,教授、高级工程师,任职于广州新华学院,主讲课程有CC程序设计(双语教学)、算法分析与设计,研究方向为高教研究、大数据应用。
①省级线上线下混合式一流本科课程配套教材,配有慕课课程、教学大纲、教案、课件PPT、源代码、习题答案、案例等丰富的教学资源。 ②根据学生的学习规律和认知特点,梳理核心知识点逻辑体系,使其全面涵盖C语言的核心知识,从基础语法、数据类型到控制结构、函数与模块设计,为学生打下扎实的编程基础。 ③精心挑选大量实际案例,使内容更贴近学生的日常生活和工程实践,从实际问题出发,引导学生逐步思考、分析并编写出完整的程序,使理论与实践紧密结合。 ④引入双语特色,将关键术语和核心内容以中英文对照的方式呈现,旨在提升学生的英语应用能力和跨文化交流的能力,为培养具备国际视野和卓越工程能力的未来工程师奠定坚实基础。