C语言中for用法是什么?

1. 什么是for循环

在编写程序时,我们经常需要多次执行同一段代码,这时候就需要循环结构。在C语言中,循环结构有三种:while、do-while和for循环,本篇文章将主要介绍C语言中的for循环。

2. for循环的语法

for循环的语法如下:

for (初始化表达式; 条件表达式; 更新表达式)

{

//需要重复执行的代码

}

其中,初始化表达式只在循环开始前执行一次,条件表达式在每次循环开始前被测试,更新表达式在每次循环之后被执行。

2.1 初始化表达式

初始化表达式可以是一个赋值语句,也可以是多个语句,它们之间以逗号隔开。这些语句用于初始化循环控制变量,在循环开始前执行一次。

for (int i = 1, j = 1; i <= 10; i++, j += 2)

{

printf("i = %d, j = %d\n", i, j);

}

上面的代码中,i和j分别被初始化为1和1,之后i的值每次增加1,j的值每次增加2,直到i的值大于10。

2.2 条件表达式

条件表达式是循环的控制条件,每次循环开始前,都会首先被测试。如果它的值为真,循环将继续执行;如果它的值为假,循环将结束。

for (int i = 0; i < 10; i++)

{

printf("%d\n", i);

}

上面的代码中,条件表达式为i < 10,意味着当i的值小于10时,循环将继续执行。

2.3 更新表达式

更新表达式用于更新循环控制变量的值,在循环体执行完之后被执行。

for (int i = 1; i <= 10; i++)

{

printf("%d\n", i);

i++; // 每次增加2

}

在上面的代码中,i的值每次增加1,但在循环体内还有一个i++操作,所以实际上i的值每次增加2。

3. for循环的实例

下面是一些for循环的实例,用于帮助你理解它的用法:

3.1 从1加到100的和

int sum = 0;

for (int i = 1; i <= 100; i++)

{

sum += i;

}

printf("1+2+...+100=%d\n", sum);

在上面的代码中,我们使用循环控制变量i从1开始循环,每次循环将i加到sum中,循环结束后,输出sum的值即可。

3.2 输出九九乘法表

for (int i = 1; i <= 9; i++)

{

for (int j = 1; j <= i; j++)

{

printf("%d*%d=%d\t", j, i, i * j);

}

printf("\n");

}

在上面的代码中,我们使用两个循环控制变量i和j,i从1循环到9,j从1循环到i,每次输出j * i的值(格式化输出使用了\t制表符,使结果对齐)。

3.3 判断一个数是否为素数

int num;

printf("请输入一个正整数:");

scanf("%d", &num);

bool isPrime = true;

for (int i = 2; i <= sqrt(num); i++)

{

if (num % i == 0)

{

isPrime = false;

break;

}

}

if (isPrime)

{

printf("%d是素数\n", num);

}

else

{

printf("%d不是素数\n", num);

}

在上面的代码中,我们输入一个正整数num,然后从2开始循环到sqrt(num),如果num能够整除i,则说明num不是素数。如果循环中没有找到num的因子,isPrime为真,表示num是素数。

4. for循环中的注意事项

在使用for循环时,需要注意以下几点:

4.1 循环控制变量作用域

在for循环中声明的循环控制变量其作用域仅限于for循环内部,出了循环后就不能使用了。

for (int i = 0; i < 10; i++)

{

//...

}

// 下面这句语句将会编译错误:undeclared identifier 'i'

printf("%d\n", i);

4.2 嵌套循环

在for循环中可以嵌套其他循环,但是需要注意循环变量的名称不能重复。

for (int i = 0; i < 5; i++)

{

for (int j = 0; j < 5; j++)

{

printf("%d*%d=%d\n", i, j, i * j);

}

}

上面的代码中,我们使用两个循环控制变量i和j,i从0到4循环,j从0到4循环,输出i和j的乘积。

4.3 循环控制语句

在循环中,可以使用break和continue语句来控制循环的执行顺序。

break语句用于跳出整个循环,跳出之后将不再执行该循环的任何代码。

continue语句用于跳过当前循环,直接进入下一次循环。

for (int i = 1; i <= 10; i++)

{

if (i == 5)

{

break; // 当i等于5时跳出循环

}

if (i == 3 || i == 7)

{

continue; // 当i等于3或7时跳过本次循环

}

printf("%d\n", i);

}

上面的代码中,当i等于5时,跳出循环,当i等于3或7时,跳过本次循环,直接进入下一次循环。

5. 总结

使用for循环可以简化大量的重复代码,让程序更加简洁和易读。在使用for循环时,需要注意循环变量的作用域、循环嵌套和循环控制语句的使用。

后端开发标签