苦しんで覚えるC言語

練習問題11



第1項:基本知識

1-1
プログラムの先頭で関数の形を宣言しておくことをなんと呼ぶか。
1-2
関数に数値を渡すために宣言する変数のことをなんと呼ぶか。
1-3
関数に渡す数値や変数のことをなんと呼ぶか。
1-4
関数から返す数値のことをなんと呼ぶか。
解答例

目次に戻る

第2項:プログラム読取

2-1
次のプログラムでは、関数triは何のための関数なのか。
処理内容や変数名から判断して答えよ。
#include <stdio.h>

int tri(int,int);

int main(void)
{
	int side,high,square;
	
	scanf("%d,%d",&side,&high);
	printf("%d\n",tri(side,high));
	
	return 0;
}

int tri(int side,int high)
{
	return side * high / 2;
}
解答例

目次に戻る

第3項:プログラム書取

3-1
西暦年を入力するとオリンピックが開かれるか表示するプログラムを作成せよ。
ただし、オリンピックの開催を計算する部分は別の関数として作成せよ。
※2000年に夏の大会が開かれ、その後は2年ごと 冬->夏->冬->夏 の順に開かれるとする。
 また、この予定は永遠に狂わないこととします。
解答例

目次に戻る

第4項:記述式

4-1
関数を作るのは何のためか、簡潔に説明せよ。
解答例
目次に戻る

第5項:基本知識(解答例)

1-1
プロトタイプ宣言
1-2
仮引数
1-3
実引数
1-4
戻り値
問題

目次に戻る

第6項:プログラム読取(解答例)

2-1
三角形の面積を計算する関数
問題

目次に戻る

第7項:プログラム書取(解答例)

3-1
#include <stdio.h>

int olympic(int year);

int main(void)
{
	int year,hold;
	
	scanf("%d",&year);
	hold = olympic(year);
	
	switch (hold) {
		case 0:
		printf("開かれない\n");
		break;
		case 1:
		printf("夏季五輪\n");
		break;
		case 2:
		printf("冬季五輪\n");
		break;
	};
	
	return 0;
}

int olympic(int year)
{
	if (year % 2 == 0) {
		if (year % 4 == 0) {
			return 1;
		} else {
			return 2;
		}
	} else {
		return 0;
	}
	
}
※olympic関数の戻り値を開催に対応づけている。
※プロトタイプ宣言を忘れやすいので注意。
問題

目次に戻る

第8項:記述式(解答例)

4-1
機能別に関数を作り、それを組み合わせることでプログラム全体が完成し、
大きなプログラムでも作りやすくなるため。
問題

目次に戻る