- 第1項:基本知識
- 第2項:プログラム読取
- 第3項:プログラム書取
- 第4項:記述式
- 第5項:基本知識(解答例)
- 第6項:プログラム読取(解答例)
- 第7項:プログラム書取(解答例)
- 第8項:記述式(解答例)
[ 1-1 ]
条件が偽の時に実行する文をif文に追加するオプションは何か。
[ 1-2 ]
上記の文をいくつも組み合わせて使う書き方を俗になんと呼ぶか。
解答例
[ 1-3 ]
番号別に処理する文を分けたい時に使う文は何か。
解答例
[ 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-1 ]
月を入力すると、対応する陰暦の月を表示するプログラムを作成せよ。
なお、存在しない月を入力した時にも何かのメッセージを表示せよ。
ヒント:陰暦は1月から順番に、
睦月,如月,弥生,卯月,皐月,水無月,文月,葉月,長月,神無月,霜月,師走
解答例
[ 4-1 ]
switch文では各case文の後にbreak文を置くのは何故か。
また、これが不要なのはどんな場合か簡潔に述べよ。
[ 1-1 ]
else文
[ 1-2 ]
else-if文
問題
[ 1-3 ]
switch文
switch〜case文と書いても良い。
問題
[ 2-1 ]
西暦年を入力すると、オリンピックが開かれるかどうか表示する。
※前回の問題をif-else文で書き直しただけである。
問題
[ 3-1 ]
※if文でも良いが、数多く分岐する場合にはswitch文が適している。#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; }
※default文を欠いている場合は減点とする。
問題
[ 4-1 ]
switch文は、あくまでcase文にジャンプするだけの機能しかないので、
break文を付けて、各case文の終わりでswitch文全体から抜け出るようにする必要がある。
しかし、各case文の処理に共通点がある場合にはそのままつなげても良い。