新着記事
08/24: 待ち時間・アカウントなしで4sharedにあるファイルをダウンロードするには
08/23: 色んな歌詞検索サイトから歌詞を探してくれる高機能歌詞検索ソフト -Lyrics Master-
08/01: フリーでいろんな国のIPアドレスを利用できるFireFoxのVPNアドオン -Hola Unblocker-
07/18: 著作権フリー・無料で利用できるBGMダウンロードサイト - audionautix
07/17: apngをブラウザ上で見るには
06/14: deviantARTなどで入手したテーマに変更するには
06/03: [KissAnime] - 日本語検索可能でいろんなタイトルが見れるアニメ無料視聴サイト
05/30: スマホをギターにして演奏してしまう動画
05/23: InoReader - シンプルで使いやすいRSSリーダー
05/18: [Apowersoft音声録音フリーツール] - PC・マイクから簡単に録音できるフリーツール
05/12: フリーのDNSへ簡単に変更出来るDNSチェンジャー - [ChrisPC DNS Switch]
05/11: C言語 入門 複合文について
05/10: TabsBy.Net - フリーで利用可能なオンラインTABプレーヤー
05/09: [Chrome Extension]Chromeで新しいタブを開いたときにWindows8のメトロ画面にするExtension - New MetroTab
05/06: Bop.fm - フリーでクールなインターフェイスのオンライン音楽プレーヤー
05/05: iAlbums - アルバムごとにカテゴライズされたプレイリスト作成も可能なオンライン音楽プレーヤー
09/20: [B1 Online Archiver] オンライン上で圧縮ファイルを解凍できるサイト
09/15: Operaの旧バージョン(15以前)にXSSの脆弱性が
09/10: ペルセウス座流星群を1分で
08/29: スマホアプリ紹介サイト
RSS feeds

2010年07月24日

C言語 入門 条件判定 if文

ちょっと期間が空いてしまいましたが、C言語やっていきます。
今までのプログラムは実行から終了まで一本道のプログラムでしたが、
今回からはプログラムの流れを2通り・3通りと分岐させていくことを勉強していきます。

まずは「if文」を勉強していきます。色んな言語で出てきますね。
C言語でのif文の使い方を少しずつ勉強していきます。


if文

ifっていうのは英語の「もしも〜だったら」とほぼ同じ捕らえ方でOKです。
数学でいうと「真偽」と同じです。

使い方は
if( 条件式 ) 文;

という風に使います。
指定した数値が[条件式」で0になるか、ならないかを判定するだけです。

また、条件判定を行なう上で数値が
「0になったものを[偽]」、「0以外(正の数、負の数両方含みます)を[真]」
と呼びます。
そして、「真」の場合のみ( 条件式 )に続く「文」を実行します。

ちょっと説明も難しいですね。

これだけでは分からないと思うのでまずはプログラムを見てみましょう。簡単な分岐のプログラムを作ってみます。
入力した数値が2で割り切れるかどうか、偶数か奇数かという判別をするプログラムにしてみましょう。
#include <stdio.h>

int main(void)
{
    int num;

    printf("数値が2で割り切れるかを判別します。¥n");
    printf("整数を入力してください:"); scanf("%d", &num);

    if(num % 2)
        printf("%dは2で割り切れません。¥n", num);
    return 0;
}

実行結果(入力した数値が奇数の場合)
数値が2で割り切れるかを判別します。
整数を入力してください:11↵
11は2で割り切れません。

実行結果(偶数の場合)
数値が2で割り切れるかを判別します。
整数を入力してください:20↵

さて色々見ていきましょう。
まずはこのプログラムが「2で割り切れるか、割り切れないか」という問題をプログラムにしたものです。
2で割るんだから「num / 2」じゃないの?なんて人もいるかもしれません。でもこれは間違いです。
入力した数値のほぼ全ての数が「num / 2」で計算したときの答えが0以外の数値になりますよね。
「2 / 2 = 1」ですし、0にならないんです。だから条件式に「num / 2」と入力するのは間違いです。
条件が0にならないように考えないといけないわけですね。
さて「%演算子」は覚えていますか?
これは「a % b」とした時の「余り」を計算してくれる演算子でしたね。これを使いましょう。

つまり割ったときの「余りが0か0以外か」で真偽を判定するんですね。
そして、if文は余りが0以外の場合、( 条件式 )に続く「文」を実行できるので、
今回の場合は「割り切れない場合」に「文」を実行できるわけです。
だから「%dは2で割り切れません」という文が続いているんですね。

他にも例えば5で割り切れるか否かという場合も、「num % 5」なんていう風にやればいいわけです。
つまり、「%演算子」を使えば倍数を判定することが出来るわけですね。
2の場合は、偶数か奇数かも判定できます。

説明が簡潔にいきませんね。

ただ、このままだと偶数を入力したとき結果が何も無いのはちょっと嫌ですね。
次回はif文を使った2通りの分岐がある場合についての説明です。

メニューへ戻る


タグ:C言語


↓もしこの記事が役に立ったらクリックお願いします。
人気ブログランキングへ ブログランキング・にほんブログ村へ



posted by Yuichi at 22:49 | Comment(0) | TrackBack(0) | プログラミング>C言語 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック

Copyright (C) 2009-2010 Yuichi All Rights Reserved.