GNU/Linux >> Linux の 問題 >  >> Linux

Cコマンドラインチュートリアル6-コードのインデント、インクリメント/デクリメント演算子、do-whileおよびforループなど

これまでに合計5つのCプログラミングチュートリアルを取り上げました。各チュートリアルは、特定の何かに焦点を当てました。トピックに近いままでいる過程で、いくつかの一般的な概念は手つかずのままでした。このチュートリアルでここで説明する概念のいくつか。

それでは始めましょう。

コードは常に適切にインデントする必要があります。手始めに、インデントは、コードを読みやすくするためにスペース/タブ/改行を配置する方法です。通常、ブロックまたはループに関連付けられたコード行は同じギャップに配置されます。たとえば、インデントされていないコードは次のとおりです。

#include <stdio.h>

int main (void)
{
int c =0, counter=0;
c = getchar();
while(c != EOF)
{
c = getchar();
if(c == '\n')
counter = counter+1;
}
printf("The input contains %d lines", counter+1);
return 0;
}

そして、インデントが適用された同じコードがあります:

#include <stdio.h>

int main (void)
{
int c =0, counter=0;
c = getchar();

while(c != EOF)
{
c = getchar();

if(c == '\n')
counter = counter+1;
}

printf("The input contains %d lines", counter+1);

return 0;
}

ご覧のとおり、インデントされたコードは整理されており、読みやすく、確認しやすいように見えます。

以前のチュートリアルでお気づきかもしれませんが、変数をインクリメントするために次の方法を使用しました:

a = a+1;

この方法に問題はありませんが、人気があり、よく使用される別の方法があります。インクリメント演算子を使用することです。

a++

この方法を使用すると、「a」の値は1ずつ増加します。これはポストインクリメントであることに注意してください。プレインクリメント演算子もあります:

++a

2つの違いはポストインクリメントにあり、変数が最初に使用され、次にインクリメントの場合はその値が使用されます。一方、pre-incrementでは、最初に値が増加し、次に変数が使用されます。

次のコードは、違いをよりよく説明します。

#include <stdio.h>

int main (void)
{
int a =0, b=0;

printf("a = %d", a++);
printf("\n b = %d", ++b);

return 0;
}

このプログラムの出力は次のとおりです。

a = 0
b = 1

したがって、ポストインクリメントはすぐには反映されませんでしたが、プレインクリメントは反映されたことがわかります。

同じロジックがデクリメント演算子にも適用されます。

#include <stdio.h>

int main (void)
{
int a =1, b=1;

printf("a = %d", a--);
printf("\n b = %d", --b);

return 0;
}

出力は次のとおりです。

a = 1
b = 0

Cでコードにコメントを付ける方法は2つあります。1つは「//」を使用する方法です。このように、一度にコメントできるのは1行だけです。

// int a = 10;
// a = 9;

もう1つの方法は、/ * ....*/を線の周りに配置することです。これにより、一度に複数の行にコメントを付けることができます。

/* int a = 10;
a = 9; */

これまでは、whileループについてのみ触れてきました。このループでは、条件が真の場合にのみ、コードの実行がwhileブロックに入ります。

while(condition)

{

/*

   line of code

   line of code

   ...

*/

}

また、コードのブロックが最初に1回実行され、次にwhile条件がチェックされるdo-whileループも存在します。

 do
{

// few lines of code

} while (condition);

さて、問題はいつdo-whileを使うべきかということです。例を挙げましょう。ユーザーに10より大きい値を入力してもらい、プログラムが値を取得するまでそのような値を入力するようユーザーに求め続ける必要があるとします。次に、その場合にdo-whileループがどのように役立つかを示します。

do
{
printf("Please enter a number greater than 10: ");
scanf("%d", &n);

}while(n<=10);

次は「for」ループです。これは「while」のようにチェックする条件がありますが、多くの場合に役立つインクリメントステートメントまたはデクリメントステートメントもあります。

for(initialization; condition; increment/decrement)
{
// lines of code here
}  

これは、0から20までのすべての偶数を出力するサンプルコードです。

#include <stdio.h>

int main()
{
int i;

for(i=0;i<=20;i=i+2)
printf(" %d ", i);

return 0;
}

もちろん、「for」ループに関連するヒントやコツはたくさんありますが、今後のチュートリアルでゆっくりと着実に説明します。

ここで、このチュートリアルでは、いくつかの優れたヒントと新しい概念を学びました。今後のチュートリアルでこれらを拡張していきます。それまでは、今日ここで説明したことをすべて練習し、疑問や質問がある場合はコメントを投稿してください。


Linux
  1. malloc と free のコード

  2. Linux コマンド ライン スイッチと引数の標準はありますか?

  3. 一致しない場合の sed の戻りコード

  1. Linuxコマンドラインに関する8つのヒント

  2. データの視覚化と分析のためのコマンド ライン ツールはありますか?

  3. コマンドと出力の異なる色

  1. Bashで変数をインクリメントおよびデクリメントする方法(カウンター)

  2. 初心者向けのLinuxUniqコマンドチュートリアル(10例)

  3. 初心者向けのLinuxlnコマンドチュートリアル(5つの例)