目录
五、流程控制语句
5.4跳转结构
5.4.1break
5.4.2continue
5.4.3goto
5.4.4return
5.5额外拓展
5.5.1死循环的写法
5.5.2循环嵌套
5.5.3随机数函数
五、流程控制语句
5.4跳转结构
break、continue、goto、return
5.4.1break
结束替它最近的循环
例子:输出所有三位数中能被17整除的最大数
#include<stdio.h>
int main()
{int a = 999;for(a;a>=100;a--)if(a%17==0){printf("%d",a);break;} return 0;
}
5.4.2continue
结束本次循环,循环还在继续。在循环体里面,如果执行了continue,他下面的语句不再执行。
#include<stdio.h>
int main()
{//输出1~10所有3的倍数 int i;for(i=1;i<=10;i++){if(i % 3 != 0)continue;printf("%d ",i);}// 3 6 9 return 0;
}
5.4.3goto
无条件跳转。1、设置跳转的位置,标识符(大写):2、写跳转语句,goto 标识符名。
#include<stdio.h>
int main()
{//输出1~10所有3的倍数 int i = 0;L://标识符printf("%d ",i);i++;if(i<5)goto L;//0 1 2 3 4return 0;
}
注意事项:标识符的位置和goto必须在同一个函数内部
5.4.4return
结束函数,return 0;(0代表程序正常结束)另有其他值。
5.5额外拓展
5.5.1死循环的写法
for(;;);
while(1);
5.5.2循环嵌套
输出下面的数据
A
A B
A B C
.....
#include<stdio.h>
int main()
{int i,j,k;char a;scanf("%d",&j);for(i=1;i<=j;i++){for(a='A';a-'A'<i;a++)printf("%c ",a);printf("\n");}return 0;
}
输出下面的数据
A
A B A
A B C B A
.....
#include<stdio.h>
int main()
{int i,j,k;char a;scanf("%d",&j);for(i=1;i<=j;i++){for(a='A';a-'A'<i-1;a++)printf("%c ",a);for(a;a-'A'>=0;a--)printf("%c ",a);printf("\n");}return 0;
}
输出下面的数据
A
A B A
A B C B A
#include<stdio.h>
int main()
{int i,j,k;char a;scanf("%d",&j);for(i=1;i<=j;i++){k=i;while(j-k){k++;printf(" ");}for(a='A';a-'A'<i-1;a++){printf(" %c",a); }for(a;a-'A'>=0;a--)printf(" %c",a);printf("\n");}return 0;
}
5.5.3随机数函数
在C语言中,生成随机数通常涉及到两个函数:rand() 和 srand()。这两个函数都定义在 <stdlib.h> 头文件中。
rand() 函数
#include <stdio.h>
#include <stdlib.h>int main() {int a = rand();printf("%d\n", a);// 输出不确定return 0;
}