第五章
用break語(yǔ)句提前終止循環(huán)
作用:使流程跳到循環(huán)體之外,接著執(zhí)行循環(huán)體下面的語(yǔ)句。 注意:break語(yǔ)句只能用于循環(huán)語(yǔ)句和switch語(yǔ)句之中,而不能單獨(dú)使用
用continue語(yǔ)句提前結(jié)束本次循環(huán)
作用:結(jié)束本次循環(huán),即跳過(guò)循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,轉(zhuǎn)到循環(huán)體結(jié)束點(diǎn)之前,接著執(zhí)行for語(yǔ)句中的“表達(dá)式3”,然后進(jìn)行下一次是否執(zhí)行循環(huán)的判定。
continue語(yǔ)句只結(jié)束本次循環(huán),而非終止整個(gè)循環(huán)。break語(yǔ)句結(jié)束整個(gè)循環(huán),不再判斷執(zhí)行循環(huán)的條件是否成立
求Fibonacci(斐波那契)數(shù)列的前40個(gè)數(shù)
#include <stdio.h> int main() { int f1=1,f2=1; int i; for(i=1; i<=20; i++) //每個(gè)循環(huán)輸出2個(gè)月的數(shù)據(jù),故只需循環(huán)20次 { printf("%12d %12d ",f1,f2); //輸出已知的兩個(gè)月的兔子數(shù) if(i%2==0) printf("\n"); f1=f1+f2; //計(jì)算出下一個(gè)月的兔子數(shù),并存放在f1中 f2=f2+f1; //計(jì)算出下兩個(gè)月的兔子數(shù),并存放在f2中 } return 0; }
輸入一個(gè)大于3的整數(shù)n,判定它是否為素?cái)?shù)(prime,又稱質(zhì)數(shù))
#include <stdio.h> #include <math.h> int main() { int n,i,k; printf("please enter a integer number,n=?"); scanf("%d",&n); k=sqrt(n); for (i=2;i<=k;i++) if(n%i==0) break; if(i<=k) printf("%d is not a prime number.\n",n); else printf("%d is a prime number.\n",n); return 0; }
求100~200間的全部素?cái)?shù)
#include<stdio.h> #include<math.h> int main() { int n,k,i,m=0; for(n=101;n<=200;n=n+2) //n從100變化到200,對(duì)每個(gè)奇數(shù)n進(jìn)行判定 { k=sqrt(n); for(i=2;i<=k;i++) if(n%i==0) break; //如果n被i整除,終止內(nèi)循環(huán),此時(shí)i<k+1 if(i>=k+1) //若i>=k+1,表示n未曾被整除 { printf("%d ",n); //應(yīng)確定n是素?cái)?shù) m=m+1; //m用來(lái)控制換行,一行內(nèi)輸出10個(gè)素?cái)?shù) } if(m%10==0) printf("\n"); //m累計(jì)到10的倍數(shù),換行 } printf ("\n"); return 0; }
第六章
對(duì)10個(gè)數(shù)組元素依次賦值為0,1,2,3,4,5,6,7,8,9,要求按逆序輸出
#include<stdio.h> int main() { int i,a[10]; for(i=0; i<=9;i++) //對(duì)數(shù)組元素a[0]~a[9]賦值 a[i]=i; for(i=9;i>=0;i--) //輸出a[9]~a[0]共10個(gè)數(shù)組元素 printf("%d ",a[i]); printf("\n"); return 0; }
用數(shù)組來(lái)處理求Fibonacci數(shù)列問(wèn)題(前20個(gè))
#include <stdio.h> int main() { int i; int f[20]={1,1}; //對(duì)最前面兩個(gè)元素f[0]和f[1]賦初值1 for(i=2;i<20;i++) f[i]=f[i-2]+f[i-1]; //先后求出f[2]~f[19]的值 for(i=0;i<20;i++) { if(i%5==0) printf("\n"); //控制每輸出5個(gè)數(shù)后換行 printf("%12d",f[i]); //輸出一個(gè)數(shù) } printf("\n"); return 0; }
scanf函數(shù)中的輸入項(xiàng)如果是字符數(shù)組名,不要再加地址符&,因?yàn)樵贑語(yǔ)言中數(shù)組名代表該數(shù)組第一個(gè)元素的地址(或者說(shuō)數(shù)組的起始地址)。
第七章