苦しんで覚えるC言語

練習問題7



基本知識


1-1
条件判断の時には0以外の数値のことをなんと呼ぶか。
1-2
条件判断の時には0のことをなんと呼ぶか。
1-3
{}で囲むことで、複数の文をまとめることをなんと呼ぶか。
解答例

目次に戻る

プログラム読取


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

int main(void)
{
	int value,rest;
	
	scanf("%d",&value);
	
	rest = value % 2;
	
	if (rest == 0) printf("E");
	if (rest == 1) printf("O");
	
	printf("\n");
	
	return 0;
}
解答例

目次に戻る

プログラム書取


3-1
西暦年を入力すると、その年にオリンピックが開かれるか、
表示するプログラムを作成せよ。
可能なら、夏季と冬季の区別も表示できればなお良い。
ヒント:シドニー五輪(夏)は2000年開催であった。
※条件がややこしくなるので、
 以前夏季と冬季が同じ年だった時期のことは無視する。
解答例

目次に戻る

記述式


4-1
if (-1) printf("OK\n");
上記のプログラムを実行すると、OKが表示されるが、
それは何故か簡潔に説明せよ。
解答例
目次に戻る

基本知識(解答例)


1-1
真
※true も正解とする
1-2
偽
※false も正解とする
1-3
ブロック or 複文
問題

目次に戻る

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


2-1
入力値が奇数か偶数かを表示する。
※O は odd の略、E は even の略です。
※% は余りを計算します。忘れていませんね。
※最後のprintf関数は改行するためだけにあります。
問題

目次に戻る

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


3-1
#include <stdio.h>

int main(void)
{
	int year;
	
	printf("西暦年を入力して下さい:");
	scanf("%d",&year);
	
	if (year % 4 == 0) printf("夏季五輪\n");
	if (year % 2 == 0 && year % 4 != 0) printf("冬季五輪\n");
	if (year % 2 != 0) printf("五輪なし\n");
	
	return 0;
}
※ここでは、五輪が開催される年は2で割り切れ、
 さらに夏季五輪の時は4でも割り切れることを利用した。
※他の計算方法も考えられるので、計算で求めていれば正解とする。
※計算せずに、年をそのまま比較している場合は不正解とする。
問題

目次に戻る

記述式(解答例)


4-1
if文では、0以外の数値は全て真と見なすので、
たとえ負の値であっても実行するから。
問題

目次に戻る