while
語法 : while(條件式){}
while的初始值要設於while之上,若沒有步進值, 則會進入無窮迴圈,如下所示
底下會進入無窮迴圈
int i=0;
while(i<10){
printf("%d", i);
}
計算1+2+3…+100
int sum=0;
int i=1;
while(i<=100){
sum+=i;
}
printf("1+2+3+...+100=%d", sum);
break
可以在某個條件時,退出迴圈
int sum=0;
int i=1;
while(i<=100){
if(i>101)break;
sum+=i;
}
printf("1+2+3+...+100=%d", sum);
continue
在某個條件下,忽略下面的程式碼,直接回 while。底下代碼只會列印 2, 4, 6, 8, 10
int i=1;
while(i<=100){
if(i%2==1)continue;
printf("%d",i);
}
for
語法 : for (初始值;判斷式;步進值)
第一次執行時 : 先執行啟始值,再執行條件 第二次及以後 : 先執行進步值,再執行條件 假如跑了n圈 啟始值 : 1次 進步值 : n-1次 條件 : n+1次,最後一次不立,不進入迴圈
以1+2+3+…+100為舉例
int sum=0;
for (int i=1;i<=100;i++){
sum+=i;
}
printf("1+2+3+...+100=%d", sum);
Exam1
1 2 3 …. 100
public static void main(String[] args) {
for (int i=;i<=100;i++){
printf("%d\n", i);
}
}
Exam2
列印 1 2 3 4 5 6 7 8 9 10
for (int i=1;i<10;i++){
printf("%d ", i);
}
printf("\n");
Exam3
列印 * * * * *
for (int i=0;i<5;i++){
printf("* ");
}
printf("\n");
Exam4
列印 * * * * * * * * * * * * * * *
for (int i=0;i<3;i++){
for (int j=0;j<5;j++){
print("* ");
}
printf("\n");
}
Exam5
列印 1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81
for (int i=1;i<=9;i++){
for (int j=1;j<=9;j++){
printf("%2d ", i*j);
}
printf("\n");
}
%2d : 靠右對齊,%02d左邊補0
Exam6
* * * * * * * * * * * * * * *
for (int i=1;i<=5;i++){
for (int j=1;j<=i;j++){
printf("* ");
}
printf("\n");
}
Exam7
* * * * * * * * * * * * * * *
for (int i=1;i<=5;i++){
for (int j=1;j<=6-i;j++){
printf("* ");
}
printf("\n");
}
Exam8
* * * * * * * * * * * * * * *
for (int i=1;i<=5;i++){
for (int j=1;j<=5-i;j++){
printf(" ");
}
for (int j=1;j<=i;j++){
printf("* ");
}
printf("\n");
}
Exam9
< < < < < > > > > > < < < < < > > > > > < < < < <
for (int i=1;i<=5;i++){
for (int j=1;j<=5;j++){
if(i%2==0)
printf("> ");
else
printf("< ");
}
printf("\n");
}
Exam10
A A A A A B B B B B C C C C C A A A A A B B B B B
for (int i=1;i<=5;i++){
for (int j=1;j<=5;j++){
if(i%3==1)
printf("A ");
else if (i%3==2)
printf("B ");
else
printf("C ");
}
printf("\n");
}
Exam11
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z
int start=65;
for (int i=start;i<start+26;i++){
printf("%c ", i);
}
printf("\n);
start=97;
for (int i=start;i<start+26;i++){
printf("%c ", i);
}
printf("\n");
for 迴圈易混洧的觀念
初使值後,再檢查判斷式,若不成立,連第一次也不會執行
for (i=0;i<10;i=i+2){cout<< i;}印出0,2,4,6,8, 但離開迴圈後i是10。若int i是宣告在for 之內,則迴圈外的i即消失,印出i即是錯誤
