背景
很多时候,我们初学者刚开始学习计算机语言时,总是喜欢对着编译器一顿狂敲,ctrl+F10成功运行便皆大欢喜。这样写出来的代码虽然能运行,但有的时候未免过于冗杂。
站在小白的角度来看,如今的家用电脑堪比以前超算几十倍,就算写出的代码有多余的计算,也几乎没有任何速度上的影响。但长远来看,从一个程序,一个项目的发展,离不开代码的层层叠加,层层嵌套,那样的代码行数将会是成千上万的。
这时候,代码的简化就显得尤为必要了。接下来,我将以一段极其简单的C语言代码为例,向大家展示如何简化我们的代码,提升运行效率。
实践——打印3的倍数
#define _CRT_SECURE_NO_WARNINGS // 禁用安全警告
#include<stdio.h>
int main()
{
int i = 0;
for (i = 1; i <= 100;i++)
{
if (i % 3 == 0)
{
printf("%d ", i);
}
}
return 0;
}
这是一段C语言代码,在VS编译器里按下ctrl+F10,它能为我们打印3的倍数的数字(100以内)
能够看到,我们首先定义一个整数变量i,并将其初始化为0。然后使用for循环来遍历从1到100的数字。在每次循环迭代中,首先使用取模运算符(%)来检查当前数字i是否可以被3整除。当i可以被3整除时,即i % 3的结果为0,条件if (i % 3 == 0)为真,printf函数打印对应i,循环会一直执行,直到i的值增加到大于100,此时循环条件 i <= 100 不再满足,循环结束。

这样固然可以得到我们想要的结果,但其实代码还可以进一步优化。
如何进行优化
我们敲下这段代码的初衷是为了打印3的倍数,也就是说,第一个打印的数字一定为3(i = 0),那么我就直接将i的初始值设置为3,并且每次迭代递增的步长也设置为3。这样也能只打印出可以被3整除的数字。
优化后的代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int i = 0;
for (i = 3; i <= 100; i += 3) // 从3开始,每次递增3
{
printf("%d ", i);
}
return 0;
}
我们可以看到,这段代码相比上一段代码有以下几个变化:
-
将循环变量i的初始值设置为3,即从3开始迭代,而不是从1开始。这样可以直接跳过不能被3整除的数字。
-
将循环变量i的递增步长设置为3,即每次迭代i增加3。这样可以确保迭代的数字始终是能被3整除 通过这样的修改,代码更加简洁,只打印出符合条件的数字,即可以被3整除的数字,而不再需要使用取模运算符进行条件判断。这样可以提高代码的执行效率。

总结
优化的代码可以减少程序对计算机资源的需求。这样可以降低程序的资源占用,提高系统的整体效率,使得计算机能够处理更多的任务,或者在有限的资源下运行更多的实例。
良好的代码优化习惯也是一种编程素养,对于职业发展和竞争都非常有帮助。优化代码的能力可以让我们在面试中脱颖而出,同时也能够在实际工作中更加高效地完成任务。
优化代码对程序员来说百利而无一害,希望大家都能勤于思考,发散思维,优化自己敲下的代码!