前言
本章主要介绍循环结构,程序中被重复执行的步骤称为循环,可以使复杂的问题简单化。
一、for语句
1.for语句的一般形式
for(初始表达式;条件表达式【可以是关系表达式、数值表达式,只要表达式不为0,就执行】;循环变量表达式)
{
循环语句;
}
2.for语句的特性
(1)初始表达式可以省略,但要保留分号(;),同时在for之前必须给循环控制变量赋值。
(2)条件表达式一般不可省略,否则为无限循环。
(3)循环表达式也可以省略,但循环语句体必须有语句修改循环变量。
(4)可以写为for(;;),为无限循环,应避免出现。
(5)初始表达式、循环表达式可以是逗号表达式。
(6)for循环也可嵌套,由内到外。
(7)for语句可能一次也不会执行:eg.for(int i=1;i<0;i++);
3.for循环打印几何图形
例:
#include <stdio.h>
int main(){
int i,j;
for(i=1;i<8;i++){
for(j=0;j<i;j++){
printf(" ");
}
for(j=0;j<15-2*i;j++){
printf("*");
}
printf("\n");
}
}
运行结果:
*************
***********
*********
*******
*****
***
*
--------------------------------
Process exited after 0.3632 seconds with return value 0
请按任意键继续. . .
for循环嵌套,由内而外,条件表达式与行数相联系,找规律。
4.100以内的二元算数运算练习
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int i,a,b,c,result,input,error=0,right=0;
char ops;
srand(time(NULL));
printf("请计算:\n");
for(i=1; i<11; i++) {
printf("第%d题:",i);
a=rand()%100;
b=rand()%100;
c=rand()%3;
switch(c) {
case 0:
ops='+';
result=a+b;
break;
case 1:
ops='-';
if(a>=b) {
result=a-b;
} else result=b-a;
break;
case 2:
ops='*';
result=a*b;
break;
}
printf("%d %c %d =",a,ops,b);
scanf("%d",&input);
if(input==result) {
right++;
} else error++;
printf("\n");
}
printf("答对%d题,答错%d题\n",right,error);
}
二、while语句
1.while语句的一般形式
while(条件表达式)
{
循环语句;
循环变量表达式;
}
先条件,再循环,可能一次也没有执行。
三、do……while语句
1.do……while语句的一般形式
do
{
循环语句;
}while(条件表达式);
先循环,再条件,至少会执行一次。
四、用于循环中的break语句和continue语句
1.break语句:直接结束循环
2.continue语句:结束当前循环,提前进入下个循环
五、循环结构的嵌套
嵌套层次不能交叉,嵌套的内外层循环不能使用同名变量。
六、goto语句
1.一般形式: goto 语句标号;
2.if与goto结合相当于while循环。
总结
以上就是今天要讲的内容,本文简单介绍了循环结构。