从头学习C语言之for语句和循环嵌套
时间:2022-02-27 09:21:45|栏目:C代码|点击: 次
for语句:
前言:
循环的基本结构离不开三个基本动作:
- 初始化计数器
- 循环条件
- 更新计数器
int count=0; while(count<10) { printf("fishc!\n); count=count+1;
注意事项:
1.C99允许再for语句的表达式1中定义变量(在for循环里定义的变量出了循环就不能用了),
如:for(int i=0;i<100;i++)
2.在编译时要加上-std=c99,
如:gcc -std=c99 text11_2.c && ./a.out
语句形式:
…//其他语句
for(表达式1;表达式2;表达式3)
循环体
…///其他语句
执行顺序:
- 1.初始化
- 2.循环条件判断
- 3.执行循环内容
- 4.调整条件
- 5.234循环进行,判断为错则停止循环
三个表达式用分号隔开,其中:
- 表达式1是循环初始化表达式
- 表达式2是循环条件表达式
- 表达式3是循环调整表达式
流程图:
灵活运用:
- 表达式1,表达式2和表达式3可以按照需要进行省略(但分号不能省):
- for(;表达式2;表达式3)
- for(表达式1;表达式2;)
- for(表达式1; ; )
- for(; ; )
- …
示例:
例1:打印十次"孙哥真牛逼"
#include <stdio.h> int main() { int count; for(count=0;count<10;count++) { printf("孙哥真牛逼!\n"); } return 0; }
例2:判断一个数是否为素数:
- 素数?在大于1的自然数中,除了1和此数自身外,无法被其他自然数整除的数。
- 关于素数的求法有很多,这里我们用比较朴素暴力的方式:迭代测试2到num/2所有整数是否能被整除(num为待测试的整数),如果没有出现能被整除的整数,呢么它就是素数。
#include<stdio.h> int main() { int i,num; _Bool flag=1; printf("请输入一个整数来判断是否为素数。"); scanf("%d",&num); for(i=2;i<num/2;i++) { if(num%i==0) { flag=0; } } if(flag) { printf("%d是一个素数!\n",num); } else { printf("%d不是一个素数!\n",num); } return 0; }
循环嵌套:
C 语言允许在一个循环内使用另一个循环。
语句形式:
…//其他语句
for(表达式1;表达式2;表达式3)
{
for(表达式1;表达式2;表达式3)
{
循环体
}
}
流程图:
示例:
例1:
#include<stdio.h> int main() { int i,j; for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("i=%d,j=%d\n",i,j); } } return 0; }
例2:打印九九乘法表:
#include<stdio.h> int main() { int i,j; for(j=1;j<10;j++) { for(i=1;i<=j;i++) { printf("%d*%d=%-2d\t",i,j,i*j);//%-2d:将结果以两位数的形式展现。 } putchar('\n');//用putchar('\n')将光标移到下一行。 } return 0; }