この記事では、ステップバイステップのガイドラインを使用して、Cプログラムの書き方について学習します。
How to write a C program?
Martin Fowler once said:
“”C プログラムをどのように書くかについて、ステップごとのガイドラインを包括的に説明します。 コンピュータが理解できるコードを書くのはどんなバカでもできる。 優れたプログラマーは、人間が理解できるコードを書くことができる。 「
プログラマーはタスクを解決するために複雑なコードを書くことができますが、優秀なプログラマーだけが、他の人が解釈でき、何かエラーが発生しても保守できるプログラムを書くことができます。
- よく書かれ、インデントされたプログラムは、理解、デバッグ、または保守が容易である。
では、どのようにコードを書き始め、どのようなステップを踏めばよいのでしょうか。
心配しないでください!この記事では、上記の特性を持つプログラム開発の重要なステージを案内します。
主なステップは次のとおりです:
- プログラム設計
- プログラムコーディング
- プログラムテストとデバッグ
プログラム設計
プログラム設計とはプログラム開発サイクルの中心である基礎のことである。
ソースコードに手をつける前に、プログラムをあらゆる側面から理解し、プログラム開発戦略を立てることが重要である。
プログラム設計は4つのステップに分解することができる。
- 問題分析
- プログラム構造またはブループリントの生成
- プログラムのアルゴリズム開発
- 制御文の適切な選択
問題分析
最初のステップは、問題とプログラムに何をさせるかを明確に把握することである。 そこで、以下の質問を自分自身に投げかけてみてください:
- プログラムの入力は何になりますか?
- 出力は何になりますか?
- プログラム中に適用される異なる条件は何でしょうか?
プログラム構造またはブループリントを作成する
上記の質問に対する回答が得られたら、タスクを達成する方法を決定する必要があります。
プログラムはどのように構成すべきでしょうか。
これは、他の人があなたのコードを理解するために非常に重要である読みやすいとモジュラーコードを生成します。
プログラムのアルゴリズム開発
これは、プログラム設計の重要なステップです。 全体のアイデアを得て、問題を小さなサブタスクに分割したら、詳細とステップバイステップの手順をスクラッチする時間です、これはプログラミングのアルゴリズムとして知られています。
アルゴリズムの開発後、あなたはフローチャート、アルゴリズムの絵の表現を描かなければなりません。
たとえば、配列のソートには、バブルソート、挿入ソート、選択ソートを使用できます。
制御文の適切な選択
複雑な C プログラムやプロジェクトでは、if ... else
、while
、for
などの非常に多くの制御文を使って実行フローを指示しなければならないでしょう。 あなたのコードを簡単かつエラーなしにする適切な制御文を使用します。
情報を表現する良い方法を選択することは、しばしばプログラムの設計を簡単かつシンプルにします。
プログラムコーディング
プログラムのフルブループリントを開発したら、今度はアルゴリズムに従ってソースコードを記述する番です。 つまり、フローチャートを命令のセットに変換する準備をすることです。
そろそろCプログラミングの知識を活かして、できるだけ簡単なコードを書くようにしましょう。
以下は、プログラム・コーディングの要素です。
- Proper documentation or commenting
- Proper way for construction of statements
- Clear input/output formats
- Generality of the program
Proper documentation or commenting
この段階の主目的はコードが他の人にとって読みやすく理解できるようにすることにある。
意味のある変数名の選択とコメントの適切な使用は、このステップの不可欠な部分です。
例を見てみましょう。
#include<stdio.h>int main(){int i,j,a;printf("enter two values:");scanf("%d%d",&i,&j);a=i*j;printf("area:%d",a);return 0;}
上記のプログラムは構文的には正しいのですが、より意味のある適切な変数名で記述することができます。
- 1行に1つの文を使うようにする。
- 括弧と適切なインデントを使う。
- ループの重いネストを避け、単純なループを使う。
次のコーディングスタイルを守る。
if( mark >= 40){ result = pass;}else{ result = fail;}
どちらのコードも構文的には正しいのですが、文の構成が適切であることを考慮してください。
入出力フォーマットを明確にする
ユーザーはプログラムの入力と出力を理解しなければなりません。
常に入力要求を明確に述べ、すべての出力にラベルを付ける。
printf("Enter length of the square: ");scanf("%d", &length);Area = length * length;printf("Area of the square: %d", area);
プログラムの汎用性
我々は常にプログラムの特定のデータへの依存を最小限にするよう努めるべきである。
#define SIZE 10int array:
プログラムのテストとデバッグ
このフェーズでは、エラーチェックのためにソースコードをレビューします。
Errors may be:
- Syntax errors
- Run-time errors
- Latent errors
Compiler helps to detect syntax and semantic errors.Thanks to be a lot. コンパイラは、ソースコードを実行可能コードまたは機械語に変換するコンピュータプログラムです。
詳細な理解のために、C プログラムの典型的な開発をチェックしてください。
- 変数や出力の値を見るために、さまざまなステップで
printf
ステートメントを配置します。 これは、エラーを特定するのに役立ちます。 - もう1つの方法は、推論のプロセスです。
- 多くのコーダーはデバッグのためにバックトラックと呼ばれる方法を使用する。 この方法では、ソースコードはエラーが検出されるまで後方へ追跡される。
最後に、プログラムの効率を向上させるためのヒントをいくつか紹介します。
- シンプルで効果的なアルゴリズム、算術式、論理式を選択するのが賢明です。
- 配列や文字列は適切なサイズを宣言し、できれば多次元配列は使用しないでください。
- 配列や文字を扱う際にはポインタを優先リストに入れましょう。
コメントを残す