サイタプログラミングスクールC言語プログラミング入門講座 神奈川 楽しめるC言語セミナー レッスンノート 関数について

関数について

C言語プログラミング入門講座のレッスンノート

レッスンノートって?レッスンノートって?

2/4の体験レッスンの内容は、以下の通りです。

 ・ ガイダンス
 ・ 関数について 

なお、詳細は紙でお渡ししたノートも参照してください。

□ ガイダンス

体験レッスンの最初に、ガイダンスを実施しました。

要望・現状でわからない点についても、この中でお伺いしました。


□ 関数について

関数の使い方がわからないという点をうけて、体験レッスンでは関数について説明しました。

○ 関数の概念

プログラミングの世界で関数の概念を説明すると、以下のようになります。

 ・ 自身に代わって、手続き(処理)をしてもらう仕組みのこと

そして、上記の仕組みを使うことを「関数を呼び出す」と表現します。

この場合、自身が「呼び出し元」、関数そのものが「呼び出し先」になります。

○ 引数・戻り値

関数を呼び出す場合、呼び出す関数の入力となるデータのことを「引数」と呼びます。

引数の個数は、何個でもかまいません。不要な場合は、0個でもOKです。

一方、関数の処理結果を呼び出し元に渡す場合があります。この処理結果のことを「戻り値」と呼びます。

戻り値の個数は、0個か1個のいずれかのみです。2個以上の戻り値を返すことはできません。


○ 関数の文法について

次に、関数の文法的な内容を説明します。

・ 呼び出し元

関数の呼び出しは、以下の書式で記します。

 呼び出す関数名([1個目の引数の内容,2個目の引数の内容,...]);

引数の内容には、変数や値、式などが入ります。

ただし、その内容は呼び出し先で指定された型に合わせる必要があります。

・ 呼び出し先

呼び出し先(即ち、関数本体)は、以下の書式で記します。

 戻り値の型 関数名(1個目の引数の型 [1個目の引数名, ...]) {
  : // 処理をこの部分に記す
 }

さらに、関数本体のうちの戻り値と引数の型のみを事前に宣言する場合もあります。この宣言のことを「関数のプロトタイプ宣言」と呼びます。

・ 具体例

以下では、mainという関数の中から、たし算を行う関数addを呼び出す例を示します。

#include <stdio.h>

int add(int, int); // 関数addのプロトタイプ宣言

int main(void) {
int x;

x = add(1,2); // 関数addに引数として1、2を渡し、結果をxに代入
 printf("1 + 2 = %d\n", x); // 結果の表示

 return 0;
}

int add(int x, int y) { // 関数addの本体
 return (x + y); // 2つの引数の合計を返す
}


○ 取り組み中のプログラムについて

最後に、現在取り組み中の制御プログラムを確認しました。

このプログラムでは、C言語の上位言語である「C++」の機能(具体的には、クラスです)が使用されていることがわかりました。

さらに現状の不明点を完全に理解するには、このクラスを理解する必要があります。
新着レッスンノート

9/12のレッスン内容は、以下の通りです。 ・ポリモーフィズムについて ・Javaでの例外処理(try〜catch) 詳細は、お渡ししたノートを参照してください。 ポリモーフィズムは、オブジェクト指向の三大機能のひとつ(他にはカプセル化と継承があります)ですが、その中で...

9/5のレッスン内容は、以下の通りです。 ・ オブジェクト指向の考え方 □ オブジェクト指向の考え方 今取り組んでいるJavaは、純粋なオブジェクト指向のプログラミング言語に分類されます。そして、これはこれまで取り組んできたC言語とは、アプローチ的にも違うことをお話しし...

3/20のレッスン内容は、以下の通りです。 ・ 関数の再帰呼び出し 再帰呼び出しは自己呼び出しとも呼ばれ、関数が自分自身を「再帰的に」呼び出せるしくみのことです。 レッスンでは「1〜nまでの合計を求める」というお題で説明しましたが、他にも階乗、数列の漸化式などで用いられる仕...

3/15のレッスン内容は、以下の通りです。 ・ ポインタの基礎 ・ 変数の有効範囲 今回の詳細も、別途お渡ししたノートを参照してください。

3/15のレッスン内容は、以下の通りです。  ・ 配列の引数の取り扱い  ・ ポインタと配列・文字列の関係 今回の詳細は、別途お渡ししたノートを参照してください。

レッスンノート ページ先頭へ