コンピュータプログラミング-クイックガイド

コンピュータプログラム入門

コンピュータプログラミングに入る前に、まずコンピュータプログラムとその機能を理解しましょう。

コンピュータプログラムは、コンピュータプログラミング言語を使用して記述された一連の命令であり、コンピュータによって指定されたタスクを実行します。

上記の定義で使用した2つの重要な用語は次のとおりです。

  • 一連の指示
  • コンピュータプログラミング言語

これらの用語を理解するために、誰かが近くのKFCに行く方法についてあなたに尋ねる状況を考えてみてください。彼にKFCへの行き方を教えるためにあなたは正確に何をしますか?

ヒューマンランゲージを使用して、KFCへの行き方を次のように伝えます。

最初に直進し、0.5 km進んだ後、赤信号から左折し、1 kmほど進むと、右側にKFCがあります。

ここでは、英語を使用して、KFCに到達するためのいくつかの手順を示しました。次の順序で従えば、KFC-に到達します。

1.	Go straight
2.	Drive half kilometer
3.	Take left
4.	Drive around one kilometer
5.	Search for KFC at your right side

次に、コンピュータプログラムを使用して状況をマッピングしてみてください。上記の一連の指示は実際にはHuman Program で書かれている English Language、指定された開始点からKFCに到達する方法を指示します。これと同じシーケンスは、スペイン語、ヒンディー語、アラビア語、またはその他の人間の言語で与えられた可能性があります。ただし、指示を求める人がこれらの言語のいずれかを知っている場合に限ります。

それでは、戻ってコンピュータプログラムを理解してみましょう。これは、コンピュータによって指定されたタスクを実行するためにコンピュータ言語で記述された一連の命令です。以下はで書かれた簡単なプログラムですPython プログラミング言語-

print "Hello, World!"

上記のコンピュータプログラムは、「Hello、World!」を印刷するようにコンピュータに指示します。コンピューターの画面上。

  • コンピュータプログラムは、 computer software、2行から数百万行の命令の範囲である可能性があります。

  • コンピュータプログラム命令は、プログラムソースコードとも呼ばれます。 computer programming とも呼ばれます program coding

  • コンピュータプログラムのないコンピュータは単なるゴミ捨て場です。コンピュータをアクティブにするプログラムです。

私たちが自分たちの間で通信するために非常に多くの言語を開発したので、コンピューター科学者はコンピューターに指示を与えるために(すなわち、コンピュータープログラムを書くために)いくつかのコンピュータープログラミング言語を開発しました。以降の章では、いくつかのコンピュータープログラミング言語について説明します。

コンピュータプログラミング入門

あなたが何を理解したなら computer programつまり、コンピュータプログラムを作成する行為はコンピュータプログラミングと呼ばれます。

先に述べたように、コンピュータプログラムを書くために使用できるプログラミング言語は何百もあり、以下はそれらのいくつかです-

  • Java
  • C
  • C++
  • Python
  • PHP
  • Perl
  • Ruby

コンピュータプログラムの使用

今日、コンピュータプログラムは、家庭、農業、医療、娯楽、防衛、通信など、ほぼすべての分野で使用されています。以下に、コンピュータプログラムのいくつかのアプリケーションを示します。

  • MS Word、MS Excel、Adobe Photoshop、Internet Explorer、Chromeなどはコンピュータプログラムの例です。

  • コンピュータプログラムは、映画製作におけるグラフィックスや特殊効果を開発するために使用されています。

  • コンピュータプログラムは、超音波、X線、およびその他の健康診断を実行するために使用されています。

  • コンピュータプログラムは、SMS、チャット、および音声通信のために私たちの携帯電話で使用されています。

コンピュータープログラマー

コンピュータプログラムを書くことができる人、言い換えれば、コンピュータプログラミングを行うことができる人はコンピュータプログラマと呼ばれます。

コンピュータープログラミング言語の専門知識に基づいて、コンピュータープログラマーに次のように名前を付けることができます。

  • Cプログラマー
  • C ++プログラマー
  • Javaプログラマー
  • Pythonプログラマー
  • PHPプログラマー
  • Perlプログラマー
  • Rubyプログラマー

アルゴリズム

プログラミングの観点から、 algorithmは、問題を解決するための段階的な手順です。アルゴリズムは、明確に定義された命令の有限集合として表される効果的な方法です。

したがって、コンピュータープログラマーは、実際のコードを作成する前に、問題を解決するために必要なすべての手順をリストアップします。以下は、与えられた数のリストから最大の数を見つけるアルゴリズムの簡単な例です-

1. Get a list of numbers L1, L2, L3....LN
2. Assume L1 is the largest, Largest = L1
3. Take next number Li from the list and do the following
4. If Largest is less than Li
5. Largest = Li
6. If Li is last number from the list then
7. Print value stored in Largest and come out
8. Else repeat same process starting from step 3

上記のアルゴリズムは、初心者が概念を理解できるように大雑把に書かれています。高度なレベルのコンピュータープログラミングに進むと、コンピューターアルゴリズムを作成するためのより標準化された方法に出くわすでしょう。

よく知られている英語をご存知だと思います Human Interface Language。英語には事前定義された文法があり、正しい方法で英語のステートメントを書くために従う必要があります。同様に、ほとんどのヒューマンインターフェイス言語(ヒンディー語、英語、スペイン語、フランス語など)は、動詞、名詞、形容詞、副詞、命題、接続詞などのいくつかの要素で構成されています。

ヒューマンインターフェイス言語と同様に、コンピュータプログラミング言語もいくつかの要素で構成されています。これらの要素の基本を説明し、さまざまなプログラミング言語で快適に使用できるようにします。これらの基本的な要素は次のとおりです。

  • プログラミング環境
  • 基本構文
  • データ型
  • Variables
  • Keywords
  • 基本的な演算子
  • 意思決定
  • Loops
  • Numbers
  • Characters
  • Arrays
  • Strings
  • Functions
  • ファイルI / O

これらすべての要素については、さまざまなプログラミング言語を使用した例を使用して、後続の章で説明します。最初に、これらすべての用語の一般的な意味を理解しようとします。次に、これらの用語がさまざまなプログラミング言語でどのように使用されるかを確認します。

このチュートリアルは、次の最も人気のあるプログラミング言語についてのアイデアを提供するように設計されています-

  • Cプログラミング
  • Javaプログラミング
  • Pythonプログラミング

チュートリアルの大部分は、プログラミング言語としてCを使用して説明され、次に、JavaとPythonで同様の概念がどのように機能するかを示しました。したがって、このチュートリアルを完了すると、これらの一般的なプログラミング言語にかなり慣れることになります。

環境設定はプログラミング言語の要素ではありませんが、プログラムの作成を開始する前に従うべき最初のステップです。

私たちが環境設定と言うとき、それは単に私たちがプログラミングを行うことができる基盤を意味します。したがって、必要なソフトウェアのセットアップ、つまり、コンピュータープログラムの作成、コンパイル、および実行に使用されるPCへのインストールが必要です。たとえば、インターネットを閲覧する必要がある場合は、マシンに次の設定が必要です。

  • インターネットに接続するためのインターネット接続が機能している
  • Internet Explorer、Chrome、SafariなどのWebブラウザ。

PCユーザーの場合は、tutorialspoint.comを閲覧しているときにInternetExplorerから取得した次のスクリーンショットに気付くでしょう。

同様に、任意のプログラミング言語を使用したプログラミングを開始するには、次の設定が必要になります。

  • コンピュータプログラムを作成するためのテキストエディタ。
  • プログラムをバイナリ形式にコンパイルするコンパイラ。
  • プログラムを直接実行するインタプリタ。

コンピュータに十分に触れていない場合、これらのソフトウェアのいずれかをセットアップすることはできません。したがって、周囲の技術者の助けを借りて、開始できるマシンにプログラミング環境をセットアップすることをお勧めします。しかし、あなたにとって、これらのアイテムが何であるかを理解することは重要です。

テキストエディタ

テキストエディタは、コンピュータプログラムを作成するために使用されるソフトウェアです。Windowsマシンには、プログラムの入力に使用できるメモ帳が必要です。次の手順に従って起動できます-

Start Icon → All Programs → Accessories → Notepad → Mouse Click on Notepad

次のウィンドウでメモ帳を起動します-

このソフトウェアを使用して、コンピュータプログラムを入力し、任意の場所のファイルに保存できます。あなたはのような他の良いエディタをダウンロードしてインストールすることができますNotepad++、無料で入手できます。

Macユーザーの場合は、 TextEdit または、次のような他の商用エディタをインストールできます BBEdit で開始する。

コンパイラ?

お気に入りのプログラミング言語を使用してコンピュータプログラムを作成し、プログラムファイルと呼ばれるテキストファイルに保存します。

それでは、プログラミング言語を使用して作成したプログラムをコンピューターがどのように理解するかについて、もう少し詳しく見ていきましょう。実際には、コンピュータはテキスト形式で直接与えられたプログラムを理解できないため、このプログラムをコンピュータが理解できるバイナリ形式に変換する必要があります。

テキストプログラムからバイナリファイルへの変換は、コンパイラと呼ばれる別のソフトウェアによって行われ、テキスト形式のプログラムからバイナリ形式のファイルへの変換のこのプロセスは、プログラムコンパイルと呼ばれます。最後に、バイナリファイルを実行してプログラムされたタスクを実行できます。

コンパイラーの詳細やコンパイルのさまざまなフェーズについては説明しません。

次のフロー図は、プロセスを示しています。

したがって、C、C ++、Java、Pascalなどのコンパイルが必要な言語でプログラムを作成する場合は、プログラミングを開始する前にコンパイラをインストールする必要があります。

通訳

コンパイラとコンパイルプロセスについて説明しました。実行前にバイナリ形式にコンパイルする必要があるプログラミング言語でプログラムを作成する場合は、コンパイラが必要です。

Python、PHP、Perlなど、バイナリ形式にコンパイルする必要のないプログラミング言語は他にもあります。インタプリタを使用して、このようなプログラムを1行ずつ読み取り、さらに変換せずに直接実行できます。

したがって、PHP、Python、Perl、Rubyなどでプログラムを作成する場合は、プログラミングを開始する前に、それらのインタープリターをインストールする必要があります。

オンラインコンパイル

マシンにエディター、コンパイラー、またはインタープリターをセットアップできない場合、tutorialspoint.comは、ほとんどすべてのプログラムを1回のクリックでオンラインでコンパイルおよび実行する機能を提供します。

だから心配しないで、簡単で簡単なステップでコンピュータープログラマーになるためのスリリングな経験をするためにさらに進んでみましょう。

ちょっとしたコーディングから始めましょう。それは本当にあなたをコンピュータープログラマーにするでしょう。書くための単一行のコンピュータプログラムを書くつもりですHello, World!画面に。さまざまなプログラミング言語を使用してどのように記述できるかを見てみましょう。

CのHelloWorldプログラム

www.compileonline.comで入手可能なオンラインコンパイラオプションを使用して、次の例を試してください。

このチュートリアルに記載されているほとんどの例では、 Try it オンラインコンパイラに移動する右上隅のWebサイトコードセクションのオプション。

printf()内のコンテンツを変更してみてください。つまり、代わりに何かを入力してください。 Hello World!そして、その結果を確認します。2つの二重引用符の中に保持しているものはすべて印刷されます。

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!" );
}

これは次の結果を生成します-

Hello, World!

この小さなHelloWorldプログラムは、Cプログラミングに関連するさまざまな基本概念を理解するのに役立ちます。

プログラムのエントリポイント

今のところ、忘れてください #include <stdio.h> ただし、このステートメントはCプログラムの先頭に配置する必要があることに注意してください。

すべてのCプログラムは、main関数と呼ばれるmain()で始まり、その後に左中括弧が続きます。プログラム命令の残りの部分はその間に書かれ、最後に右中括弧でプログラムを終了します。

これら2つの中括弧内のコーディング部分は、プログラム本体と呼ばれます。左の中括弧は、main(){と同じ行、または上記のプログラムで説明したように次の行に含めることができます。

関数

関数はプログラムの小さな単位であり、特定のタスクを実行するために使用されます。たとえば、上記のプログラムは2つの機能を利用しています。main() そして printf()。ここで、関数main()はプログラム実行のエントリポイントを提供し、他の関数printf()はコンピュータ画面に情報を印刷するために使用されています。

別の章で説明する独自の関数を作成することもできますが、Cプログラミング自体には、main()、printf()などのさまざまな組み込み関数が用意されており、要件に基づいてプログラムで使用できます。

一部のプログラミング言語では、 sub-routine 機能の代わりに、しかしそれらの機能は多かれ少なかれ同じです。

コメント

ACプログラムには、ステートメントを含めることができます /*.....*/。このようなステートメントはコメントと呼ばれ、これらのコメントは、プログラムをユーザーフレンドリーで理解しやすいものにするために使用されます。コメントの良いところは、コンパイラーとインタープリターによって完全に無視されることです。したがって、コメントを書きたい任意の言語を使用できます。

空白

プログラミング言語を使用してプログラムを作成する場合、さまざまな印刷可能な文字を使用してプログラミングステートメントを作成します。これらの印刷可能な文字はa, b, c,......z, A, B, C,.....Z, 1, 2, 3,...... 0, !, @, #, $, %, ^, &, *, (, ), -, _, +, =, \, |, {, }, [, ], :, ;, <, >, ?, /, \, ~. `. ", '。キーボードから印刷可能な文字を見逃していないことを願っています。

これらの文字とは別に、非常に頻繁に使用する文字がいくつかありますが、それらはプログラムでは表示されず、これらの文字はスペース、タブ(\ t)、新しい行(\ n)です。これらの文字は呼ばれますwhitespaces

これらの3つの重要な空白文字は、すべてのプログラミング言語で共通であり、テキストドキュメントでは表示されません。

空白 説明 表現
改行 新しい行を作成するには \ n
タブ タブを作成します。 \ t
スペース スペースを作成します。 空きスペース

おそらくコメント付きの空白のみを含む行は空白行と呼ばれ、Cコンパイラはそれを完全に無視します。空白は、空白、タブ、改行文字、およびコメントを説明するためにCで使用される用語です。だからあなたは書くことができますprintf("Hello, World!" );以下に示すように。ここでは、「Hello、World!」の周りに作成されたすべてのスペースがあります。は役に立たず、コンパイラはコンパイル時にそれらを無視します。

#include <stdio.h>

int main() {

   /* printf() function to write Hello, World! */
   
   printf(    "Hello, World!"      );
   
}

これは次の結果を生成します-

Hello, World!

これらすべての空白文字を表示すると、上記のプログラムは次のようになり、コンパイルできなくなります。

#include <stdio.h>\n
\n
int main()\n
{
   \n
   \t/* printf() function to write Hello, World! */
   \n 
   \tprintf(\t"Hello, World!"\t);\n
   \n
}\n

セミコロン

Cプログラムの個々のステートメントはすべて、セミコロン(;)たとえば、「He​​llo、World!」と書きたい場合。2回すると、次のように記述されます-

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!\n" );
   printf( "Hello, World!" );
}

このプログラムは次の結果を生成します-

Hello, World! 
Hello, World!

ここでは、改行文字を使用しています \n最初のprintf()関数で、新しい行を作成します。この改行文字を使用しないとどうなるか見てみましょう-

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!" );
   printf( "Hello, World!" );
}

このプログラムは次の結果を生成します-

Hello, World! Hello, World!

次の数章で識別子とキーワードを学びます。

プログラムの説明

上記のCプログラムがどのように機能するかを理解しましょう。まず、上記のプログラムは、Cコンパイラを使用してバイナリ形式に変換されます。それでは、このコードをtest.cファイルに入れて、次のようにコンパイルしましょう-

$gcc test.c -o demo

文法エラー(コンピューター用語の構文エラー)がある場合は、バイナリ形式に変換する前に修正します。すべてがうまくいけば、それはと呼ばれるバイナリファイルを生成しますdemo。最後に、生成されたバイナリデモを次のように実行します-

$./demo

これは次の結果を生成します-

Hello, World!

ここで、バイナリを実行すると a.outファイルの場合、コンピューターはmain()からプログラム内に入り、printf()ステートメントに遭遇します。/*....*/内の行はコメントであり、コンパイル時にフィルタリングされることに注意してください。したがって、printf()関数は、コンピューター画面に指定された行を印刷するようにコンピューターに指示します。最後に、main()関数の終了を示す右中括弧に遭遇し、プログラムを終了します。

構文エラー

プログラミング言語で定義された規則に従わないと、コンパイル時に構文エラーが発生し、プログラムはコンパイルされません。構文の観点からは、単一のドット、コンマ、または単一のセミコロンでさえ重要であり、そのような小さな構文にも注意する必要があります。次の例では、セミコロンをスキップしました。プログラムをコンパイルしてみましょう。

#include <stdio.h>

main() {
   printf("Hello, World!")
}

このプログラムは次の結果を生成します-

main.c: In function 'main':
main.c:7:1: error: expected ';' before '}' token
 }
 ^

つまり、プログラムのプログラミング言語で定義された適切な構文に従わないと、構文エラーが発生するということです。別のコンパイルを試みる前に、それらを修正してから続行する必要があります。

JavaのHelloWorldプログラム

以下は、Javaで記述された同等のプログラムです。このプログラムでも同じ結果が得られますHello, World!

public class HelloWorld { 
   public static void main(String []args) {
      /* println() function to write Hello, World! */
      System.out.println("Hello, World!");     
   }
}

これは次の結果を生成します-

Hello, World!

PythonのHelloWorldプログラム

以下は、Pythonで記述された同等のプログラムです。このプログラムでも同じ結果が得られますHello, World!

#  print function to write Hello, World! */
print "Hello, World!"

これは次の結果を生成します-

Hello, World!

CとJavaの例では、最初にプログラムをコンパイルしてから、生成されたバイナリを実行しますが、Pythonプログラムでは、直接実行していることに注意してください。前の章で説明したように、Pythonはインタープリター型言語であり、コンパイルと呼ばれる中間ステップは必要ありません。

Pythonでは、ステートメントを終了するためにセミコロン(;)は必要ありません。むしろ、改行は常にステートメントの終了を意味します。

と呼ばれるほとんどすべてのプログラミング言語で利用できる非常に単純だが非常に重要な概念について説明しましょう。 data types。その名前が示すように、データ型は、コンピュータプログラムを使用して処理できるデータの種類を表します。数値、英数字、10進数などにすることができます。

コンピュータプログラミングをしばらく脇に置いて、2つの整数10と20を加算する簡単な例を見てみましょう。これは次のように簡単に実行できます。

10 + 20

2つの10進数10.50と20.50を追加したい別の問題を考えてみましょう。これは、次のように記述されます。

10.50 + 20.50

2つの例は簡単です。次に、学生の情報をノートブックに記録する別の例を見てみましょう。ここでは、以下の情報を記録したいと思います-

Name:
Class:
Section:
Age:
Sex:

さて、与えられた要件に従って1つの学生レコードを入れましょう-

Name: Zara Ali
Class: 6th
Section: J
Age: 13
Sex: F

最初の例は整数を扱い、2番目の例は2つの10進数を追加しましたが、3番目の例は異なるデータの混合を扱います。次のようにしましょう−

  • 学生名「ザラアリ」は文字列とも呼ばれる文字列です。

  • 学生クラス「6th」は、整数と2文字の文字列の組み合わせで表されています。このような組み合わせは英数字と呼ばれます。

  • 学生セクションは、「J」である単一の文字で表されています。

  • 学生の年齢は13である整数で表されています。

  • 学生の性別は、「F」という1つの文字で表されています。

このようにして、私たちの日常生活では、文字列、文字、整数(整数)、10進数(浮動小数点数)など、さまざまな種類のデータを処理していることに気付きました。

同様に、さまざまな種類のデータを処理するコンピュータープログラムを作成する場合は、その種類を明確に指定する必要があります。そうしないと、コンピューターは、その特定のデータに対してさまざまな操作を実行する方法を理解できません。プログラミング言語が異なれば、異なるキーワードを使用して異なるデータ型を指定します。たとえば、CおよびJavaプログラミング言語はint 整数データを指定しますが、 char 文字データ型を指定します。

以降の章では、さまざまな状況でさまざまなデータ型を使用する方法を示します。とりあえず、C、Java、Pythonで利用できる重要なデータ型と、それらのデータ型を指定するために使用するキーワードを確認しましょう。

CおよびJavaデータ型

CとJavaはほぼ同じデータ型のセットをサポートしますが、Javaは追加のデータ型をサポートします。今のところ、両方のプログラミング言語でサポートされているいくつかの一般的なデータ型を使用しています-

タイプ キーワード このデータ型で表すことができる値の範囲
キャラクター char -128〜127または0〜255
int -32,768〜32,767または-2,147,483,648〜2,147,483,647
小さい数字 ショート -32,768〜32,767
長い数字 長いです -2,147,483,648から2,147,483,647
10進数 浮く 1.2E-38から3.4E + 38まで小数点以下6桁まで

これらのデータ型はプリミティブデータ型と呼ばれ、これらのデータ型を使用して、ユーザー定義データ型と呼ばれるより複雑なデータ型を作成できます。たとえば、文字列は文字のシーケンスになります。

Pythonデータ型

Pythonには5つの標準データ型がありますが、このプログラミング言語は特定のデータ型を指定するためにキーワードを使用しません。Pythonは、特定のデータ型を自動的に理解するのに十分インテリジェントです。

  • Numbers
  • String
  • List
  • Tuple
  • Dictionary

ここで、Numberは10進数を含むすべてのタイプの数値を指定し、stringは1文字以上の長さの文字のシーケンスを表します。とりあえず、これら2つのデータ型に進み、Pythonの高度なデータ型であるList、Tuple、Dictionaryをスキップしましょう。

変数は、コンピュータプログラムに値を格納するために使用されるコンピュータのメモリ位置に付ける名前です。

たとえば、プログラムに2つの値10と20を格納し、後の段階でこれら2つの値を使用するとします。あなたがそれをどのように行うか見てみましょう。次の3つの簡単な手順は次のとおりです-

  • 適切な名前で変数を作成します。
  • これらの2つの変数に値を格納します。
  • 変数から保存された値を取得して使用します。

変数の作成

変数の作成は、 declaring variablesCプログラミングで。プログラミング言語が異なれば、プログラム内で変数を作成する方法も異なります。たとえば、Cプログラミングには、変数を作成する次の簡単な方法があります。

#include <stdio.h>

int main() {
   int a;
   int b;
}

上記のプログラムは、名前で2つのメモリ位置を予約するために2つの変数を作成します a そして b。これらの変数は、int 変数を指定するキーワード data typeつまり、これら2つの変数に整数値を格納する必要があります。同様に、保存する変数を作成できますlongfloatcharまたはその他のデータ型。例-

/* variable to store long value */
long a;

/* variable to store float value */
float b;

次のように、1行にコンマで区切って、同様のタイプの変数を作成できます。

#include <stdio.h>

int main() {
   int a, b;
}

以下にリストされているのは、覚えておく必要のある変数に関する重要なポイントです。

  • 変数名は、単一のタイプの値を保持できます。たとえば、変数の場合a 定義されています int タイプすると、整数のみを格納できます。

  • Cプログラミング言語では、変数を作成する必要があります。つまり、プログラムで使用する前に宣言する必要があります。Pythonのようなプログラミング言語では変数名を作成せずに使用できますが、プログラムで変数名を作成せずに使用することはできません。

  • 変数名は、プログラム内で1回だけ使用できます。たとえば、変数の場合a 整数値を格納するように定義されているため、定義できません a 再度、他のタイプの値を格納します。

  • Python、PHP、Perlなどのプログラミング言語があり、変数の作成時にデータ型を指定する必要はありません。したがって、データ型を指定せずに、整数、浮動小数点数、または長整数を格納できます。

  • 次のような変数に任意の名前を付けることができます agesexsalaryyear1990またはあなたが与えたい他のものですが、ほとんどのプログラミング言語は変数名に限られた文字しか使用できません。今のところ、使用することをお勧めしますa....z, A....Z, 0....9 変数名に入力し、数字の代わりにアルファベットのみを使用して名前を開始します。

  • ほとんどのプログラミング言語では、変数名を数字で始めることはできません。 1990year 有効な変数名にはなりませんが、 year1990 または ye1990ar 有効な変数名です。

すべてのプログラミング言語は、変数に関連するより多くのルールを提供し、そのプログラミング言語の詳細を説明するときにそれらを学習します。

変数に値を格納する

前のセクションで変数を作成した方法を見てきました。それでは、これらの変数にいくつかの値を格納しましょう-

#include <stdio.h>

int main() {
   int a;
   int b;
   
   a = 10;
   b = 20;
}

上記のプログラムには、変数に10を格納する2つの追加ステートメントがあります。 a 20は変数に格納されています b。ほとんどすべてのプログラミング言語には、変数に値を格納する同様の方法があり、変数名を等号=の左側に保持し、変数に格納する値が何であれ、その値を右側に保持します。

これで2つのステップが完了しました。最初に、2つの変数を作成し、次にそれらの変数に必要な値を格納しました。可変になりましたa 値は10で、変数は b 値は20です。言い換えると、上記のプログラムが実行されると、 a 10とメモリ位置を保持します b 20を保持します。

変数に格納されている値にアクセスする

変数に格納されている値を使用しない場合、変数を作成して値を変数に格納しても意味がありません。上記のプログラムには2つの変数があることがわかっていますa そして bそして、それぞれ値10と20を格納します。それでは、これら2つの変数に格納されている値を出力してみましょう。以下は、変数に格納されている値を出力するCプログラムです-

#include <stdio.h>

int main() {
   int a;
   int b;
   
   a = 10;
   b = 20;
   
   printf( "Value of a = %d\n", a );
   printf( "Value of b = %d\n", b );
}

上記のプログラムを実行すると、次の結果が得られます。

Value of a = 10
Value of b = 20

あなたは見たに違いない printf()「Hello、World!」を印刷するために使用した前の章の関数。今回は、変数の値を出力するために使用しています。私たちは利用しています%d、printf()ステートメントで指定された変数の値に置き換えられます。次のように、単一のprintf()ステートメントを使用して両方の値を出力できます。

#include <stdio.h>

int main() {
   int a;
   int b;
   
   a = 10;
   b = 20;
   
   printf( "Value of a = %d and value of b = %d\n", a, b );
}

上記のプログラムを実行すると、次の結果が得られます。

Value of a = 10 and value of b = 20

使いたいなら float Cプログラミングの変数の場合、使用する必要があります %f の代わりに %d、および文字値を出力する場合は、を使用する必要があります %c。同様に、さまざまなデータ型をさまざまな%と文字を使用して印刷できます。

Javaの変数

以下は、Javaプログラミング言語で書かれた同等のプログラムです。このプログラムは2つの変数を作成しますa そして b Cプログラミングと非常によく似ており、これらの変数に10と20を割り当て、最後に2つの変数の値を2つの方法で出力します。

public class DemoJava {
   public static void main(String []args) {
      int a;
      int b;
   
      a = 10;
      b = 20;
   
      System.out.println("Value of a = " + a);
      System.out.println("Value of b = " + b);
      System.out.println("Value of a = " + a + " and value of b = " + b);     
   }
}

上記のプログラムを実行すると、次の結果が得られます。

Value of a = 10
Value of b = 20
Value of a = 10 and value of b = 20

Pythonの変数

以下は、Pythonで記述された同等のプログラムです。このプログラムは2つの変数を作成しますa そして b 同時に、これらの変数に10と20を割り当てます。

Pythonでは、変数の作成時にデータ型を指定する必要はなく、事前に変数を作成する必要はありません。

a = 10
b = 20
   
print "Value of a = ", a
print "Value of b = ", b
print "Value of a = ", a, " and value of b = ", b

上記のプログラムを実行すると、次の結果が得られます。

Value of a =  10
Value of b =  20
Value of a =  10  and value of b =  20

CおよびJavaプログラミングで次の構文を使用して、変数の宣言と値の割り当てを同時に行うことができます。

#include <stdio.h>

int main() {
   int a = 10;
   int b = 20;
   
   printf( "Value of a = %d and value of b = %d\n", a, b );
}

上記のプログラムを実行すると、次の結果が得られます。

Value of a = 10 and value of b = 20

これまで、変数とそのデータ型と呼ばれる2つの重要な概念について説明してきました。使い方を話し合いましたintlong、および floatさまざまなデータ型を指定します。また、さまざまな値を格納するために変数に名前を付ける方法も学びました。

予約キーワードは基本的なプログラミング構文の一部であるため、この章を個別に必要としませんが、理解しやすいように、データ型と変数の直後に説明するために個別に説明しました。

int、long、floatのように、Cプログラミング言語でサポートされている他の多くのキーワードがあり、さまざまな目的で使用します。プログラミング言語が異なれば、予約キーワードのセットも異なりますが、すべてのプログラミング言語には、予約キーワードを使用して変数に名前を付けることはできないという重要で共通のルールが1つあります。つまり、変数に次のような名前を付けることはできません。int または float むしろ、これらのキーワードは、変数のデータ型を指定するためにのみ使用できます。

たとえば、変数名の目的で予約済みのキーワードを使用しようとすると、構文エラーが発生します。

#include <stdio.h>

int main() {
   int float;
   float = 10;
   
   printf( "Value of float = %d\n", float);
}

上記のプログラムをコンパイルすると、次のエラーが発生します-

main.c: In function 'main':
main.c:5:8: error: two or more data types in declaration specifiers
   int float;
......

整数変数に適切な名前を付けましょう。そうすれば、上記のプログラムは正常にコンパイルおよび実行されます。

#include <stdio.h>

int main() {
   int count;
   count = 10;

   printf( "Value of count = %d\n", count);
}

Cプログラミング予約キーワード

これは、Cプログラミング言語でサポートされているほぼすべてのキーワードを含む表です。

自動 そうしないと 長いです スイッチ
ブレーク 列挙型 登録 typedef
場合 extern 戻る 連合
char 浮く ショート 署名なし
const にとって 署名 ボイド
継続する 後藤 のサイズ 揮発性
デフォルト もし 静的 一方
行う int 構造体 _Packed
ダブル

Javaプログラミング予約キーワード

これは、Javaプログラミング言語でサポートされているほぼすべてのキーワードを含む表です。

概要 主張する ブール値 ブレーク
バイト 場合 キャッチ char
クラス const 継続する デフォルト
行う ダブル そうしないと 列挙型
拡張します 最後の 最終的に 浮く
にとって 後藤 もし 実装
インポート instanceof int インターフェース
長いです ネイティブ 新着 パッケージ
民間 保護 公衆 戻る
ショート 静的 strictfp 素晴らしい
スイッチ 同期 この スロー
スロー 一時的 試してみてください ボイド
揮発性 一方

Pythonプログラミング予約キーワード

これは、Pythonプログラミング言語でサポートされているほぼすべてのキーワードを含む表です。

そして exec ない
主張する 最終的に または
ブレーク にとって パス
クラス から 印刷
継続する グローバル 上げる
def もし 戻る
デル インポート 試してみてください
エリフ 一方
そうしないと です
を除いて ラムダ 産出

これらすべてのキーワードを覚えることはできないことは承知していますが、参考のために、またその概念を説明するために、それらをリストアップしました。 reserved keywords。したがって、変数に名前を付けるときは注意してください。そのプログラミング言語に予約済みのキーワードを使用しないでください。

プログラミング言語の演算子は、特定の数学的、関係的、または論理的な操作を実行して最終結果を生成するようにコンパイラーまたはインタープリターに指示する記号です。この章では、の概念について説明します。operators また、C、Java、およびPythonで使用できる重要な算術演算子と関係演算子について説明します。

算術演算子

コンピュータプログラムは、数学計算に広く使用されています。我々は2つの数値(2 + 3)を添加するような単純な計算を行うことができ、我々はまた、Pのような複雑な式(X)= X解決することができるプログラム、書き込むことができるコンピュータプログラム書き込むことができる4 + 7× 3 5X + 9 - 。貧しい学生でさえある場合は、最初の式で2と3がオペランドであり、+が演算子であることに注意する必要があります。コンピュータプログラミングにも同様の概念があります。

次の2つの例を見てください-

2 + 3

P(x) = x4 + 7x3 - 5x + 9.

これらの2つのステートメントは、プログラミング言語では算術式と呼ばれ、 plusminusこれらの式で使用される値は算術演算子と呼ばれ、2、3、xなどのこれらの式で使用される値はオペランドと呼ばれます。最も単純な形式では、このような式は数値結果を生成します。

同様に、プログラミング言語はさまざまな算術演算子を提供します。次の表に、Cプログラミング言語で使用できる重要な算術演算子をいくつか示します。変数Aが10を保持し、変数Bが20を保持すると仮定すると、-

オペレーター 説明
+ 2つのオペランドを追加します A + Bは30を与えます
- 最初のオペランドから2番目のオペランドを減算します A-Bは-10を与えます
* 両方のオペランドを乗算します A * Bは200を与えます
/ 分子を分子で割る B / Aは2を与えます
これにより、整数除算の余りが得られます B%Aは0を与えます

以下は、上記の数学演算子を理解するためのCプログラミングの簡単な例です。

#include <stdio.h>

int main() {
   int a, b, c;
   
   a = 10;
   b = 20;
   
   c = a + b;   
   printf( "Value of c = %d\n", c);
   
   c = a - b;   
   printf( "Value of c = %d\n", c);
   
   c = a * b;   
   printf( "Value of c = %d\n", c);
   
   c = b / a;   
   printf( "Value of c = %d\n", c);
   
   c = b % a;   
   printf( "Value of c = %d\n", c);
}

上記のプログラムを実行すると、次の結果が得られます。

Value of c = 30
Value of c = -10
Value of c = 200
Value of c = 2
Value of c = 0

関係演算子

2つの変数を作成し、次のようにいくつかの値を割り当てる状況を考えてみます。

A = 20
B = 10

ここで、変数Aの値がBよりも大きいことは明らかです。したがって、リレーショナル式と呼ばれるそのような式を書くには、いくつかの記号の助けが必要です。Cプログラミング言語を使用する場合、次のように記述されます。

(A > B)

ここでは、記号>を使用しました。これは関係演算子と呼ばれ、最も単純な形式では、結果がtrueまたはfalseになることを意味するブール結果を生成します。同様に、プログラミング言語はさまざまな関係演算子を提供します。次の表に、Cプログラミング言語で使用できるいくつかの重要な関係演算子を示します。変数を想定A 10と変数を保持します B 20を保持し、次に−

オペレーター 説明
== 2つのオペランドの値が等しいかどうかをチェックし、等しい場合は条件が真になります。 (A == B)は真ではありません。
!= 2つのオペランドの値が等しいかどうかをチェックし、値が等しくない場合は条件が真になります。 (A!= B)は真です。
>> 左のオペランドの値が右のオペランドの値より大きいかどうかを確認します。大きい場合は、条件が真になります。 (A> B)は正しくありません。
< 左のオペランドの値が右のオペランドの値よりも小さいかどうかを確認します。小さい場合は、条件が真になります。 (A <B)は真です。
> = 左のオペランドの値が右のオペランドの値以上であるかどうかをチェックします。はいの場合、条件は真になります。 (A> = B)は正しくありません。
<= 左のオペランドの値が右のオペランドの値以下であるかどうかをチェックします。はいの場合、条件は真になります。 (A <= B)は真です。

ここでは、Cプログラミングを活用した一例を紹介します。 if conditional statement。このステートメントについては別の章で後で説明しますが、要するに、if statement 条件をチェックし、条件が真の場合、 if statement それ以外の場合は、 if statement スキップされます。

#include <stdio.h>

int main() {
   int a, b;
   
   a = 10;
   b = 20;
   
   /* Here we check whether a is equal to 10 or not */
   if( a == 10 ) {
	   
      /* if a is equal to 10 then this body will be executed */
      printf( "a is equal to 10\n");
   }
   
   /* Here we check whether b is equal to 10 or not */
   if( b == 10 ) {
	
      /* if b is equal to 10 then this body will be executed */
      printf( "b is equal to 10\n");
   }
   
   /* Here we check if a is less b than or not */
   if( a < b ) {
	
      /* if a is less than b then this body will be executed */
      printf( "a is less than b\n");
   }
   
   /* Here we check whether a and b are not equal */
   if( a != b ) {
	
      /* if a is not equal to b then this body will be executed */
      printf( "a is not equal to b\n");
   }
}

上記のプログラムを実行すると、次の結果が得られます。

a is equal to 10
a is less than b
a is not equal to b

論理演算子

論理演算子はどのプログラミング言語でも非常に重要であり、特定の条件に基づいて決定を下すのに役立ちます。2つの条件の結果を組み合わせたいとすると、論理ANDおよびOR論理演算子が最終結果の生成に役立ちます。

次の表は、C言語でサポートされているすべての論理演算子を示しています。変数を想定A 1と変数を保持します B 0を保持し、次に−

オペレーター 説明
&& 論理AND演算子と呼ばれます。両方のオペランドがゼロ以外の場合、条件は真になります。 (A && B)は誤りです。
|| 論理OR演算子と呼ばれます。2つのオペランドのいずれかがゼロ以外の場合、条件は真になります。 (A || B)は真です。
論理NOT演算子と呼ばれます。オペランドの論理状態を逆にするために使用します。条件がtrueの場合、LogicalNOT演算子はfalseになります。 !(A && B)は真です。

次の例を試して、Cプログラミング言語で使用可能なすべての論理演算子を理解してください。

#include <stdio.h>

int main() {
   int a = 1;
   int b = 0;

   if ( a && b ) {
	
      printf("This will never print because condition is false\n" );
   }
   if ( a || b ) {
	
      printf("This will be printed print because condition is true\n" );
   }
   if ( !(a && b) ) {
	
      printf("This will be printed print because condition is true\n" );
   }
}

上記のプログラムをコンパイルして実行すると、次の結果が得られます-

This will be printed print because condition is true
This will be printed print because condition is true

Javaの演算子

以下は、Javaで記述された同等のプログラムです。CプログラミングとJavaは、ほぼ同じ演算子と条件文のセットを提供します。このプログラムは2つの変数を作成しますa そして b、Cプログラミングと非常によく似ているので、これらの変数に10と20を割り当て、最後に、さまざまな算術演算子と関係演算子を使用します。

次のプログラムを実行して出力を確認できます。これは、上記の例で生成された結果と同じである必要があります。

public class DemoJava {
   public static void main(String []args) {
      int a, b, c;
   
      a = 10;
      b = 20;
   
      c = a + b;   
      System.out.println("Value of c = " + c );
   
      c = a - b;
      System.out.println("Value of c = " + c );
   
      c = a * b;   
      System.out.println("Value of c = " + c );
   
      c = b / a;   
      System.out.println("Value of c = " + c );
   
      c = b % a;   
      System.out.println("Value of c = " + c );
      
      if( a == 10 ) {
		
         System.out.println("a is equal to 10" );
      }
   }
}

上記のプログラムを実行すると、次の結果が得られます。

Value of c = 30
Value of c = -10
Value of c = 200
Value of c = 2
Value of c = 0
a is equal to 10

Pythonの演算子

以下は、Pythonで記述された同等のプログラムです。このプログラムは2つの変数を作成しますa そして b同時に、これらの変数に10と20を割り当てます。幸い、Cプログラミング言語とPythonプログラミング言語は、ほぼ同じ演算子のセットを提供します。このプログラムは2つの変数を作成しますa そして b、Cプログラミングと非常によく似ているので、これらの変数に10と20を割り当て、最後に、さまざまな算術演算子と関係演算子を使用します。

次のプログラムを実行して出力を確認できます。これは、上記の例で生成された結果と同じである必要があります。

a = 10
b = 20
   
c = a + b   
print "Value of c = ", c

c = a - b   
print "Value of c = ", c

c = a * b   
print "Value of c = ", c

c = a / b   
print "Value of c = ", c

c = a % b   
print "Value of c = ", c

if( a == 10 ):
   print "a is equal to 10"

上記のプログラムを実行すると、次の結果が得られます。

Value of c =  30
Value of c =  -10
Value of c =  200
Value of c =  0
Value of c =  10
a is equal to 10

意思決定は、コンピュータープログラミングにとって重要です。2つ以上のオプションが与えられ、与えられた条件に基づいてオプションを選択しなければならない状況はたくさんあります。たとえば、保護されたマークに基づいて、学生に関するコメントを印刷したいとします。以下は状況です-

Assume given marks are x for a student:

If given marks are more than 95, then
Student is brilliant

If given marks are less than 30, then
Student is poor

If given marks are less than 95 and more than 30, then
Student is average

さて、問題は、そのような状況を処理するためのプログラミングコードをどのように書くかです。ほとんどすべてのプログラミング言語は、次のフロー図に基づいて機能する条件文を提供します-

の助けを借りてCプログラムを書いてみましょう if conditional statements 上記の状況をプログラミングコードに変換する-

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
	
      printf( "Student is brilliant\n");
   }
   if( x < 30) {
	
      printf( "Student is poor\n");
   }
   if( x < 95 && x > 30 ) {
	
      printf( "Student is average\n");
   }
}

上記のプログラムを実行すると、次の結果が得られます。

Student is average

上記のプログラムは if conditional statements。ここで、最初のif statement指定された条件、つまり変数xが95より大きいかどうかをチェックし、条件が真であると判断した場合は、条件付き本体を入力して指定されたステートメントを実行します。ここでは、学生に関するコメントを出力するためのprintf()ステートメントが1つだけあります。

同様に、2番目 if statement動作します。最後に、3番目if statement が実行されると、ここでは次の2つの条件があります-

  • 最初の条件は x > 95

  • 2番目の条件は x < 30

コンピューターは指定された条件の両方を評価し、次に全体的な結果が二項演算子の助けを借りて結合されます &&。最終結果がtrueの場合、条件ステートメントが実行されます。それ以外の場合、ステートメントは実行されません。

このチュートリアルでは、さまざまな形式の基本的な考え方を説明します。 if statements との紹介 switchCプログラミング言語で利用可能なステートメント。プログラミング言語が異なれば、意思決定ステートメントの種類も異なりますが、基本的な概念は、このチュートリアルで説明したものと同じです。

if ... elseステートメント

アン if ステートメントの後にオプションを続けることができます elseブール式がfalseの場合に実行されるステートメント。の構文if...else Cプログラミング言語のステートメントは-

if(boolean_expression) {
   
   /* Statement(s) will execute if the boolean expression is true */
} else {
  
  /* Statement(s) will execute if the boolean expression is false */
}

上記の構文は、以下に示すようなフロー図の形式で表すことができます。

アン if...elseステートメントは、2つのオプションから決定を下す必要がある場合に役立ちます。たとえば、学生が95を超える点数を確保した場合、その学生は優秀です。そうでない場合、次のようにそのような状況をコーディングすることはできません。

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
	
      printf( "Student is brilliant\n");
   } else {
      printf( "Student is not brilliant\n");
   }
}

上記のプログラムを実行すると、次の結果が得られます。

Student is not brilliant

if ... elseif ... elseステートメント

アン if ステートメントの後にオプションを続けることができます else if...else さまざまな条件をテストするのに非常に役立つステートメント。

使用中 if, else if, else ステートメント、覚えておくべきいくつかのポイントがあります-

  • アン if ゼロまたは1にすることができます else's そしてそれは後に来なければなりません else if

  • アン if ゼロから多数まで持つことができます else…if's そして彼らは前に来なければなりません else

  • 一度 else…if 成功し、残りのどれも else…if's または else's テストされます。

の構文 if...else if...else Cプログラミング言語のステートメントは-

if(boolean_expression 1) {

   /* Executes when the boolean expression 1 is true */
}
else if( boolean_expression 2) {

   /* Executes when the boolean expression 2 is true */
}
else if( boolean_expression 3) {

   /* Executes when the boolean expression 3 is true */
} else {
   
   /* Executes when the none of the above condition is true */
}

今の助けを借りて if...elseif...else ステートメントでは、最初のプログラムは次のようにコーディングできます-

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
      printf( "Student is brilliant\n");
   } 
   else if( x < 30) {
      printf( "Student is poor\n");
   } 
   else if( x < 95 && x > 30 ) {
      printf( "Student is average\n");
   }
}

上記のプログラムを実行すると、次の結果が得られます。

Student is average

Switchステートメント

A switch ステートメントはの代替です if statementsこれにより、値のリストに対して変数が等しいかどうかをテストできます。各値はと呼ばれますcase、およびスイッチがオンになっている変数は、スイッチケースごとにチェックされます。次の構文があります-

switch(expression){
   case ONE :
      statement(s);
      break;
   case TWO:
      statement(s);
      break;
   ......
   
   default :
      statement(s);
}

ザ・ expression で使用される switchステートメントは整数値を指定する必要があります。整数値は、指定されたさまざまなケースと等しいかどうかが比較されます。式の値がケースの値と一致する場合は常に、そのケースの本体が実行され、最後に、を使用してスイッチが終了します。breakステートメント。breakステートメントが指定されていない場合、コンピューターは、一致したケースに対して以下で使用可能な他のステートメントを実行し続けます。いずれのケースも一致しない場合は、デフォルトのケース本体が実行されます。

上記の構文は、以下に示すようなフロー図の形式で表すことができます。

ここで、特定の数に相当する英語の単語を書きたい別の例を考えてみましょう。次に、次のようにコーディングできます-

#include <stdio.h>

int main() {
   int x = 2;
   
   switch( x ){
      case 1 :
         printf( "One\n");
         break;
      case 2 :
         printf( "Two\n");
         break;
      case 3 :
         printf( "Three\n");
         break;
      case 4 :
         printf( "Four\n");
         break;
      default :
         printf( "None of the above...\n");
   }
}

上記のプログラムを実行すると、次の結果が得られます。

Two

Javaでの決定

以下は、Javaで記述された同等のプログラムであり、これもサポートしています。 ifif...elseif...elseif...else、および switch ステートメント。

次のプログラムを実行して出力を確認できます。これは、上記のCの例で生成された結果と同じである必要があります。

public class DemoJava {
   public static void main(String []args) {
      int x = 45;
   
      if( x > 95) {
         System.out.println( "Student is brilliant");
      } 
      else if( x < 30) {
         System.out.println( "Student is poor");
      } 
      else if( x < 95 && x > 30 ) {
         System.out.println( "Student is average");
      }
   }
}

上記のプログラムを実行すると、次の結果が得られます。

Student is average

Pythonでの決定

以下は、Pythonで記述された同等のプログラムです。Pythonは提供しますifif...elseif...elif...else、および switchステートメント。ここで、Pythonは条件付き本体に中括弧を使用せず、代わりにステートメントのインデントを使用してブロックの本体を識別することに注意する必要があります。

次のプログラムを実行して、出力を確認できます-

x = 45

if x > 95:
   print "Student is brilliant"
elif x < 30:
   print "Student is poor"
elif x < 95 and x > 30:
   print "Student is average"

print "The end"

上記のプログラムを実行すると、次の結果が得られます。

Student is average
The end

印刷したいときの状況を考えてみましょう Hello, World!五回。これは同じことをする簡単なCプログラムです-

#include <stdio.h>

int main() {
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
}

上記のプログラムを実行すると、次の結果が得られます。

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

簡単でしたが、書きたいときに別の状況を考えてみましょう Hello, World!千回。確かに、printf()ステートメントを1000回書くことはできません。ほとんどすべてのプログラミング言語は、と呼ばれる概念を提供しますloop、これは、1つ以上のステートメントを必要な回数まで実行するのに役立ちます。すべての高級プログラミング言語は、1つ以上のステートメントを繰り返し実行するために使用できるさまざまな形式のループを提供します。

の助けを借りて上記のCプログラムを書いてみましょう while loop 後で、このループがどのように機能するかについて説明します

#include <stdio.h>

int main() {
   int i = 0;
   
   while ( i < 5 ) {
      printf( "Hello, World!\n");
      i = i + 1;
   }
}

上記のプログラムを実行すると、次の結果が得られます。

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

上記のプログラムは、 while loop、{....}で囲まれたプログラミングステートメントのセットを実行するために使用されています。ここで、コンピュータは最初に指定された条件、つまり変数「a」が5未満であるかどうかをチェックし、条件が真であると判断した場合は、ループ本体に入り、指定されたステートメントを実行します。ここでは、ループ本体に次の2つのステートメントがあります-

  • 最初のステートメントは、Hello World!を出力するprintf()関数です。

  • 2番目のステートメントはi = i + 1であり、変数の値を増やすために使用されますi

ループ本体で指定されたすべてのステートメントを実行した後、コンピューターはwhile(i <5)に戻り、指定された条件(i <5)が再度チェックされ、条件が真の場合はループが再度実行されます。このプロセスは、指定された条件が真のままになるまで繰り返されます。つまり、変数「a」の値は5未満です。

結論として、ループステートメントを使用すると、ステートメントまたはステートメントのグループを複数回実行できます。以下に示すのは、ほとんどのプログラミング言語でのループステートメントの一般的な形式です。

このチュートリアルは、プログラミングの基本概念をプログラマー以外の人に提示するように設計されているため、Cプログラミング言語で使用できる2つの最も重要なループについて説明します。これらの2つのループについて明確になったら、Cプログラミングチュートリアルまたはリファレンスブックを入手して、Cで使用可能な他のループとその動作を確認できます。

whileループ

A while loop Cプログラミング言語で利用可能な構文は次のとおりです-

while ( condition ) {
   /*....while loop body ....*/
}

上記のコードは、以下に示すようなフロー図の形式で表すことができます。

whileループについては、次の重要な点に注意してください。

  • whileループはキーワードで始まります while 続いて condition ()で囲まれています。

  • while()ステートメントに加えて、ループの本体を中括弧で囲みます。 {...}

  • whileループ本体には、繰り返し実行される1行以上のソースコードを含めることができます。

  • whileループの本体に1行しかない場合は、中括弧を使用するオプションがあります {...}

  • whileループは、指定されたまで本体を実行し続けます condition当てはまります。条件がfalseになるとすぐに、whileループが出て、whileループ本体の直後の次のステートメントから実行を継続します。

  • 条件は通常、真または偽のいずれかに評価されるリレーショナルステートメントです。ゼロに等しい値はfalseとして扱われ、ゼロ以外の値はすべてtrueのように機能します。

do ... whileループ

whileループは、本体部分で指定されたステートメントを実行する前に、指定された条件をチェックします。Cプログラミングは、と呼ばれる別の形式のループを提供しますdo...whileこれにより、特定の条件をチェックする前にループ本体を実行できます。次の構文があります-

do {
   /*....do...while loop body ....*/
} 
while ( condition );

上記のコードは、以下に示すようなフロー図の形式で表すことができます。

上記の例を使用して書く場合 do...while ループしてから Hello, World 同じ結果が生成されます-

#include <stdio.h>

int main() {
   int i = 0;
   
   do {
      printf( "Hello, World!\n");
      i = i + 1;
   }
   while ( i < 5 );
}

上記のプログラムを実行すると、次の結果が得られます。

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

ブレークステートメント

いつ breakステートメントがループ内で検出されると、ループはすぐに終了し、プログラム制御はループに続く次のステートメントで再開されます。の構文break Cのステートメントは次のとおりです-

break;

A break ステートメントは、以下に示すようなフロー図の形式で表すことができます。

以下は上記のプログラムの変形ですが、Hello World!を印刷した後に出てきます。たった3回-

#include <stdio.h>

int main() {
   int i = 0;
   do {
      printf( "Hello, World!\n");
      i = i + 1;
      
      if( i == 3 ) {
         break;
      }
   }
   while ( i < 5 );
}

上記のプログラムを実行すると、次の結果が得られます。

Hello, World!
Hello, World!
Hello, World!

継続ステートメント

ザ・ continue Cプログラミング言語のステートメントは、 breakステートメント。強制終了の代わりに、continueループの次の反復を強制的に実行し、その間のコードをスキップします。の構文continue Cのステートメントは次のとおりです-

continue;

A continue ステートメントは、以下に示すようなフロー図の形式で表すことができます。

以下は上記のプログラムの変形ですが、変数の値が3 −の場合、印刷をスキップします。

#include <stdio.h>

int main() {
   int i = 0;
   do {
      if( i == 3 ) {
         i = i + 1;
         continue;
      }
      printf( "Hello, World!\n");
      i = i + 1;
   }
   while ( i < 5 );
}

上記のプログラムを実行すると、次の結果が得られます。

Hello, World!
Hello, World!
Hello, World!
Hello, World!

Javaでのループ

以下は、Javaで記述された同等のプログラムであり、これもサポートしています。 while そして do...whileループ。次のプログラムはHello, World! Cプログラミングの場合の5倍-

次のプログラムを実行して出力を確認できます。これは、上記の例で生成された結果と同じである必要があります。

public class DemoJava {
   public static void main(String []args) {
      int i = 0;
   
      while ( i < 5 ) {
         System.out.println("Hello, World!");
         i = i + 1;
      }
   }
}

ザ・ break そして continue Javaプログラミングのステートメントは、Cプログラミングのステートメントとまったく同じように機能します。

Pythonのループ

以下は、Pythonで記述された同等のプログラムです。Pythonもサポートしていますwhile そして do...whileループ。次のプログラムはHello, World!Cプログラミングの場合の5倍。ここで、Pythonはループ本体に中括弧を使用せず、代わりにステートメントのインデントを使用してループの本体を識別することに注意する必要があります。

次のプログラムを実行して、出力を確認できます。違いを示すために、ループが終了したときに実行されるもう1つのprintステートメントを使用しました。

i = 0

while (i < 5):
   print "Hello, World!"
   i = i + 1
print "Loop ends"

上記のプログラムを実行すると、次の結果が得られます。

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Loop ends

ザ・ break そして continue Pythonのステートメントは、Cプログラミングの場合とまったく同じように機能します。

すべてのプログラミング言語は、単純な整数や浮動小数点数など、さまざまな種類の数値を操作するためのサポートを提供します。C、Java、およびPythonは、これらの数値をその性質に基づいていくつかのカテゴリに分類します。

戻ってデータ型の章を確認しましょう。ここでは、数値に関連するコアデータ型をリストしました-

タイプ キーワード このデータ型で表すことができる値の範囲
int -32,768〜32,767または-2,147,483,648〜2,147,483,647
小さい数字 ショート -32,768〜32,767
長い数字 長いです -2,147,483,648から2,147,483,647
10進数 浮く 1.2E-38から3.4E + 38まで小数点以下6桁まで

これらのデータ型はプリミティブデータ型と呼ばれ、これらのデータ型を使用して、ユーザー定義データ型と呼ばれるより多くのデータ型を作成できます。

演算子についての議論の中で、数に対するさまざまな数学的および論理的演算を見てきました。したがって、数値の加算、減算、数値の除算などの方法を知っています。

まず、Cプログラミング言語で利用できるさまざまな種類の数字を印刷する方法を見てみましょう-

#include <stdio.h>

int main() {
   short  s;
   int    i;
   long   l;
   float  f;
   double d;

   s = 10;
   i = 1000;
   l = 1000000;
   f = 230.47;
   d = 30949.374;

   printf( "s: %d\n", s);
   printf( "i: %d\n", i);
   printf( "l: %ld\n", l);
   printf( "f: %.3f\n", f);
   printf( "d: %.3f\n", d);
}

残りのコーディングは非常に明白ですが、 %.3ffloatとdoubleを印刷します。これは、印刷する小数点以下の桁数を示します。上記のプログラムを実行すると、次の結果が得られます。

s: 10
i: 1000
l: 1000000
f: 230.470
d: 30949.374

数の数学演算

次の表に、さまざまな便利な組み込み数学を示します。 functions さまざまな重要な数学的計算に使用できるCプログラミング言語で利用できます。

たとえば、2304などの数値の平方根を計算する場合は、平方根を計算するために使用できる組み込み関数があります。

シニア番号 機能と目的
1

double cos(double);

この関数は角度を取り(doubleとして)、コサインを返します。

2

double sin(double);

この関数は角度を取り(doubleとして)、正弦を返します。

3

ダブルタン(ダブル);

この関数は角度を取り(doubleとして)、接線を返します。

4

double log(double);

この関数は数値を受け取り、その数値の自然対数を返します。

5

double pow(double, double);

最初はあなたが上げたい数であり、2番目はあなたがそれを上げたい力です。

6

double hypot(double, double);

この関数を直角三角形の2つの辺の長さに渡すと、斜辺の長さが返されます。

7

double sqrt(double);

この関数に数値を渡すと、平方根が返されます。

8

int abs(int);

この関数は、渡された整数の絶対値を返します。

9

double fabs(double);

この関数は、渡された10進数の絶対値を返します。

10

double floor(double);

渡された引数以下の整数を検索します。

以下は、いくつかの数学演算を示す簡単な例です。これらの関数を利用するには、数学ヘッダーファイルをインクルードする必要があります<math.h> あなたが含めたのと同じ方法であなたのプログラムに stdio.h

#include <stdio.h>
#include <math.h>

int main() {
   short  s;
   int    i;
   long   l;
   float  f;
   double d;

   printf( "sin(s): %f\n", sin(10));
   printf( "abs(i): %f\n", abs(1000));
   printf( "floor(f): %f\n", floor(230.47));
   printf( "sqrt(l): %f\n", sqrt(1000000));
   printf( "pow(d, 2): %f\n", pow(2.374, 2));
}

上記のプログラムを実行すると、次の結果が得られます。

sin(s): -0.544021
abs(i): -0.544021
floor(f): 230.000000
sqrt(l): 1000.000000
pow(d, 2): 5.635876

上記の使用法に加えて、Cプログラミングでは、ループカウント、フラグ表現、真または偽の値で数値を使用します。

Javaの数値

以下は、Javaで記述された同等のプログラムです。Javaは、Cプログラミングで使用可能なほぼすべての数値データ型を提供します。

次のプログラムを実行して、上記のCの例で生成された結果と同じ出力を確認できます。

public class DemoJava {
   public static void main(String []args) {
      short  s;
      int    i;
      long   l;
      float  f;
      double d;

      s = 10;
      i = 1000;
      l = 1000000L;
      f = 230.47f;
      d = 30949.374;

      System.out.format( "s: %d\n", s);
      System.out.format( "i: %d\n", i);
      System.out.format( "l: %d\n", l);
      System.out.format( "f: %f\n", f);
      System.out.format( "d: %f\n", d);
   }
}

上記のプログラムを実行すると、次の結果が得られます。

s: 10
i: 1000
l: 1000000
f: 230.470001
d: 30949.374000

Javaには、数学計算用のさまざまな組み込み関数も用意されており、Cプログラミングの場合と同じように使用できます。

Pythonの数値

PythonはCやJavaとは少し異なります。それは数を分類しますintlongfloat そして complex。Pythonの数値の例を次に示します-

int 長いです 浮く 繁雑
10 51924361L 0.0 3.14j
100 -0x19323L 15.20 45.j
-786 0122L -21.9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32.3 + e18 .876j
-0490 535633629843L -90。 -.6545 + 0J
-0x260 -052318172735L -32.54e100 3e + 26J
0x69 -4721885298529L 70.2-E12 4.53e-7j

以下はPythonで書かれた同等のプログラムです-

s = 10
i = 1000
l = 1000000
f = 230.47
d = 30949.374

print "s: ", s
print "i: ", i
print "l: ", l
print "f: ", f
print "d: ", d

上記のプログラムを実行すると、次の結果が得られます。

s:  10
i:  1000
l:  1000000
f:  230.47
d:  30949.374

Pythonには、数学計算用のさまざまな組み込み関数も用意されており、Cプログラミングで使用したのと同じように使用できます。

コンピュータプログラミングで数字を扱うのが簡単であれば、文字を扱うのはさらに簡単でしょう。文字は、a、b、c、d ....、A、B、C、D、.....のような単純なアルファベットですが、例外があります。コンピュータプログラミングでは、0、1、2、...などの1桁の数字や、$、%、+、-...などの特殊文字も文字として扱われ、文字タイプで割り当てられます。変数、あなたは単にそれらを中に入れる必要がありますsingle quotes。たとえば、次のステートメントは文字タイプ変数を定義しますch そしてそれに値 'a'を割り当てます-

char ch = 'a';

ここに、 ch は、実装の文字セットの文字を保持できる文字タイプの変数であり、 'a' と呼ばれます character literalまたは文字定数。a、b、c、....だけでなく、1、2、3 ....などの任意の数字、または!、@、#、#、$、....などの特殊文字が一重引用符で囲まれている場合の場合、それらは文字リテラルとして扱われ、文字タイプの変数に割り当てることができるため、以下は有効なステートメントです-

char ch = '1';

文字データ型は8ビットのメモリを消費します。つまり、ASCII値が-127〜127の間にある文字に何でも格納できるため、256の異なる値のいずれかを保持できます。文字データ型には、!、@、#、#、$、%、^、&、*、(、)、_、+、{、}などの特殊文字を含むキーボードで使用可能な任意の文字を格納できます。

一重引用符内に保持できるアルファベットまたは数字は1つだけであり、一重引用符内に複数のアルファベットまたは数字を含めることはできません。したがって、次のステートメントはCプログラミングでは無効です-

char ch1 = 'ab';
char ch2 = '10';

以下に示すのは、Cプログラミング言語で文字を定義、割り当て、および印刷する方法を示す簡単な例です。

#include <stdio.h>

int main() {
   char  ch1;
   char  ch2;
   char  ch3;
   char  ch4;
   
   ch1 = 'a';      
   ch2 = '1';
   ch3 = '$';
   ch4 = '+';  

   printf( "ch1: %c\n", ch1);
   printf( "ch2: %c\n", ch2);
   printf( "ch3: %c\n", ch3);
   printf( "ch4: %c\n", ch4);
}

ここでは、%cを使用して文字データ型を出力しました。上記のプログラムを実行すると、次の結果が得られます。

ch1: a
ch2: 1
ch3: $
ch4: +

エスケープシーケンス

多くのプログラミング言語は、と呼ばれる概念をサポートしています Escape Sequence。文字の前に円記号(\)が付いている場合、それはエスケープシーケンスと呼ばれ、コンパイラーにとって特別な意味を持ちます。たとえば、次のステートメントの\ nは有効な文字であり、改行文字と呼ばれます-

char ch = '\n';

ここで、キャラクター nバックスラッシュ(\)が前に付いている場合、改行である特別な意味がありますが、バックスラッシュ(\)は数文字のみの特別な意味があることに注意してください。次のステートメントは、Cプログラミングでは意味を伝えず、無効なステートメントと見なされます-

char ch = '\1';

次の表に、Cプログラミング言語で使用できるエスケープシーケンスを示します。

エスケープシーケンス 説明
\ t この時点でテキストにタブを挿入します。
\ b この時点でテキストにバックスペースを挿入します。
\ n この時点でテキストに改行を挿入します。
\ r この時点で、テキストにキャリッジリターンを挿入します。
\ f この時点でテキストにフォームフィードを挿入します。
\ ' この時点で、テキストに一重引用符を挿入します。
\ " この時点で、テキストに二重引用符を挿入します。
\\ この時点で、テキストに円記号を挿入します。

次の例は、コンパイラがprintステートメントのエスケープシーケンスをどのように解釈するかを示しています。

#include <stdio.h>

int main() {
   char  ch1;
   char  ch2;
   char  ch3;
   char  ch4;
   
   ch1 = '\t';      
   ch2 = '\n';

   printf( "Test for tabspace %c and a newline %c will start here", ch1, ch2);
}

上記のプログラムを実行すると、次の結果が得られます。

Test for tabspace     and a newline 
will start here

Javaの文字

以下は、Javaで記述された同等のプログラムです。Javaは、Cプログラミングで見たのとほとんど同じ方法で文字データ型を処理します。ただし、Javaは文字操作の追加サポートを提供します。

次のプログラムを実行して出力を確認できます。これは、上記のCの例で生成された結果と同じである必要があります。

public class DemoJava {
   public static void main(String []args) {
      char  ch1;
      char  ch2;
      char  ch3;
      char  ch4;
   
      ch1 = 'a';      
      ch2 = '1';
      ch3 = '$';
      ch4 = '+';  

      System.out.format( "ch1: %c\n", ch1);
      System.out.format( "ch2: %c\n", ch2);
      System.out.format( "ch3: %c\n", ch3);
      System.out.format( "ch4: %c\n", ch4);
   }
}

上記のプログラムを実行すると、次の結果が得られます。

ch1:  a
ch2:  1
ch3:  $
ch4:  +

Javaは、Cプログラミングで使用したのと同じ方法でエスケープシーケンスもサポートします。

Pythonの文字

Pythonは文字データ型をサポートしていませんが、すべての文字は文字列である文字列として扱われます。別の章で文字列について学習します。Pythonで単一の文字を使用する場合、特別な配置は必要ありません。

以下はPythonで書かれた同等のプログラムです-

ch1 = 'a';      
ch2 = '1';
ch3 = '$';
ch4 = '+'; 

print "ch1: ", ch1
print "ch2: ", ch2
print "ch3: ", ch3
print "ch4: ", ch4

上記のプログラムを実行すると、次の結果が得られます。

ch1:  a
ch2:  1
ch3:  $
ch4:  +

Pythonは、Cプログラミングで使用したのと同じ方法でエスケープシーケンスをサポートします。

5つの整数を格納する必要がある状況を考えてみましょう。プログラミングの単純な変数とデータ型の概念を使用する場合、次の5つの変数が必要です。int データ型とプログラムは次のようになります-

#include <stdio.h>

int main() {
   int number1;
   int number2;
   int number3;
   int number4;
   int number5;
   
   number1 = 10;      
   number2 = 20;   
   number3 = 30;   
   number4 = 40; 
   number5 = 50;     

   printf( "number1: %d\n", number1);
   printf( "number2: %d\n", number2);
   printf( "number3: %d\n", number3);
   printf( "number4: %d\n", number4);
   printf( "number5: %d\n", number5);
}

5つの整数だけを格納する必要があるため、簡単でした。ここで、5000個の整数を格納する必要があると仮定しましょう。5000個の変数を使用しますか?

このような状況に対処するために、ほとんどすべてのプログラミング言語は、 array。配列はデータ構造であり、同じデータ型の要素の固定サイズのコレクションを格納できます。配列はデータのコレクションを格納するために使用されますが、配列を同じタイプの変数のコレクションと考える方が便利な場合がよくあります。

number1、number2、...、number99などの個々の変数を宣言する代わりに、1つの配列変数を宣言するだけです。 number整数型であり、number1 [0]、number1 [1]、および...、number1 [99]を使用して個々の変数を表します。ここで、0、1、2、..... 99はindex と関連した var 変数であり、配列で使用可能な個々の要素を表すために使用されています。

すべてのアレイは、連続したメモリ位置で構成されています。最小アドレスは最初の要素に対応し、最大アドレスは最後の要素に対応します。

配列を作成する

Cで配列変数を作成するために、プログラマーは要素のタイプとその配列に格納される要素の数を指定します。以下に示すのは、Cプログラミングで配列を作成するための簡単な構文です。

type arrayName [ arraySize ];

これは一次元配列と呼ばれます。ザ・arraySize ゼロより大きい整数定数である必要があり、 type任意の有効なCデータ型にすることができます。たとえば、次のような10要素の配列を宣言します。number タイプの int、このステートメントを使用します-

int number[10];

ここで、numberは可変配列であり、最大10個の整数を保持するのに十分です。

配列の初期化

Cの配列は、次のように1つずつ、または1つのステートメントを使用して初期化できます。

int number[5] = {10, 20, 30, 40, 50};

中括弧{}の間の値の数は、角括弧[]の間の配列に対して宣言する要素の数より大きくすることはできません。

配列のサイズを省略すると、初期化を保持するのに十分な大きさの配列が作成されます。したがって、あなたが書く場合-

int number[] = {10, 20, 30, 40, 50};

前の例で行ったのとまったく同じ配列を作成します。以下は、配列の単一の要素を割り当てる例です。

number[4] = 50;

上記のステートメントは、50の値で配列の5番目の要素番号を割り当てます。すべての配列は、ベースインデックスとも呼ばれる最初の要素のインデックスとして0を持ち、配列の最後のインデックスは、配列の合計サイズからマイナスになります。 1.次の画像は、上記で説明したアレイの図解を示しています。

配列要素へのアクセス

要素には、配列名にインデックスを付けることでアクセスします。これは、配列名の後に角括弧内に要素のインデックスを配置することによって行われます。例-

int var = number[9];

上記のステートメントは、配列から10番目の要素を取得し、値をに割り当てます。 var変数。次の例では、上記の3つの概念すべてを使用しています。配列の作成、割り当て、およびアクセス-

#include <stdio.h>
 
int main () {
   int number[10]; /* number is an array of 10 integers */
   int i = 0;
 
   /* Initialize elements of array n to 0 */         
   while( i < 10 ) {
	
      /* Set element at location i to i + 100 */
      number[ i ] = i + 100;
      i = i + 1;
   }
   
   /* Output each array element's value */
   i = 0;
   while( i < 10 ) {
	
      printf("number[%d] = %d\n", i, number[i] );
      i = i + 1;
   }
   
   return 0;
}

上記のコードをコンパイルして実行すると、次の結果が得られます。

number[0] = 100
number[1] = 101
number[2] = 102
number[3] = 103
number[4] = 104
number[5] = 105
number[6] = 106
number[7] = 107
number[8] = 108
number[9] = 109

Javaの配列

以下は、Javaで記述された同等のプログラムです。Javaは配列をサポートしていますが、Javaで配列を作成する方法には少し違いがあります。new オペレーター。

次のプログラムを実行して出力を確認できます。これは、上記のCの例で生成された結果と同じである必要があります。

public class DemoJava {
   public static void main(String []args) {
      int[] number = new int[10];
      int i = 0;
      
      while( i < 10 ) {
		
         number[ i ] = i + 100;
         i = i + 1;
      }

      i = 0;
      while( i < 10 ) {
         System.out.format( "number[%d] = %d\n", i, number[i] );
         i = i + 1;
      }
   }
}

上記のプログラムを実行すると、次の結果が得られます。

number[0] = 100
number[1] = 101
number[2] = 102
number[3] = 103
number[4] = 104
number[5] = 105
number[6] = 106
number[7] = 107
number[8] = 108
number[9] = 109

Pythonの配列(リスト)

Pythonには配列の概念がありませんが、代わりにPythonはと呼ばれる別のデータ構造を提供します list、他の言語の配列と同様の機能を提供します。

以下はPythonで書かれた同等のプログラムです-

# Following defines an empty list.
number = []
i = 0

while i < 10:
   # Appending elements in the list
   number.append(i + 100)
   i = i + 1

i = 0
while i < 10:
   # Accessing elements from the list
   print "number[", i,  "] = ", number[ i ]
   i = i + 1

上記のプログラムを実行すると、次の結果が得られます。

number[ 0 ] =  100
number[ 1 ] =  101
number[ 2 ] =  102
number[ 3 ] =  103
number[ 4 ] =  104
number[ 5 ] =  105
number[ 6 ] =  106
number[ 7 ] =  107
number[ 8 ] =  108
number[ 9 ] =  109

についての議論の間に characters、文字データ型は単一の文字を扱い、キーボードから任意の文字を文字型変数に割り当てることができることを学びました。

それでは、少し先に進んで、変数に複数の文字を格納する必要がある状況を考えてみましょう。Cプログラミングでは、文字タイプ変数に複数の文字を格納できないことを確認しました。したがって、次のステートメントはCプログラミングでは無効であり、構文エラーが発生します-

char ch1 = 'ab';
char ch2 = '10';

また、の概念の使用方法を見てきました arrays類似のデータ型の複数の値を変数に格納します。これは、int型の配列に5つの数値を格納して出力するための構文です。

#include <stdio.h>

main() {
   int number[5] = {10, 20, 30, 40, 50};
   int i = 0;
        
   while( i < 5 ) {
      printf("number[%d] = %d\n", i, number[i] );
      i = i + 1;
   }
}

上記のコードをコンパイルして実行すると、次の結果が得られます。

number[0] = 10
number[1] = 20
number[2] = 30
number[3] = 40
number[4] = 50

それでは、数字の場合と同じ方法で5文字の配列を定義し、それらを出力してみましょう。

#include <stdio.h>

main() {
   char ch[5] = {'H', 'e', 'l', 'l', 'o'};
   int i = 0;
        
   while( i < 5 ) {
      printf("ch[%d] = %c\n", i, ch[i] );
      i = i + 1;
   }
}

ここでは、%cを使用して文字値を出力しました。上記のコードをコンパイルして実行すると、次の結果が得られます。

ch[0] = H
ch[1] = e
ch[2] = l
ch[3] = l
ch[4] = o

上記の例が終わったら、Cプログラミングで文字列がどのように機能するかを理解したと思います。 strings in C are represented as arrays of characters。Cプログラミングにより、文字列の割り当てと印刷が簡素化されました。簡略化した構文で同じ例をもう一度確認してみましょう-

#include <stdio.h>

main() {
   char ch[5] = "Hello";
   int i = 0;
    
   /* Print as a complete string */
   printf("String = %s\n", ch);  

   /* Print character by character */
   while( i < 5 ) {
      printf("ch[%d] = %c\n", i, ch[i] );
      i = i + 1;
   }
}

ここでは、%sを使用して、配列名を使用して完全な文字列値を出力しました ch、これは実際にはメモリアドレス保持の始まりです ch 以下に示す変数-

上記の例からはわかりませんが、Cプログラムは内部的にヌル文字を割り当てます '\0'すべての文字列の最後の文字として。これは文字列の終わりを示し、5文字の文字列を配列に格納する場合は、Cが文句を言わないものの、配列サイズ6を適切な方法として定義する必要があることを意味します。

上記のコードをコンパイルして実行すると、次の結果が得られます。

String = Hello
ch[0] = H
ch[1] = e
ch[2] = l
ch[3] = l
ch[4] = o

基本的な文字列の概念

上記の議論に基づいて、Cプログラミング言語の文字列に関する次の重要なポイントを結論付けることができます-

  • Cの文字列は、文字の配列として表されます。

  • 文字ごとに文字の配列に割り当てることにより、Cプログラミングで文字列を構成できます。

  • 二重引用符で囲まれた完全な文字列を割り当てることにより、Cプログラミングで文字列を構成できます。

  • 配列の添え字を使用して文字ごとに文字列を印刷することも、添え字なしの配列名を使用して完全な文字列を印刷することもできます。

  • すべての文字列の最後の文字はヌル文字です。つまり、 ‘\0’

  • ほとんどのプログラミング言語には、文字列を操作するための組み込み関数が用意されています。つまり、文字列を連結したり、文字列から検索したり、文字列からサブ文字列を抽出したりできます。詳細については、次の詳細なチュートリアルを確認してください。 Cプログラミングまたはその他のプログラミング言語。

Javaの文字列

文字配列を使用して文字列を格納できますが、Javaは高度なプログラミング言語であり、その設計者は追加機能を提供しようとしました。Javaは、他のデータ型と同様に、組み込みデータ型として文字列を提供します。これは、文字列を文字の配列として定義するのではなく、直接定義できることを意味します。

以下は、Javaで記述された同等のプログラムです。Javaはを利用しますnew 次のプログラムに示すように、文字列変数を作成する演算子。

次のプログラムを実行して、出力を確認できます-

public class DemoJava {
   public static void main(String []args) {
      String str = new String("Hello");  
      System.out.println( "String = " + str );
   }
}

上記のプログラムを実行すると、次の結果が得られます。

String = Hello

Pythonの文字列

Pythonで文字列を作成するのは、一重引用符または二重引用符を使用して文字列をPython変数に割り当てるのと同じくらい簡単です。

以下に示すのは、2つの文字列を作成し、print()関数を使用してそれらを出力する単純なプログラムです。

var1 = 'Hello World!'
var2 = "Python Programming"

print "var1 = ", var1
print "var2 = ", var2

上記のプログラムを実行すると、次の結果が得られます。

var1 =  Hello World!
var2 =  Python Programming

Pythonは文字タイプをサポートしていません。これらは長さ1の文字列として扱われるため、部分文字列とも見なされます。

部分文字列にアクセスするには、1つまたは複数のインデックスとともにスライスするための角括弧を使用して、部分文字列を取得します。次のコードセグメントを見てください-

var1 = 'Hello World!'
var2 = "Python Programming"

print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]

上記のコードを実行すると、次の結果が得られます。

var1[0]:  H
var2[1:5]:  ytho

関数は、単一の関連するアクションを実行するために使用される、整理された再利用可能なコードのブロックです。関数は、アプリケーションのモジュール性を高め、コードを高度に再利用します。あなたはすでに次のようなさまざまな機能を見てきましたprintf() そして main()。これらは言語自体によって提供される組み込み関数と呼ばれますが、独自の関数を作成することもできます。このチュートリアルでは、Cプログラミング言語でこれらの関数を作成して使用する方法を説明します。

関数の良いところは、いくつかの名前で有名なことです。プログラミング言語が異なれば、たとえば、関数、メソッド、サブルーチン、プロシージャなど、名前も異なります。そのような用語に出くわした場合は、このチュートリアルで説明する同じ概念について想像してみてください。

数値の2つの配列を定義するプログラムから始めましょう。次に、各配列から最大の数値を見つけます。以下に示すのは、与えられた数のセットから最大数を見つけるためのステップです-

1. Get a list of numbers L1, L2, L3....LN
2. Assume L1 is the largest, Set max = L1
3. Take next number Li from the list and do the following
4.    If max is less than Li
5.       Set max = Li
6.    If Li is last number from the list then
7.       Print value stored in max and come out
8. Else prepeat same process starting from step 3

上記のプログラムをCプログラミング言語に翻訳してみましょう-

#include <stdio.h>

int main() {
   int set1[5] = {10, 20, 30, 40, 50};
   int set2[5] = {101, 201, 301, 401, 501};
   int i, max;
   
   /* Process first set of numbers available in set1[] */
   max = set1[0];
   i = 1;    
   while( i < 5 ) {
      if( max <  set1[i] ) {
         max = set1[i];
      }
      i = i + 1;
   }
   
   printf("Max in first set = %d\n", max );
    
   /* Now process second set of numbers available in set2[] */
   max = set2[0];
   i = 1;    
   while( i < 5 ) {
      if( max <  set2[i] ) {
         max = set2[i];
      }
      i = i + 1;
   }
   printf("Max in second set = %d\n", max );
}

上記のコードをコンパイルして実行すると、次の結果が得られます。

Max in first set = 50
Max in second set = 501

上記の例を明確にすれば、なぜ関数が必要なのかが理解しやすくなります。上記の例では、set1とset2の2つの番号セットしかありませんが、各セットから最大数を見つけるために、10個以上の同様の番号セットがある状況を考えてみます。このような状況では、10回以上の処理を繰り返す必要があり、最終的にはコードを繰り返すとプログラムが大きくなりすぎます。このような状況に対処するために、プログラミングで何度も使用されるソースコードを保持しようとする関数を記述します。

それでは、Cプログラミング言語で関数を定義する方法を見てから、次のセクションでそれらの使用方法を説明します。

関数の定義

Cプログラミング言語での関数定義の一般的な形式は次のとおりです。

return_type function_name( parameter list ) {
   body of the function
   
   return [expression];
}

Cプログラミングの関数定義は、関数ヘッダー関数本体で構成されます。これが関数のすべての部分です-

  • Return Type−関数は値を返す場合があります。ザ・return_type関数が返す値のデータ型です。一部の関数は、値を返さずに目的の操作を実行します。この場合、return_typeはキーワードですvoid

  • Function Name−これは関数の実際の名前です。関数名とパラメータリストが一緒になって関数シグネチャを構成します。

  • Parameter List−パラメータはプレースホルダーのようなものです。関数が呼び出されると、パラメーターとして値を渡します。この値は、実際のパラメーターまたは引数と呼ばれます。パラメータリストは、関数のパラメータのタイプ、順序、および数を参照します。パラメータはオプションです。つまり、関数にパラメータを含めることはできません。

  • Function Body −関数本体には、関数の機能を定義するステートメントのコレクションが含まれています。

関数の呼び出し

C関数を作成するときに、関数が実行する必要があることを定義します。関数を使用するには、その関数を呼び出して定義済みのタスクを実行する必要があります。

さて、関数を使って上記の例を書いてみましょう-

#include <stdio.h>

int getMax( int set[] ) {
   int i, max;
   
   max = set[0];
   i = 1;    
   while( i < 5 ) {
      if( max <  set[i] ) {
         max = set[i];
      }
      i = i + 1;
   }
   return max;
}
main() {
   int set1[5] = {10, 20, 30, 40, 50};
   int set2[5] = {101, 201, 301, 401, 501};
   int max;

   /* Process first set of numbers available in set1[] */
   max = getMax(set1);
   printf("Max in first set = %d\n", max );
    
   /* Now process second set of numbers available in set2[] */
   max = getMax(set2);
   printf("Max in second set = %d\n", max );
}

上記のコードをコンパイルして実行すると、次の結果が得られます。

Max in first set = 50
Max in second set = 501

Javaの関数

Cプログラミングの関数について明確であれば、Javaでも簡単に理解できます。Javaプログラミングはそれらを次のように名付けますmethods、しかし、残りの概念は多かれ少なかれ同じままです。

以下は、Javaで記述された同等のプログラムです。あなたはそれを実行して出力を見ることができます-

public class DemoJava {
   public static void main(String []args) {
      int[] set1 = {10, 20, 30, 40, 50};
      int[] set2 = {101, 201, 301, 401, 501};
      int max;

      /* Process first set of numbers available in set1[] */
      max = getMax(set1);
      System.out.format("Max in first set = %d\n", max );

      /* Now process second set of numbers available in set2[] */
      max = getMax(set2);
      System.out.format("Max in second set = %d\n", max );
   }
   public static int getMax( int set[] ) {
      int i, max;
      max = set[0];
      i = 1;    
      
      while( i < 5 ) {
         if( max <  set[i] ) {
            max = set[i];
         }
         i = i + 1;
      }
      return max;
   }
}

上記のプログラムを実行すると、次の結果が得られます。

Max in first set = 50
Max in second set = 501

Pythonの関数

繰り返しになりますが、CおよびJavaプログラミングの関数の概念を知っている場合、Pythonはそれほど違いはありません。以下に示すのは、Pythonで関数を定義する基本的な構文です。

def function_name( parameter list ):
   body of the function
   
   return [expression]

Pythonでこの関数の構文を使用すると、上記の例は次のように記述できます。

def getMax( set ):
   max = set[0]
   i = 1   
   
   while( i < 5 ):
      if( max <  set[i] ):
         max = set[i]
      
      i = i + 1
   return max

set1 = [10, 20, 30, 40, 50]
set2 = [101, 201, 301, 401, 501]

# Process first set of numbers available in set1[]
max = getMax(set1)
print "Max in first set = ", max
    
# Now process second set of numbers available in set2[]
max = getMax(set2)
print "Max in second set = ", max

上記のコードを実行すると、次の結果が得られます。

Max in first set =  50
Max in second set =  501

コンピュータファイル

コンピュータファイルは、プレーンテキスト、画像データ、またはその他のコンテンツなどのデジタル形式でデータを保存するために使用されます。コンピュータファイルは、さまざまなディレクトリ内に整理できます。ファイルはデジタルデータを保持するために使用されますが、ディレクトリはファイルを保持するために使用されます。

コンピュータファイルは、紙の文書のデジタル版と見なすことができます。プログラミング中は、ソースコードを異なる拡張子のテキストファイルに保存します。たとえば、Cプログラミングファイルは拡張子で終わります。.c、Javaプログラミングファイル .java、およびPythonファイル .py

ファイル入力/出力

通常、メモ帳、MS Word、MS Excel、MS Powerpointなどのテキストエディタを使用してファイルを作成します。ただし、多くの場合、コンピュータプログラムを使用してファイルを作成する必要があります。コンピュータプログラムを使用して既存のファイルを変更できます。

ファイル入力とは、ファイルに書き込まれるデータを意味し、ファイル出力とは、ファイルから読み取られるデータを意味します。実際、入力と出力の用語は、画面の入力と出力に関連しています。画面に結果を表示するとき、それを出力と呼びます。同様に、コマンドプロンプトからプログラムに入力を提供する場合、それは入力と呼ばれます。

今のところ、ファイルへの書き込みはファイル入力であり、ファイルからの読み取りはファイル出力であることを覚えておくだけで十分です。

ファイル操作モード

コンピュータプログラムを使用してファイルの操作を開始する前に、ファイルが存在しない場合は新しいファイルを作成するか、既存のファイルを開く必要があります。いずれの場合も、次のモードでファイルを開くことができます-

  • Read-Only Mode−既存のファイルを読み取るだけで、ファイルにそれ以上のコンテンツを書き込みたくない場合は、ファイルを読み取り専用モードで開きます。ほとんどすべてのプログラミング言語は、読み取り専用モードでファイルを開くための構文を提供します。

  • Write-Only Mode−既存のファイルまたは新しく作成されたファイルのいずれかに書き込むが、そのファイルから書き込まれたコンテンツを読み取りたくない場合は、ファイルを書き込み専用モードで開きます。すべてのプログラミング言語は、書き込み専用モードでファイルを開くための構文を提供します。

  • Read & Write Mode −同じファイルの読み取りと書き込みを行う場合は、ファイルを読み取りと書き込みモードで開きます。

  • Append Mode−書き込み用にファイルを開くと、ファイルの先頭から書き込みを開始できます。ただし、既存のコンテンツがある場合は上書きされます。既存のコンテンツを上書きしたくない場合は、ファイルを追加モードで開きます。追加モードは、最終的には書き込みモードであり、ファイルの最後にコンテンツを追加できます。ほとんどすべてのプログラミング言語は、追加モードでファイルを開くための構文を提供します。

次のセクションでは、新しいファイルを開く方法、そのファイルに書き込む方法、そして後で、同じファイルにさらにコンテンツを読み取って追加する方法を学習します。

ファイルを開く

あなたは使用することができます fopen()新しいファイルを作成したり、既存のファイルを開いたりする機能。この呼び出しは、タイプのオブジェクトを初期化しますFILE、ストリームを制御するために必要なすべての情報が含まれています。これがプロトタイプです。つまり、この関数呼び出しのシグネチャです。

FILE *fopen( const char * filename, const char * mode );

ここに、 filename は文字列リテラルであり、ファイルに名前を付けてアクセスするために使用します mode 次のいずれかの値をとることができます-

シニア番号 モードと説明
1

r

読み取り用に既存のテキストファイルを開きます。

2

w

書き込み用のテキストファイルを開きます。存在しない場合は、新しいファイルが作成されます。ここで、プログラムはファイルの先頭からコンテンツの書き込みを開始します。

3

a

追加モードで書き込むためのテキストファイルを開きます。存在しない場合は、新しいファイルが作成されます。ここで、プログラムは既存のファイルコンテンツにコンテンツの追加を開始します。

4

r+

両方の読み取りと書き込み用のテキストファイルを開きます。

5

w+

読み取りと書き込みの両方のテキストファイルを開きます。ファイルが存在する場合は、最初にファイルの長さをゼロに切り捨てます。それ以外の場合は、ファイルが存在しない場合はファイルを作成します。

6

a+

読み取りと書き込みの両方のテキストファイルを開きます。ファイルが存在しない場合は、ファイルを作成します。読み取りは最初から始まりますが、書き込みは追加することしかできません。

ファイルを閉じる

ファイルを閉じるには、 fclose( )関数。この関数のプロトタイプは次のとおりです。

int fclose( FILE *fp );

ザ・ fclose( ) 関数は成功するとゼロを返します、または EOF、特殊文字。ファイルを閉じるときにエラーが発生した場合。この関数は、実際には、バッファにまだ保留中のデータをファイルにフラッシュし、ファイルを閉じて、ファイルに使用されているメモリを解放します。EOFは、ヘッダーファイルで定義されている定数です。stdio.h

ファイルを1文字ずつ、または固定長の文字列の形式で読み書きするために、C標準ライブラリによって提供されるさまざまな関数があります。次のセクションでそれらのいくつかを見てみましょう。

ファイルの作成

以下に示すのは、個々の文字をストリームに書き込む最も簡単な関数です。

int fputc( int c, FILE *fp );

関数 fputc() 引数cの文字値をによって参照される出力ストリームに書き込みます fp。成功時に書かれた文字を返します。それ以外の場合はEOFエラーがある場合。次の関数を使用して、nullで終了する文字列をストリームに書き込むことができます-

int fputs( const char *s, FILE *fp );

関数 fputs() 文字列を書き込みます sfpによって参照されるファイルに。成功すると負でない値を返します。それ以外の場合は戻ります。EOFエラーが発生した場合に返されます。この機能を使用することもできますint fprintf(FILE *fp,const char *format, ...)文字列をファイルに書き込みます。次の例を試してください-

#include <stdio.h>

int main() {
   FILE *fp;

   fp = fopen("/tmp/test.txt", "w+");
   fprintf(fp, "This is testing for fprintf...\n");
   fputs("This is testing for fputs...\n", fp);
   fclose(fp);
}

上記のコードをコンパイルして実行すると、新しいファイルが作成されます test.txt/tmpディレクトリを作成し、2つの異なる関数を使用して2行を書き込みます。次のセクションでこのファイルを読んでみましょう。

ファイルの読み取り

以下に示すのは、テキストファイルを文字ごとに読み取る最も簡単な関数です。

int fgetc( FILE * fp );

ザ・ fgetc() 関数は、によって参照される入力ファイルから文字を読み取ります fp。戻り値は読み取られた文字です。またはエラーが発生した場合は、EOF。次の関数を使用すると、ストリームから文字列を読み取ることができます-

char *fgets( char *buf, int n, FILE *fp );

関数 fgets() によって参照される入力ストリームから最大n-1文字を読み取ります fp。読み取った文字列をバッファにコピーしますbuf、追加 null 文字列を終了する文字。

この関数は、最大文字数を読み取る前に改行文字 '\ n'またはEOFを検出すると、新しい行文字を含め、その時点までに読み取られた文字のみを返します。使用することもできますint fscanf(FILE *fp, const char *format, ...) ファイルから文字列を読み取りますが、最初のスペース文字に遭遇すると読み取りを停止します。

#include <stdio.h>

main() {

   FILE *fp;
   char buff[255];

   fp = fopen("/tmp/test.txt", "r");
   fscanf(fp, "%s", buff);
   printf("1 : %s\n", buff );

   fgets(buff, 255, (FILE*)fp);
   printf("2: %s\n", buff );
   
   fgets(buff, 255, (FILE*)fp);
   printf("3: %s\n", buff );
   fclose(fp);
}

上記のコードをコンパイルして実行すると、前のセクションで作成したファイルが読み取られ、次の結果が生成されます。

1 : This
2 : is testing for fprintf...

3 : This is testing for fputs...

ここで何が起こったのか分析してみましょう。まず、fscanf() メソッド読み取り Thisその後、スペースに遭遇したからです。2番目の呼び出しはfgets()、行末に到達するまで残りの行を読み取ります。最後に、最後の呼び出しfgets() 2行目を完全に読み取ります。

JavaでのファイルI / O

Javaは、ファイルI / Oを処理するためのさらに豊富な関数セットを提供します。このトピックの詳細については、Javaチュートリアルを確認することをお勧めします。

ここでは、上で説明したCプログラムと同等の単純なJavaプログラムを紹介します。このプログラムは、テキストファイルを開き、それに数行のテキスト行を書き込んで、ファイルを閉じます。最後に、同じファイルが開かれ、作成済みのファイルから読み取られます。次のプログラムを実行して、出力を確認できます-

import java.io.*;

public class DemoJava {
   public static void main(String []args) throws IOException {
      File file = new File("/tmp/java.txt");
      
      // Create a File
      file.createNewFile();
      
      //  Creates a FileWriter Object using file object
      FileWriter writer = new FileWriter(file); 
      
      // Writes the content to the file
      writer.write("This is testing for Java write...\n");
      writer.write("This is second line...\n");
      
      // Flush the memory and close the file
      writer.flush();
      writer.close();
      
      // Creates a FileReader Object
      FileReader reader = new FileReader(file); 
      char [] a = new char[100];
      
      // Read file content in the array
      reader.read(a);
      System.out.println( a );
      
      // Close the file
      reader.close();
   }
}

上記のプログラムを実行すると、次の結果が得られます。

This is testing for Java write...
This is second line...

PythonでのファイルI / O

次のプログラムは、新しいファイルを開いてコンテンツを書き込み、最後に同じファイルを読み取るための同じ機能を示しています。

# Create a new file
fo = open("/tmp/python.txt", "w")

# Writes the content to the file
fo.write( "This is testing for Python write...\n");
fo.write( "This is second line...\n");

# Close the file
fo.close()

# Open existing file
fo = open("/tmp/python.txt", "r")

# Read file content in a variable
str = fo.read(100);
print str

# Close opened file
fo.close()

上記のコードを実行すると、次の結果が得られます。

This is testing for Python write...
This is second line...

このチュートリアルをご理解いただき、誠にありがとうございます。簡潔にするように努めましたが、この主題にはいくつかのトピックが含まれているため、いくつかの例を詳細に示しました。

いずれの概念も理解していない場合は、チュートリアルをもう一度実行することをお勧めします。このチュートリアルで説明されている概念に慣れたら、さらに先に進むことができます。

混乱を避けるために意図的にカバーしなかったコンピュータプログラミングに関連する他の多くの主題がありますが、このチュートリアルで説明されている概念に慣れている限り、それらの概念を理解するのは難しいことではないと確信しています。

チュートリアルポイントでは、C、Java、およびPythonプログラミング言語に関する包括的なチュートリアルを準備するために多大な努力を払ってきました。このチュートリアルを完了した後、どちらかを開始することを強くお勧めします。

このチュートリアルについてのご意見をお聞かせください。件名にチュートリアル名を記載してください。 [email protected]。このチュートリアルをさらに改善するための提案があれば、ぜひお聞かせください。