如何实现让某些语句按照一定的条件重复执行呢?
比如:打印从0 - N的值?
例子: goto语句
#include <stdio.h> #include <windows.h> void MyPrint(int x) { int i = 0; B: printf("%d/n",i); i++; if(i<=x) goto B; return; } void main() { MyPrint(1); return; }
通过while语句实现:
#include <stdio.h> #include <windows.h> void MyPrint(int x) { int i = 0; while(i<=x) { printf("%d/n",i); i++; } return; } void main() { MyPrint(100); return; }
循环语句的种类
- while 语句
- do while 语句
- for 语句
while 语句
while(表达式) 语句; 或者 while(表达式) { 语句; 语句; }
例子:
死循环
while(1) { printf("%d /n",i) i++; }
语句的嵌套
while(表达式) { 其他语句; }
例子:
打印1-N之间所有的偶数
while(i<=x) { if(i%2==0) { printf("%d /n",i) } i++; }
循环嵌套循环语句
int j =0; while(i<=x) { while(j<=0) { printf("%d /n",j) j++; } i++; }
break语句
- 用于switch语句中
- 用于循环语句中,且只跳出一层
例子:
打印1-N之间所有的数字,当N=10时跳出循环
while(i<=x) { if(x==10) { break; } printf("%d /n",i) i++; }
嵌套循环语句
int j =0; while(i<=x) { while(j<=i) { if(j==i-1) { break; } printf("%d /n",j) j++; } i++; }
continue语句
中断当前循环,直接进行下一次
例子:
只打印奇数:
while(i<=x) { if(i%2==10) { i++; continue; } printf("---:%d/n",i); i++; }
do..while 语句
do{ //要执行的代码 }while(表达式);
特点:
表达式即使不成立,也会执行一次
do..wihle语句分析
while语句的分析
for语句
for(表达式1;表达式2;表达式3) { //需要执行的代码4 }
执行顺序:
1 2 4 3
2 4 3
2 4 3
2 4 3
...
void T1() { print("T1 /n"); } int T2() { print("T2 /n"); return -1; } void T3() { print("T3 /n"); } void T4() { print("T4 /n"); } void testfor() { for(T1();T2();T3()) { T4(); } }
for语句反汇编
表达式可以省略
for(;;) { print("默认成立/n"); } for(;-1;) { printf("不是0就成立/n"); } for(;0;) { printf("不成立/n"); }
第1、3表达式可以使用逗号
int i; int j; int z; for(i=0,j=0,z=0;i<10;i++,j++,z++){ printf("%d %d %d /n",i,j,z); }
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论