C/C++学习笔记:从基础到C++11知识点

需积分: 12 0 下载量 53 浏览量 更新于2024-07-14 收藏 1.1MB DOCX 举报
"这份文档包含了C语言和C++(特别是C++11标准)的学习笔记,涵盖了一些重要的知识点。在C语言部分,提到了检查一个数是否为完全平方数的方法,即通过比较其平方根的整数部分是否等于浮点数部分。在C++部分,展示了如何编写和使用函数,例如输入、交换数组元素以及数值比较的实现。" 这篇笔记首先讨论了C语言中的一个常见问题——判断完全平方数。通过代码`sqrt(a)==(int)sqrt(a)`,我们可以得知如果一个数`a`是完全平方数,那么它的平方根取整后应该等于其平方根本身。这段代码用于OJ(在线判题)题库中的编程题目,可以有效检查一个数的平方根特性。 接下来,笔记展示了两个C++程序示例。第一个程序是一个简单的累加器,计算从1到`n`所有整数的和及其累积和,它使用一个单一的`for`循环提高了效率,避免了嵌套循环。第二个程序则包含了三个函数:`Input`用于读取整数数组,`SwapM`用于交换数组的第一个元素和最后一个元素,以及`printArray`用于打印数组内容。这些函数展示了如何在C++中组织代码并进行数据操作。 在C++部分的最后,笔记提出了一个有趣的挑战:不使用`if`语句和比较运算符来比较两个整数`a`和`b`的大小。给出的函数`CompareF`使用位操作来达到这一目的。通过`(a-b)>>31&1`,我们可以获取到`a`和`b`之间的关系。如果`a > b`,结果为1;如果`a < b`,结果为0;如果`a == b`,结果为0。这个方法利用了二进制表示中的符号位来完成比较,是一种巧妙的位操作技巧。 这份笔记涵盖了C语言的基本概念,如条件判断和循环,以及C++中的函数使用和数组操作,还涉及了位操作在数值比较中的应用。对于初学者来说,这些内容提供了良好的基础训练;对于有经验的开发者,它们也提供了一种回顾基础知识和学习新技巧的机会。
2023-02-27 上传
2023-03-11 上传
2024-04-12 上传