C语言编程:求和与错误修复

版权申诉
0 下载量 104 浏览量 更新于2024-07-17 收藏 833KB PDF 举报
"啊哈C语言 第19讲 求和!求和!!求和!!!.pdf",这是关于C语言编程的一讲,重点讨论了如何求和以及相关的运算符和控制结构。 在C语言中,求和是一个基本操作,通常涉及到循环结构。在提供的代码示例中,虽然它计算的是1至10的乘积而非和,但我们可以从中学习到如何使用循环和变量来处理序列计算。原代码中有一个错误是初始值设置为0,这会导致最终结果始终为0,因为任何数乘以0的结果都是0。正确版本应将`a`的初始值设为1,以便累积乘积: ```c #include<stdio.h> #include<stdlib.h> int main() { int a = 1, i = 1; // 初始化a为1 while(i <= 10) { // 改为<=10,以包含10 a = a * i; i++; } printf("%d", a); system("pause"); return 0; } ``` 接下来,我们讨论1~100之间所有偶数的和。这需要在循环中添加条件判断,仅累加偶数: ```c #include<stdio.h> int main() { int sum = 0, i = 1; while(i <= 100) { if(i % 2 == 0) { // 检查是否为偶数 sum += i; } i++; } printf("The sum of even numbers from 1 to 100 is: %d", sum); return 0; } ``` 对于求阶乘,我们可以创建一个函数来计算一个数的阶乘: ```c #include<stdio.h> int factorial(int n) { if(n == 0 || n == 1) { return 1; } else { return n * factorial(n - 1); } } int main() { int n; printf("Enter a number (1<=n<=9): "); scanf("%d", &n); printf("The factorial of %d is: %d\n", n, factorial(n)); return 0; } ``` 此外,讲解还涵盖了C语言中的运算符,包括算术运算符(如`+`)、关系运算符(如`==`)和逻辑运算符(如`&&`、`||`)。`if-else`结构是控制流程的关键部分,允许根据条件执行不同的代码块。`if-else`的简化形式是在单行语句时可以省略花括号。 最后,提到了一系列C语言入门书籍,例如《啊哈C!思考快你一步》、《啊哈C语言!逻辑的挑战》、《啊哈!算法》等,这些书籍可以帮助初学者更好地理解和掌握C语言编程的基础知识和逻辑思维能力。