程序有三种结构
1、顺序结构
2、分支结构
3、循环结构 (通常与数组结合使用)
while 循环
while(条件表达式){
语句
}
注意:条件表达式为真,执行循环体,一旦条件表达式为假,循环停止。
//用while打印出1~100之间不是7的倍数并且不包含7的数。
int i=1;
while (i<=100) {
if (i%10!=7 && i/10!=7&&i % 7!=0) {
printf("%d\n",i);
}
i++;
}
4 、随机数
arc4random()------返回一个随机数
如果要随机一个[a,b]范围内的整数,公式:arc4random()%(b-a+1)+a;
//用户从控制台输⼊入⼀一个n,⽤用while打印n个随机数(范围为30~70), 找出n个随机数中的最⼤大值。
int n = 0;
printf("enter a n:");
scanf("%d",&n);
int max=0; //在while外定义max,全局变量,给max符值
while (n >0) {
int random= arc4random()%(70-30+1)+30;
printf("%d\n",random);
if (random>max) {
max=random;
}
n--;
}
printf("最大值:%d\n",max);
5、 break
switch 语句中跳出switch语句
循环体中 跳出本层循环(通常与if连用)
6、continue
在循环体中:结束本次循环(continue后面的代码不再执行),进入下次循环(通常与if连用)
7、 do...while循环
do{
语句
}while(条件表达式);
先执行循环体,再判断循环条件,直到条件不满足的时候,循环结束
8、for循环
for(循环变量初始化;循环条件;循环增量){
语句
}
循环条件为真,执行循环体
//用for打印出1~100之间不是7的倍数并且不包含7的数。
for (int i = 1; i<=100; i++) {
if (i%10!=7 && i/10!=7&&i%7!=0) { //个位数不是7,i%10!=7
printf("%d\n",i);
}
}
9、 循环嵌套
如何打印 如何打印 如何打印 如何打印
1 1 2 3 1
1 2 ----简单分解-------> 1 2 3 1 2 3 1 2
1 2 3 1 2 3 1 2 3
for (int i=1; i<4;i++) {
for (int j=1; j<=i; j++) {
printf("%d ",j);
}
printf("\n");
}
//九九乘法表
for (int i=1; i<=9;i++) {
for (int j=1; j<=i; j++) {
printf("%d×%d=%-3d ",j,i,j*i);
}
printf("\n");
}
//打印三个数字(0 - 9)的组合可能(组合成三位数)。
int m=0 ;
for (int a = 1; a<10; a++) {
for (int b = 0; b<10; b++) {
for (int c = 0; c<10; c++) {
m= a*100+b*10+c;
printf("%d%d%d\n",a,b,c);
}
}
}
注意:
for最常用,通常用于知道循环次数的循环
while 也很常用,通常用于不知道循环次数的循环
do...while不是特别常用,通常用于需要先执行一次的循环
break 跳出本层循环,continue结束本次循环,通常与if连用