C言語循環構造
4453 ワード
C言語循環構造—解読
C言語の循環構造は重複構造とも呼ばれ、類似データに対して類似操作を実行するために提供される基本構造であり、多くのコンピュータ言語の基礎文法でもある.1.while(式){実行文};
これはwhileループで、その実行はまず式の正しいかどうかを判断します.式が正しい場合、{}の実行文が実行されます.式が正しい場合は、次のようなデッドサイクルになります.
このときwhileの式をk++または++kに変換し、1つの数より小さくする場合.
実は最大の違いは++kです.k++;文自体の実行は、自身に対してプラス1ですが、式に置くと違います.例は以下の通りです.
前のwhile文に戻って最初にk++は先に判断してから自加するのでkは11つまり10回を出力することができて、それから1つの++kは先に自加してから判断するので最大出力10つまり9回を出力することができます;へっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっ2.do{実行文}while(式);これといえば、私は当初あまり理解していなかったことを覚えています.彼女は解決できるので、彼女の姉もできます.そして、彼女の姉は彼女よりずっときれいです.彼女の実行.doの後ろの{実行文}からwhile()の中の式を判断します.3.for(式1;式2;式3){実行文}これは最も長く使うべきで、彼女が最も美しくて便利だからです.彼女の実行はこのようにして、先に式1(式1は初期条件で1回しか実行しません)を実行した後に式2(式2は循環する条件文で毎回{実行文}を実行します式2を実行してから{実行文}を実行すると、式3が実際に最後に実行されると誤解する人が多い(式3はループを調整している).
結論:for(;;){}の式1,2,3は必須ではありませんが、for()ループにこれらのものがあれば私が書いた対応作用だけで推定すればいいのです.上記のループは多くの言語にありますが、c言語独自はgoto文上のコードです
4.goto文字列;
goto文の実行は、アンカーを構成し、gotoから対応するアンカーにジャンプする文字列で加算される.
C言語の循環構造は重複構造とも呼ばれ、類似データに対して類似操作を実行するために提供される基本構造であり、多くのコンピュータ言語の基礎文法でもある.1.while(式){実行文};
これはwhileループで、その実行はまず式の正しいかどうかを判断します.式が正しい場合、{}の実行文が実行されます.式が正しい場合は、次のようなデッドサイクルになります.
while(1){
printf("I have a cat");
}
// 'I hava a cat' ;
このときwhileの式をk++または++kに変換し、1つの数より小さくする場合.
int k=1,n=10;
while(k++<=n){
printf("%d ",k);
}
// k : 2 3 4 5 6 7 8 9 10 11; 10
// ;
int k=1,n=10;
while(++k<=n){
printf("%d ",k);
}
// k : 2 3 4 5 6 7 8 9 10; 9
// ??
実は最大の違いは++kです.k++;文自体の実行は、自身に対してプラス1ですが、式に置くと違います.例は以下の通りです.
int a=1, b=1, c, d;
c = a++;
d = ++b;
printf("%d %d", c, d);
// c,d
// c=1,d=2;
// ++b b ,
// d a++ a c ;
前のwhile文に戻って最初にk++は先に判断してから自加するのでkは11つまり10回を出力することができて、それから1つの++kは先に自加してから判断するので最大出力10つまり9回を出力することができます;へっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっへっ2.do{実行文}while(式);これといえば、私は当初あまり理解していなかったことを覚えています.彼女は解決できるので、彼女の姉もできます.そして、彼女の姉は彼女よりずっときれいです.彼女の実行.doの後ろの{実行文}からwhile()の中の式を判断します.3.for(式1;式2;式3){実行文}これは最も長く使うべきで、彼女が最も美しくて便利だからです.彼女の実行はこのようにして、先に式1(式1は初期条件で1回しか実行しません)を実行した後に式2(式2は循環する条件文で毎回{実行文}を実行します式2を実行してから{実行文}を実行すると、式3が実際に最後に実行されると誤解する人が多い(式3はループを調整している).
// for
/* 1 */
int i = 1;
for(;i<2;){
printf("aaa");
}
/* 2 */
int i = 1;
for(;;i=1){
printf("aaa");
}
/* 3 */
int i = 1;
for(;;){
printf("aaa");
}
/* 4 */
for(int i=1;;){
printf("aaa");
}
// ;
結論:for(;;){}の式1,2,3は必須ではありませんが、for()ループにこれらのものがあれば私が書いた対応作用だけで推定すればいいのです.上記のループは多くの言語にありますが、c言語独自はgoto文上のコードです
4.goto文字列;
int a = 1,b = 8;
start: if(a > b){
printf("aaaa");
}
else{
a++;
goto start;
}
// goto
// if ;
// start
goto文の実行は、アンカーを構成し、gotoから対応するアンカーにジャンプする文字列で加算される.