C語言迴圈結構篇
阿新 • • 發佈:2019-02-18
Three Day
一、while、do_while
語法形式:while (表示式) {
迴圈體 }
二、for語句
for語句是C語言中最靈活功能最強的迴圈語句
語法形式:for(表示式1;表示式2;表示式3){
迴圈體 }
例:計算1+2+3+4的和
#include <stdio.h> int main(void) { int s = 0; int i; for(i = 1; i < 5; i++) { s += i; } printf("%d", s); }
輸出結果:10
三、break語句
break語句用於終止迴圈的執行(break所在最近迴圈體)
1、跳出迴圈
#include<stdio.h>
int main(void) {
int num;
for(num = 0; num < 5; num++) {
if (num == 3) {
break; //當num=3時,跳出迴圈for
}
printf("%d\n", num);
}
}
輸出結果:0 1 2
<pre><span style="font-family:microsoft yahei;"><span style="white-space: pre-wrap;">2、跳出最近的迴圈</span></span>
}#include<stdio.h> int main(void) { <span style="white-space:pre"> </span>int num = 0; while(num < 1) { printf("while\n"); for(; num < 1; num++) { break;//跳出離它最近的迴圈,並且該break語句包含在該迴圈內 printf("for\n"); } <pre name="code" class="csharp"><span style="font-family: 'microsoft yahei'; white-space: pre-wrap;"><span style="white-space:pre"> </span>//break後的地方</span>
}//輸出結果:無限輸出while
四、contiue語句
continue結束本次迴圈
#include <stdio.h>
int main(void) {
int i;
for(i = 0; i < 6; i++) {
<span style="white-space:pre"> </span>if(i == 3) {
<span style="white-space:pre"> </span>continue; //跳出本次迴圈
}
printf("%d", i);
}
}
輸出結果:0 1 2 4 5五、語句練習
1、九九乘法表(while)
#include<stdio.h>
int main(void) {
int j = 0, i = 0;
while(j < 9) {
j++;
i = 1;
while(i <= j) {
printf("%d*%d=%d\t", i, j, i * j);
i++;
}
printf("\n");
}
}
輸出結果:2、有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?#include<stdio.h>
int main(void) {
int a, b, c, d = 0;
for (a = 1; a < 5; a++) {
for (b = 1; b < 5; b++) {
if (a == b) {
continue;
}
for (c = 1; c < 5; c++) {
if (a == b || b == c) {
continue;
}
printf("%d%d%d\n", a, b, c);
d++;
}
}
}
printf("總數為:%d", d);
}
輸出結果:363、列印矩形
#include<stdio.h>
int main(void) {
int i, j;
for (j = 0; j < 2; j++) {
for (i = 0; i < 4; i++) {
printf("*");
}
printf("\n");
}
}
輸出結果:*****
*****
4、列印平行四邊形
#include <stdio.h>
int main(void) {
int i, j;
for(j = 0; j < 3; j++) {
for(i = 0; i < 6 - j; i++) {
if(i < (2 - j)) {
printf(" ");
}
else {
printf("*");
}
}
printf("\n");
}
}
輸出結果: *****
*****
*****
5、左直角三角形
#include<stdio.h>
int main() {
int x, y;
for (y = 0; y <= 4; y++) {
for (x = 0; x <= 4; x++) {
if (x >= 0 && y <=4 && y >= x) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
}
輸入結果:*
**
***
****
*****
6、實心菱形
#include<stdio.h>
int main() {
int x, y;
for (y = -3; y <= 3; y++) {
for (x = -3; x <= 3; x++) {
if (y <= x + 3 && y >= -x -3 && y >= x - 3 && y <= -x + 3) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
}
輸出結果:*
***
*****
*******
*****
***
*
7、空心菱形
#include <stdio.h>
int main(void) {
int x, y;
for(y = 0; y <= 6; y++) {
for(x = 0; x <= 6; x++) {
if(y == x + 3 || y == x - 3 || y == 3 - x || y == 9 - x){
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
}
輸入結果:*
* *
* *
* *
* *
* *
*
8、愛心
#include <stdio.h>
int main(void) {
int x, y;
for (y = 0; y <= 8; y++) {
for (x = -6; x < 0; x++) {
if (y <= x + 8 && x >= -6 && y >= -x -5 && y >= 0 && y >= x + 3 ) {
printf("*");
} else {
printf(" ");
}
}
for (x = 0; x <= 6; x++) {
if (y <= -x + 8 && x <= 6 && y >= x -5 && y >= 0 && y >= -x + 3 && x >= 0) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
}
輸出結果:*** ***
***** *****
****** ******
***********
*********
*******
*****
***
*