0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

関数の理解を育ててみる。

Last updated at Posted at 2023-03-03

目的

・関数を理解して使えるようにする。
・関数を理解するまでの頭の中を整理する。
・理解が進んだら更新する。

正方形の面積を関数にしてみるの巻

正方形の面積を求める公式
・1辺 × 1辺 (今回はこっちを使う)
・対角線 × 対角線 ÷ 2

#include <stdio.h>

int square(int x)     //squareは正方形の意味
{
	int sq = x * x;   //sqはsquareのsq
	return(sq);
}

int	main(void)
{
	int r;
	
	printf("正方形の長さを入力してください:");
	scanf("%d",&r);
	
	int y = square(r);
	printf("一辺%dcmの正方形の面積は%dcmです。\n", r,y);
	
	return (0);
}

実行結果
正方形の長さを入力してください:3
一辺3cmの正方形の面積は9cmです。

長方形の面積を関数にしてみるの巻

正方形の面積を求める公式
たて × よこ

#include <stdio.h>

int rectangle(int x,int y) //rectangleは長方形の意味
// 長方形の公式が たて × よこ の2種類の値を掛け算するから
// 引数も2種類用意する必要がある。
 {
    //int re = x * y;      //reはrectangleのre
 	return(x * y);         //returnにx * yを入れても関数機能する。
 }

int	main(void)
{
	int r;
	int e;
	// int y; 
    // printfの直前でint y = rectangle(r,e);してるからint y;って書かなくてもいい

	printf("長方形の縦と横の長さを空白区切りで入力してください:");
	scanf("%d%d",&r,&e);

	int y = rectangle(r,e);
	printf("縦%dcm、横%dcmの長方形の面積は%dcmです。\n", r,e,y);

	return (0);
}

実行結果
長方形の縦と横の長さを空白区切りで入力してください:3 3
縦3cm、横3cmの長方形の面積は9cmです。

大事かもって思ったところ

・main関数のvoidは戻り値なしという意味
・関数はmain関数の下に書いてはいけない。しかし、プロトタイプ宣言をすればmain関数の下に書いても良い。
理由は、main関数の下に関数を書くとエディターはmain関数から最初に処理されるので
関数をmain関数の下に書くと再定義されてしまうから。

関数の機能を日常で例えてみる。

例1
髪の毛を洗う時、シャンプー、リンス、コンディショナーをそれぞれ使うけど
時間がかかってめんどくさいからシャンプー、リンス、コンディショナーのそれぞれの機能が入った
オールインワンという関数を使えば時短になる。

例2
外出した時にメイク直しをしたいからリップ、チーク、アイシャドーをそれぞれ持ち歩くと
メイクポーチに入らないからリップの形状をしたリップにもチークにもアイシャドーにもなるリップ関数を使えばポーチに入る。

参考にした動画

0
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?