--- title: '『[新版C言語プログラミングレッスン 入門編』 第四章 if' author: kazu634 date: 2008-03-23 url: /2008/03/23/_922/ wordtwit_post_info: - 'O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";i:1;s:5:"delay";i:0;s:7:"enabled";i:1;s:10:"separation";s:2:"60";s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:3867;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}' categories: - C - Programming ---

 つづきだよー

論理和「||」

#include <stdio.h>
#include <stdlib.h>
#define MAX_LINE	128	/* 入力行の最大長 */
int main(void);
int main(void)
{
char buf[MAX_LINE];
int n;
printf ("降水確率を入力してください。\n");
gets(buf);
n = atoi(buf);
printf ("降水確率は %d %%です。\n", n);
if (n <  || 100 < n) {
printf ("降水確率は0 - 100の間ですよ。\n");
}
else if (n >= 50) {
printf ("傘を忘れずにね。\n");
}
else {
printf ("傘はいりません。\n");
}
printf ("いってらっしゃい\n");
return();
}

or は「||」で表現する。

現在の時間を入力してもらって、それに応じたメッセージを表示させる

#include <stdio.h>
#include <stdlib.h>
#define MAX_LINE	128	/* 入力行の最大長 */
int main(void);
int main(void)
{
char buf[MAX_LINE];
int n;
printf ("現在の時刻(「時」だけでよい)を教えてください。\n");
gets(buf);
n = atoi(buf);
if (n <  || 24 < n) {
printf ("Hour must be:\n 0 <= hour <= 24\n");
}
else if ( <= n && n <= 11) {
printf ("おはようございます。\n");
}
else if (n == 12) {
printf ("お昼です。\n");
}
else if (13 <= n && n <= 18) {
printf ("こんにちわ。\n");
}
else if (19 <= n && n <= 23) {
printf ("こんばんわ。\n");
}
return();
}

境界にあたる場合の条件に注意。自分の場合、「=」をつけ忘れていた。

ここまでで Perl と違うと思った部分

自分は Perl のコンテクストみたいな考えの方が好きかもしれない。