C语言经典程序解析:从9*9乘法表到素数检测

需积分: 10 1 下载量 58 浏览量 更新于2024-09-15 收藏 66KB DOC 举报
"C语言必背18个经典程序" 这些C语言程序涵盖了基础的算法实现,包括矩阵打印、斐波那契数列、素数判断和完数查找等。以下是这些程序涉及的主要知识点: 1. **矩阵打印**: - 循环控制:程序使用嵌套循环(for循环)来控制行和列的打印,`for(i=1;i<10;i++)` 和 `for(j=1;j<10;j++)` 分别控制行和列。 - 字符串格式化:`printf("%d*%d=%-3d",i,j,result)` 使用`%-3d`指定数字左对齐并占据3个字符空间。 2. **斐波那契数列**: - 数组和变量:程序使用`long f1, f2`存储斐波那契数列的前两个数。 - 循环结构:通过`for(i=1;i<=20;i++)`控制输出20个斐波那契数。 - 条件判断:`if(i%2==0)printf("\n")`用于在每行的第4个数后面添加换行符,保持输出美观。 3. **素数判断**: - 数学函数:`#include"math.h"`引入数学库,用于计算平方根`sqrt(m+1)`。 - 素数检查:内层循环`for(i=2;i<=k;i++)`检查`m`是否能被`i`整除,若可以则不是素数,否则是素数。 - 控制输出:通过变量`leap`记录当前数是否为素数,`if(leap)printf("%-4d",m);`输出素数,并用`h`统计素数的个数。 4. **完数查找**: - 数组和变量:`static int k[10]`用于存储因子,`int i, j, n, s`作为辅助变量。 - 因子求和:遍历`j`的所有可能因子,通过`for(i=1; i<=j/2; i++)`检查`j`是否等于因子之和`s`。 - 静态数组:使用`static`关键字,使得数组`k`的内存分配只在第一次调用时进行,之后复用。 5. **基本语法**: - 主函数`main()`:C程序的入口点。 - 变量声明:如`int i, j, result;`声明整型变量。 - 注释:使用`/*...*/`和`//`进行多行和单行注释。 - 输入/输出:使用`printf`和`scanf`进行标准输出和输入。 6. **逻辑控制**: - `break`语句:在循环体内用于提前退出循环。 - 条件语句:`if`和`else`用于执行有条件的操作。 7. **循环优化**:在素数判断程序中,内循环只到`sqrt(m+1)`,减少了不必要的计算,提高了效率。 这些程序展示了C语言的基础编程概念和技巧,适合初学者练习和理解。通过深入学习和实践这些代码,可以巩固C语言的基本功,为进一步学习更复杂的算法和数据结构打下坚实基础。