continue語句
continue語句只能用在循環(huán)體中,其一般格式是:
continue;
其語義是:結束本次循環(huán),即不再執(zhí)行循環(huán)體中continue 語句之后的語句,轉入下一次循環(huán)條件的判斷與執(zhí)行。應注意的是, 本語句只結束本層本次的循環(huán),并不跳出循環(huán)。
void main(){
int n;
for(n=7;n<=100;n++)
{
if (n%7!=0)
continue;
printf("%d ",n);
}
}
輸出100以內能被7整除的數(shù)。
int n;
for(n=7;n<=100;n++)
{
if (n%7!=0)
continue;
printf("%d ",n);
}
本例中,對7~100的每一個數(shù)進行測試,如該數(shù)不能被7整除,即模運算不為0,則由continus語句轉去下一次循環(huán)。只有模運算為0時,才能執(zhí)行后面的printf語句,輸出能被7整除的數(shù)。
#include"stdio.h"
void main(){
char a,b;
printf("input a string:\n");
b=getchar();
while((a=getchar())!='\n'){
if(a==b){
printf("same character\n");
break;
}b=a;
}
}
檢查輸入的一行中有無相鄰兩字符相同。
char a,b;
printf("input a string:\n");
b=getchar();
while((a=getchar())!='\n'){
if(a==b){
printf("same character\n");
break;
}b=a;
}
本例程序中,把第一個讀入的字符送入b。然后進入循環(huán),把下一字符讀入a,比較a,b是否相等,若相等則輸出提示串并中止循環(huán),若不相等則把a中的字符賦予b,輸入下一次循環(huán)。
輸出100以內的素數(shù)。素數(shù)是只能被1 和本身整除的數(shù)?捎酶F舉法來判斷一個數(shù)是否是素數(shù)。
void main(){
int n,i;
for(n=2;n<=100;n++){
for(i=2;i
if(n%i==0) break;
if(i>=n) printf("\t%d",n);
}
} int n,i;
for(n=2;n<=100;n++){
for(i=2;i
if(n%i==0) break;
if(i>=n) printf("\t%d",n);
}
本例程序中,第一層循環(huán)表示對1~100這100個數(shù)逐個判斷是否是素數(shù),共循環(huán)100次,在第二層循環(huán)中則對數(shù)n用2~n-1逐個去除,若某次除盡則跳出該層循環(huán),說明不是素數(shù)。 如果在所有的數(shù)都是未除盡的情況下結束循環(huán),則為素數(shù),此時有i>=n, 故可經此判斷后輸出素數(shù)。然后轉入下一次大循環(huán)。實際上,2以上的所有偶數(shù)均不是素數(shù),因此可以使循環(huán)變量的步長值改為2,即每次增加2,此外只需對數(shù)n用2~n去除就可判斷該數(shù)是否素數(shù)。這樣將大大減少循環(huán)次數(shù),減少程序運行時間。
#include"math.h"
void main(){
int n,i,k;
for(n=2;n<=100;n+=2){
k=sqrt(n);
for(i=2;i
if(n%i==0) break;
if(i>=k) printf("\t%2d",n);
}
}
編輯推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |