網絡学習管理 明解C言語入門1 C programming (8) if statement

C programming (8) if statement

 

制御構文は、上から下へ流れるプログラムを途中で流れを分岐させたり、流れを繰り返したりすることができる構文を表します。

制御構文の主な種類としてif文for文while文switch文の4パターンあります。

if文を使うと、分岐構造を作ることができます。

条件式の真偽

状態 真偽
条件が満たされた場合 true(真) 1(0以外)
条件が満たされなかった場合 false(偽) 0

 関係演算子

2つの値の大小を比較します。
条件を満たせば「真(true)」、条件を満たさなければ「偽(false)」となります。
関係演算子の形式は以下の通りです。

演算子 意味
< a < b aはbよりも小さい
> a > b aはbよりも大きい
<= a <= b aはbよりも小さい(a == bの条件も含む)
>= a >= b aはbよりも大きい(a == bの条件も含む)
== a == b aとbは等しい
!= a != b aとbは等しくない

if 文

if文の基本形

条件式には真、又は偽を表す値(すなわち、最終的には数値型)を指定します。if 文は条件式の結果が真の場合のみ実行され、そうでなければ実行されません。より単純にいえば、条件式に 0 以外の値が指定されたときのみ実行されるのです。

if(条件式) {
    文1;
}

 

if  ~ else ~

if(条件式) {
    文1;
} else {
    文2;
}

実例: 偶数奇数判定

/* a5-1-4.c */
#include <stdio.h>

int main(void)
{
  int n;
  printf("整数値を入力してください。> ");
  scanf("%d", &n);
  if (n % 2 == 0) { 
      printf("入力値は偶数です。\n");  
  } else {
      printf("入力値は奇数です。\n");
  }

  printf("プログラムのおわり\n");
  getch();
  return 0;
}

 

if文の多分岐構造

if(条件式1) {
    文1;
} else if(条件式2) {
    文2;
} else if(条件...
:
(中略)
:
} else if(条件式n) {
    文n;
} else {
    文x;
}

実例:成績判定

/* 成績判定プログラム */
#include <stdio.h>
// C判定:ten 60以上69以下  不合格:ten 59以下 

int main(void)
{
  int ten;
 while (1) //ブロック
 {
  printf("点数を入力してください。> ");
  scanf("%d", &ten);
  if ( ten == 0 ) break;
             // OR 
  if (ten < 0 || ten > 100) {  // ペアー
    printf("点数の入力エラーです。\n");
  }
  else 
  if (ten >= 80) {  // block ブロック
    printf("成績はA判定です。\n"); 
  }
  else if (ten >= 70) {
    printf("成績はB判定です。\n");
  }
  else {
    printf("成績はC判定です。\n");
  }
 }
    getch();
  return 0;
}

 

if文のネスト

if(条件文1) {
    if(条件文2) {
        文1;
    } else {
        文2;
    }
} else {
    文3;
}

実例:出席率と点数から成績を判定

/* 出席率と点数から成績を判定するプログラム */
#include <stdio.h>
// nest 入れ子
int main(void)
{
  int ten, percent;
while (1)   // ブロック block
{
  printf("授業の出席率は何%ですか。> ");
  scanf("%d", &percent);
     
  if (percent >= 80) 
  {
    printf("点数は何点ですか。> ");
    scanf("%d", &ten);    // 入れ子 nest
    if (ten >= 60)  
    {
      printf("合格です。\n");
    }
    else 
    {
      printf("再試験です。\n");
    }
  }  //ペアー 
  else {
    printf("補習です。\n");
     }
}		 

  return 0;
}

 演習問題

演習3-4 (教科書P51)

二つの整数値を読み込んで、値の関係を表示するプログラムを作成

  • 「AとBは等しいです。」
  • 「AはBより大きいです。」
  • 「AはBより小さいです。」

実行例

二つの整数を入力してください。
整数A:12
整数B:6
AはBより大きいです。

 

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA


Related Post

C programming (1) GuidanceC programming (1) Guidance

[災害時の避難経路の確認] C言語ガイダンス (2016A-C言語 I授業) 学習目的 プログラミングは楽しい 資格取得 就職 情報工学系科目のC言語の位置づけ カリキュラム C言語プログラミング能力認定試験(C言語検定) 基本情報技術者試験 プログラミング言語の歴史 アセンブラ→C→C++→Java→C# どのプログラミング言語が話題になっているか? 順位 TIOBE Programming Community Index TIOBE […]

C programming (7) Ch1 & Ch2 SummaryC programming (7) Ch1 & Ch2 Summary

履修システム使い方 (塚本先生担当) 連絡事項 花やしきについて、学生にお知らせ頂きたい事項を3点連絡  ①遅刻しないように 9:20までに 161教室に集合する事   出席の確認をします。  ②着物着付け、忍者の時間割をお知らせします。   「誰が何時」という情報  ③雨が降っても花やしきに行きます。   必ず9:20までに161教室に登校する事   第一章、第二章のまとめ 過去のページを参照 演習 演習2-6(P37) 身長を整数値として読み込み、標準体重を実数で表示するプログラムを作成せよ。 標準体重 = (身長 – […]

C programming (2) Create C ProgramsC programming (2) Create C Programs

C言語の特徴(1) 関数型言語 コンピュータに実行してもらう命令はすべて関数の中に記述されている。関数がプログラムの実行単位。いくつかの関数を組み合わせ、コンピュータへ命令をする。最初にコンピュータが実行する関数はmain()に決まっている。 戻り値の型 関数名(引数リスト) { 命令文; } コンパクトな言語仕様 予約語(キーワード)は各種の指示を行う命令。全部で32個。このなかには「画面に文字を表示する」とか「ディスクにデータを書き込む」などという「入出力」の機能はない。すべて「関数」として実現されている。このような基本的な関数がないとコンピュータとやり取りできないので、必ず標準ライブラリ関数として予め用意されている。 #include <stdio.h> Cプログラムの作成 C プログラムの作成手順 文字の並びとして作成したソースプログラムを、コンピュータが理解できる形式に変換する C プログラミングを書くための約束事 基本は半角英数字で書く 大文字と小文字は別の文字 文はセミコロンで区切る […]