たまにIT系のサイトに行くと、新しさ、新しさ、専門性、偏りを求めたものが多いことに気づきます!世界にはすべてがあると言ってもいいでしょう!しかし、中国のソフトウェアの現状に直面すると、一方では、非常に多くの実用的なソフトウェアが編集途中であり、多くの人が残業して非常に忙しいことがわかります。誰も開発しておらず、誰かが開発するのを待っている実用的なソフトウェア。その一方で、何を開発したいのか分からない、暇なプログラマーがたくさんいることも分かりました。どのようなプログラミング スキルを習得する必要があるのかわからないので、オンラインでの学習以外にも多くの時間を費やしていますが、楽しい時間が無駄になってしまいます。 、それは悲痛なことです。多くのプログラマは、これらの実用的なソフトウェアに現在最も欠けているのは、新しいこと、奇妙なこと、特殊なこと、または偏ったことではなく、実践的な技術、そして実践的な技術を適用する品質とスキルであることを知りません。
プログラミングは「すべての道はローマに通ず」であるため、プログラマーの自主性が高く、機能を実装するためにあらゆる方法を使用できるため、プログラミングのレベルが不均一になります。プログラムの書き方しか知らないプログラマーは、その本質をしっかりと理解してこそ、実践的なプログラミングスキルを習得する必要があると思います。しかし、なぜこのような方法で記述されているのかはわかりません。プログラムを作成するために最適なステートメント、最も単純なステートメント、および最も適切なステートメントを使用することは不可能かもしれません。ましてや、これらのステートメントを組み合わせて高品質を達成するために高度なスキルを使用することは不可能です。プログラム。
長期的にプログラミングを実践する場合、以下のプログラミングスキルが基礎となり、それを習得するために他のより高度なプログラミングスキルを習得する必要があると思います。
1. 課題
代入はプログラミングにおいて欠かせない基本的なステートメントであり、最も基本的なステートメントです。このステートメントをマスターするのは非常に簡単に思えますが、シンプルであればあるほど、より多くの注意を払う必要があります。最も単純な代入は、変数に値を代入することです。たとえば、x=1。
割り当ての本質は、物間の転送です。さらに、割り当て自体は中間プロセスであり、コード レベルで反映される意味は、メモリ内の値またはメモリ ポインタをメモリ ポインタに割り当てることです。
代入には 2 つの側面があります。1 つは、どのような値、変数、またはオブジェクトが取得されるかということであり、もう 1 つは、どの変数またはオブジェクトが割り当てられるかということです。プログラマーがプログラミングをしているとき、どのような値、変数、オブジェクトを取得するか、これらの値、変数、オブジェクトをどのように見つけるか、取得後に誰に割り当てるかという 2 つの側面で混乱することがよくあります。これは私たちがよく遭遇することです。
値を割り当てるときは、次の点に注意する必要があります。
1) 方程式の両辺のデータ型は等しくなければなりません。
2) 代入ステートメントは他のステートメントより高速です。効率を重視する場合は、この点に注意する必要があります。
代入ステートメントは関数呼び出しよりも高速で、ループ ステートメントよりも高速です。
たとえば、ループ ステートメントは巨大なループ内に記述されます。
for(i=0;i<3;i++)
A[i]=i+1;
これを代入ステートメントに変換することもできます。
A[0]=1;
A[1]=2;
A[2]=3;
3) 代入文が複数ある場合、代入処理が逐次処理される場合があります。
4) 割り当てステートメントが多すぎます (20 を超えており、非常に読みにくく、循環割り当てを考慮する必要がある場合があります)。
2. 条件付き処理
条件処理は番組内容の中で代入処理に次いで多く、番組の変更は基本的に条件処理によって行われる。条件が異なると異なる処理が実行されます。したがって、条件付き処理の本質は、物事の変化がそれに応じた変化をもたらすということです。
プログラミングの実践では、次の点についてよく混乱します。どのような条件ですか?何をするか?また、いつ条件を検討し始めるかについても検討してください。
代入処理は逐次処理です。条件が満たされると、A の割り当てが実行され、条件が満たされない場合は B の割り当てが実行される可能性が高くなります。
条件を処理するときは、次の点に注意する必要があります。
1) 条件はどのように選択すればよいですか?それが条件式です。
実際、この問題は非常に複雑です。
一般的に、最も重要な条件を最初の条件として取り上げます。ただし、条件を満たす最大の結果セットの条件も最初の条件として考慮します。このような最終条件は、多くの場合満たされないか、満たされた後でも多くの処理を必要としません。
条件式の設計から、単一の変数を使用して条件を表すことも、複数の変数演算を使用して条件を表すこともできます。単一の変数は、数値、文字、または論理型で表すことができます。その中でも、非常に特殊なものでもあります。
例えば。フラグ==1;フラグ=='1';フラグ==True
どちらでもプログラム条件を転送できますが、選択方法については多くの要素を考慮する必要があります。
2) 例外を無視しないようにしましょう
たとえば、i=1 および i=2 を考慮する場合、i<1 および i>2 は考慮されません。
条件の省略は、プログラマが全体的な概念と例外の概念を欠いていることを示していることがよくあります。これが、多くのプログラムが適切に作成されていない理由の 1 つです。
3) 条件間に交差があってはなりません
例えば:
If(i>1 &&i<=5)
x=1;
If(i>4&&i<10)
x=2;
i=5のとき、
x は最初は 1 に等しく、次に 2 に等しくなります。これは避けなければなりません。多くのプログラム エラーはこのような問題に関連しています。
4) 条件付き処理の適用範囲に特に注意してください。
例: if (フラグ==1)
X=1;
If(フラグ==2)
X=2;
X=5;
どのような条件であっても、x は常に 5 に等しくなります。
5) if と case のそれぞれの適応に注意してください。 if をいつ使用するか、case をいつ使用するかを理解してください。
3. サイクル
ループとは繰り返しの操作を単純に表現したもので、繰り返しの操作があればループ文を使用することができます。サイクルの本質は繰り返しです。
ループを処理するときは、次の点に注意する必要があります。
1) 循環処理は効率に影響を与える重要な側面です
プログラムに効率上の問題がある場合は、まずループ ステートメント内で問題を探す必要があります。
2) ループ処理の前提条件
一般に、ループ ステートメントは 3 回以上繰り返し実行するために使用できます。 3 回未満の場合は、ループ ステートメントを使用しないことをお勧めします。
例えば:
For(i=0;i<3;i++)
B[i]=i;
次のように書くとよいでしょう。
B[0]=0;
B[1]=1;
B[2]=2;
もちろん、可読性と拡張性の観点から、ループ文も使用できます。
3) 異なるループ条件では異なるループ ステートメントが使用されます。
プログラマは、for をいつ使用するか、do while を使用するか、および foreach をいつ使用するかを知る必要があります。
上記のステートメントは同じ目的を達成できますが、プログラマは、ステートメントを最も適切なものにするために、その適用範囲を知る必要があります。
4) ループ内のステートメント (割り込みループ、継続ループ、関数リターン、プログラム終了など) を最大限に活用して、ループをよりカラフルにします。
4. 文字列操作
文字列は情報の重要な表現です。文字列操作は、プログラミングで最も一般的に使用される操作の 1 つです。文字列操作の本質は情報の処理です。多くの情報には標準がないため、プログラマは独自の標準要件に適合するように情報を操作します。
たとえば、一部の文字列にさまざまな情報が含まれている場合は、文字列を分割する必要があり、一部の文字列には情報が欠落している場合は、文字列を結合する必要があります。
文字列を操作するときは、主に次の点に注意してください。
1) 空文字列処理
元の文字列には、操作上の理由やシステム上の理由により、文字列の先頭と末尾にいくつかのスペースが含まれるため、文字列を処理する前にスペースを削除する必要があります。
2) コード化け処理
一部の文字列にさまざまな文字化けが発生し、文字列表示に意味不明な文字が表示されることがあります。このような状況は主に、文字列内の制御文字コードの存在と中国語の文字の不一致によって発生します。
3) デリミタ処理
情報を区切るためにレコードやパラメータに区切り文字が現れることが多く、区切り文字を介して情報を取り出すことができます。実際には、情報コンテンツ自体に区切り文字が含まれている場合や、文字化けしたコード生成時に区切り文字が生成される場合があり、その場合には区切り文字を変更するか、特別な処理を実行する必要があります。
4) 文字と他のデータ型間の変換
実際のプログラミングでは、操作対象のオブジェクトの一貫性を保つために、文字列を他のデータ型に変換したり、他のデータ型を文字列に変換したりする操作が必要になることがよくあります。一般に、他のデータ型を文字列に変換する方が簡単ですが、文字列を他のデータ型に変換する場合は、変換前の文字列形式が要件を満たしているかどうかを考慮する必要があります。
例:「1,000,000」を数値に変換するには、「,」を削除して変換します。
5) 部分文字列の処理
部分文字列処理はクエリでよく使用されます。部分文字列のマッチングには、前部、中間、最後という 3 つのタイプがあります。部分文字列のマッチングには、多くの場合、部分文字列が短く、クエリ文字列が長いほど時間がかかります。インデックス付きフィールドでクエリを実行する場合、高速クエリの目的を達成するために最初の一致のみがインデックスを使用できますが、中間以降の一致が使用される場合、インデックスは無効になり、各レコードを 1 つずつ一致させる必要があります。 、これが最も時間がかかります。プログラマは上記の内容を理解し、部分文字列を正しく処理して高速クエリの目的を達成するために状況を利用する必要があります。
5. 算術演算
算術演算は、プログラミングにおいて文字列演算に次いで重要です。このうち、1の足し算は演算数が多くよく使われます。一般的なアプリケーションソフトでは加減乗除が最もよく使われます。算術演算の本質は数値情報の処理です。算術演算は、一方では実用的なアプリケーションのためのアルゴリズム要件であり、他方ではプログラミング アルゴリズムです。
たとえば、アプリケーション システムは長方形の面積を計算する必要があります。次に、S=L*D ステートメントが記述されます。
100 個の長方形の面積をプログラムして計算したい場合は、ポインタ + 1 を介して次の長方形の面積を計算するポインタが必要です。ポインタは 1 ずつインクリメントされます。この操作はアルゴリズムで必要です。
算術演算は、数式の計算が比較的単純なアプリケーションで使用されます。ただし、アルゴリズムで使用される算術演算の手法と実装はそれほど単純ではありません。重要な点は、いくつかの中間変数を定義し、それらを中間変数の加算と減算によってループ演算にすることです。
6. アレイ
配列はデータを格納するコレクションです。配列操作もプログラミングでよく使用されます。配列の本質はもののコレクションです。ただし、コレクション オブジェクトの数は制限されており、その配列はメモリに格納されるため、配列の操作は非常に高速であることに注意してください。配列の使用の大部分は、ループ ステートメントの使用です。配列とループを組み合わせることで、プログラムの品質が大幅に向上します。
配列の場合、次の点に注意する必要があります。
1. アレイ数に関する問題
2. 多次元配列の表現方法と格納形式
3. 配列の範囲外の問題
4. 空の配列
5. ループステートメントでの配列の使用。
添付:このテーマは1回の記事で解決すると思っていたのですが、書いているうちに単純化して単純化するしかなくなってきたので、何回かに分けて書きます。
次の記事「プログラマーが身につけるべき実践プログラミングスキル2」
主な内容:
7. 電話をかける
8. ファイル操作
9. 論理演算
10. アレイ
11. データベース
12. コントロール
13. 授業
14. パラメータ化