<戻る  目次  進む>  
          <戻 進> 雑誌 白黒 明暗   フォント 既定 ゴシック 明朝 手書き   サイズ   標準  


   練習問題8   

  1. 第1項:基本知識
  2. 第2項:プログラム読取
  3. 第3項:プログラム書取
  4. 第4項:記述式
  5. 第5項:基本知識(解答例)
  6. 第6項:プログラム読取(解答例)
  7. 第7項:プログラム書取(解答例)
  8. 第8項:記述式(解答例)


[1]基本知識


[  1-1  ]
条件が偽の時に実行する文をif文に追加するオプションは何か。

[  1-2  ]
上記の文をいくつも組み合わせて使う書き方を俗になんと呼ぶか。

[  1-3  ]
番号別に処理する文を分けたい時に使う文は何か。
解答例

目次に戻る


[2]プログラム読取


[  2-1  ]
次のプログラムは、何を表示するためのプログラムなのか、
処理内容や変数名から判断して答えよ。

#include <stdio.h>

int main(void)
{
	int year;
	
	scanf("%d",&year);
	
	if (year % 2 == 0) {
		if (year % 4 == 0) {
			printf("summer\n");
		} else {
			printf("winter\n");
		}
	} else {
		printf("do not\n");
	}

	return 0;
}
解答例

目次に戻る


[3]プログラム書取


[  3-1  ]
月を入力すると、対応する陰暦の月を表示するプログラムを作成せよ。
なお、存在しない月を入力した時にも何かのメッセージを表示せよ。
ヒント:陰暦は1月から順番に、
睦月,如月,弥生,卯月,皐月,水無月,文月,葉月,長月,神無月,霜月,師走
解答例

目次に戻る


[4]記述式


[  4-1  ]
switch文では各case文の後にbreak文を置くのは何故か。
また、これが不要なのはどんな場合か簡潔に述べよ。
解答例

目次に戻る


[5]基本知識(解答例)


[  1-1  ]
else文

[  1-2  ]
else-if文

[  1-3  ]
switch文
switch〜case文と書いても良い。
問題

目次に戻る


[6]プログラム読取(解答例)


[  2-1  ]
西暦年を入力すると、オリンピックが開かれるかどうか表示する。
※前回の問題をif-else文で書き直しただけである。
問題

目次に戻る


[7]プログラム書取(解答例)


[  3-1  ]

#include <stdio.h>

int main(void)
{
	int month;
	
	printf("月を入力して下さい。");
	scanf("%d",&month);
	
	switch (month) {
	case 1:
		printf("睦月\n");
		break;
	case 2:
		printf("如月\n");
		break;
	case 3:
		printf("弥生\n");
		break;
	case 4:
		printf("卯月\n");
		break;
	case 5:
		printf("皐月\n");
		break;
	case 6:
		printf("水無月\n");
		break;
	case 7:
		printf("文月\n");
		break;
	case 8:
		printf("葉月\n");
		break;
	case 9:
		printf("長月\n");
		break;
	case 10:
		printf("神無月\n");
		break;
	case 11:
		printf("霜月\n");
		break;
	case 12:
		printf("師走\n");
		break;
	default:
		printf("そんな月はありません。\n");
		break;
	}

	return 0;
}
※if文でも良いが、数多く分岐する場合にはswitch文が適している。
※default文を欠いている場合は減点とする。
問題

目次に戻る


[8]記述式(解答例)


[  4-1  ]
switch文は、あくまでcase文にジャンプするだけの機能しかないので、
break文を付けて、各case文の終わりでswitch文全体から抜け出るようにする必要がある。
しかし、各case文の処理に共通点がある場合にはそのままつなげても良い。
問題

目次に戻る


<−前に戻る  先頭に戻る  次へ進む−>