图书前言

前言Foreword

在当今信息化时代,计算机编程已成为一项不可或缺的基本技能。而在众多编程语言中,C/C++以其高效、灵活和强大的特性,成为计算机科学教育和实际应用的热门选择。然而,C/C++语言的复杂性和学习难度也常使初学者望而却步。为了降低学习难度,提高学习效率,我们引入了GitHub Copilot编程助手,并基于Visual Studio(VS)集成开发环境,编写了本教材。

Copilot通过深度学习和自然语言处理技术,能够实时解释C/C++的语法知识和算法逻辑,为学习者提供即时的编程建议和代码补全。这使得学习者在编写代码的过程中,能够得到及时的反馈和帮助,从而更快地掌握C/C++的编程技巧。同时,Copilot还能够根据学习者的编程习惯和需求,智能推荐代码片段和解决方案,进一步降低学习难度,提升学习体验。

然而,编程学习不仅仅是对语言本身的掌握,更重要的是通过上机实践和项目开发来锻炼实际应用能力。因此,本书在培养计算思维的同时,也注重培养读者的上机实践能力和项目开发能力。通过一系列精心设计的实践任务和项目案例,读者将有机会在实际操作中深化对C/C++语言和项目开发的理解,掌握程序设计的核心技能。

在这个过程中,Copilot同样发挥着不可或缺的作用。它能够帮助读者进行项目的设计、编码、改错和优化等工作,让读者更加专注于项目功能的分析、测试与调试。通过与Copilot的协作,读者不仅能够轻松学会C/C++,更重要的是能提高项目开发的效率和质量。

总之,本书通过引入AI编程助手,为读者提供了一条高效、便捷的学习路径。无论是编程初学者还是有一定基础的学习者,本书都将帮助读者更好地掌握C/C++编程技能,提升实践能力和项目开发能力,为未来的计算机学科学习和职业发展奠定坚实的基础。

◆程序设计实践教程(C/C++版)——基于Visual Studio和GitHub Copilot前言1. 本书特点 

 (1) 利用Copilot降低学习难度: 通过引入AI编程助手,本书为学习者提供了贴身的帮助,降低了C/C++的学习难度,提高了学习效率。

 (2) 培养计算思维和问题解决能力: 本书通过精心设计的实践任务和项目案例,引导读者学会运用计算思维去分析和解决问题,培养读者的算法设计能力和创新能力。

 (3) 手把手的教学: 本书在软件的安装与使用、代码的创建与运行、程序的测试与调试、项目的开发与优化等方面,提供了手把手的教学,实现从零基础入门到熟手的进阶。

 (4) 理论与实践相结合: 本书既详细介绍了C/C++语言的基础知识和核心概念,又通过丰富的实践任务和项目案例,让读者在实际操作中深化理解,提升技能和项目开发能力。

 (5) 配套OJ系统: OJ系统作为实践环节的得力助手,不仅能够满足教师组织班级集体参与的需求,也支持学生个体自主选择参与。题目精心设计,紧密围绕知识图谱展开,难度从易至难,逐级递增,既有适应日常练习的基础题,也有富有挑战性的竞赛级难题,为学习者提供了丰富的挑战与成长机会。

2. 章节结构 

第1章 熟悉Visual Studio编程环境,掌握项目创建、程序编写与运行的基本流程,并学习如何快速解决简单的编程错误。

第2章 通过模仿与改写的方式学习顺序结构程序设计,加深理解并解决编译与运行中出现的错误。在理解键盘缓冲区运行机制的基础上,利用Copilot简化输入输出语句的学习难度。最终,引导读者利用Copilot探究C/C++编程中的注意事项。

第3章 学习分支结构程序设计,并掌握测试与调试的方法,以确保程序逻辑的正确性。

第4章 强调循环结构的计算思维训练,学习循环程序的测试与调试技巧。

第5章 学习如何定义与使用函数,为模块化编程打下坚实的基础。

第6章 掌握一维数组的增删改查操作,并学习一维数组程序的测试与调试方法。

第7章 深入学习二维数组的基本操作,并通过调试和编程实践,加深理解。

第8章 学习字符数组(字符串)的基本知识与输入方法,同时通过调试和编程实践,掌握字符串的使用。

第9章 借助Visual Studio深入理解指针的概念,并学习动态内存分配、内存泄漏以及因使用指针可能导致的程序错误等问题。

第10章 学习结构体与类的编程基础,深入掌握析构函数、拷贝构造函数与运算符重载的作用与用法。

第11章 引入递归的计算思维,并利用Visual Studio的调用堆栈和监视信息,直观理解递归的执行流程。

第12章 学习文件编程的基础知识,并掌握文本文件与二进制文件的读写操作。

第13章 借助具体项目“RSA解密”,学习如何通过与Copilot交互,完成项目的设计与编码,并通过测试、调试与进一步交互,最终得到符合要求的项目代码。

附录A 提供Visual Studio软件的安装指南。

附录B 详细介绍Copilot的安装与使用步骤,并指导学生完成学生认证,实现免费使用。

附录C 介绍国产编程智能助手CodeGeeX的安装与使用技巧。

附录D 介绍教材配套实践平台的注册与使用方法,并详细解释OJ系统中常用的输入输出方式。

由于编者水平有限,书中难免存在一些错误和不足之处,希望有关专家、同行和读者批评指正。编者2024年12月