第三章 循环结构
循环结构:C语言中就只有三种循环结构:while,do....while, for
1.1 while循环
语句的一般形式:while(表达式){
循环语句;
}
循环外的语句;
1.2 do....while 循环
语句的一般形式:do{
PS: for循环可以省略初始化语句,可以省略判断语句,也可以省略改变语句。
循环语句;
}while(表达式);
循环外的语句;
//do~while循环验证密码登陆
int checkPassWord()
{
int passage,i=0;
do{
printf("请输入密码\n");
scanf("%d",&passage);
if(passage == 888888){
printf("登陆成功");
break;
}else{
i++;
printf("第%d次输入错误\n",i);
}
}while (i<3);
if(i>=3)
printf("密码输入三次错误,登陆失败\n");
return 0;
}
1.3 for循环
语句的一般形式:for(初始化语句;判断表达式语句;改变语句){
循环语句;
}
循环外的语句;
循环嵌套打印星星:
//打印倒星星2
int showStartTwo()
{
for (int i=0; i<5; i++) {
for (int j=0; j<i; j++) {
printf(" ");
}
for (int j=0; j<=8-2*i; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
*********
*******
*****
***
*
//打印倒星星1
int showStartOne()
{
for (int i=0; i<5; i++) {
for (int j=0; j<5-i; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
*****
****
***
**
*
//打印图形
void showCirod()
{
int i,j,k,n;
for (i=0,k=-3; i<7; i++,k++) {
if (k<0) {
n=k*-1;
}else
{
n=k;
}
for (j=0; j<n; j++) {
printf(" ");
}
switch (n) {
case 3:
for (j=0; j<7-2*n; j = j+1) {
printf("*");
}
break;
case 2:
for (j=0; j<7-2*n; j = j+2) {
printf("*");
printf(" ");
}
break;
case 1:
for (j=0; j<7-2*n; j = j+3) {
printf("*");
for (int m=0;m<3; m++) {
printf(" ");
}
}
break;
case 0:
for (j=0; j<7-2*n; j = j+4) {
printf("*");
for (int m=0;m<5 ; m++) {
printf(" ");
}
}
break;
default:
break;
}
printf("\n");
}
}
*
* *
* *
* *
* *
* *
*
//打印九九乘法表
void showSub()
{
for (int i=1; i<10; i++) {
for (int j=1; j<=i; j++) {
printf("%d*%d=%d ",j,i,i*j);
}
printf("\n");
}
}
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
PS: for循环可以省略初始化语句,可以省略判断语句,也可以省略改变语句。