if文


標準入力から整数済みデータを読込みます。
int scanf(
          const char *format [,argument]...
          ); 
数値型 変数;
scanf("変換指定子", &変数);
たとえば、
int n;
scanf("%d", &n);
とすれば、ユーザーがキーボードから整数を入力できます。そして、入力された数値は変数nに代入されます。
%c
文字入力
%d
10進整数
%f
float型浮動小数点数
%lf
double型浮動小数点数
%s
文字列
%p
ポインタ
%o
8進入力
%x
16進入力
%u
符号なし10進整数

ソースコード

源文件
  1|/* scan01.c */
  2|
  3|#include <stdio.h>
  4|
  5|int main(void)
  6|{
  7|  int num;
  8|
  9|  printf("整数値を入力してくださいーー");
 10|  scanf("%d", &num);
 11|  printf("あなたの入力した数値は%dです\n", num);
 12|
 13|  return 0;                                                                 
 14|}

実行結果

整数値を入力してくださいーー10
あなたの入力した数値は10です

scanf 関数を使うと、入力値を取得できる。


さて、本題の if 文を使ったプログラムを作ってみましょう。次のようなプログラムを作りたいと思います。これは、年齢により入場料が異なるテーマパークの料金を表示するプログラムです。
  1. 年齢を尋ねる
  2. 6歳未満なら無料
  3. 6歳以上なら1,000円

ソースコード

源文件
  1|/* nyujoryo.c */                                                            
  2|
  3|#include <stdio.h>
  4|
  5|int main(void)
  6|{
  7|  int age;
  8|
  9|  printf("Welcome to HeRe\n");
 10|  printf("Input your age,please. == ");
 11|  scanf("%d",&age);
 12|
 13|  if(age < 6){
 14|    printf("無料\n");
 15|}
 16|  if(age >= 6){
 17|    printf("1,000円を頂きます\n");
 18|  }
 19|  return 0;
 20|}

実行結果

Welcome to HeRe
Input your age,please. == 6
1,000円を頂きます

Welcome to HeRe
Input your age,please. == 5
無料


ソースコード

源文件
  1|/* nyujoryo02.c */                                                            
  2|
  3|#include <stdio.h>
  4|
  5|int main(void)
  6|{
  7|  int age;
  8|
  9|  printf("Welcome to HeRe\n");
 10|  printf("Input your age,please. == ");
 11|  scanf("%d",&age);
 12|
 13|  if(age < 6){
 14|    printf("無料\n");
 15|} else {
 16|    printf("1,000円を頂きます\n");
 17|  }
 18|  return 0;
 19|}


もう少し複雑にしてみましょう。
  1. 6歳未満なら無料
  2. 6歳未満でなくても学生なら無料
  3. 6歳以上でなく学生でもないときは1,000円

ソースコード

源文件
  1|/* nyujoryo03.c */                                                          
  2|
  3|#include <stdio.h>
  4|
  5|int main(void)
  6|{
  7|  int age;
  8|  int student;
  9|
 10|  printf("Welcome to HeRe\n");
 11|  printf("Input your age,please. == ");
 12|  scanf("%d",&age);
 13|  printf("Are you a Student?(Yes:1, No:0) == ");
 14|  scanf("%d",&student);
 15|
 16|  if(age < 6){
 17|    printf("無料\n");
 18|  } else if (student == 1){
 19|    printf("無料\n");
 20|  } else {
 21|    printf("1,000円を頂きます\n");
 22|  }
 23|  return 0;
 24|}

実行結果

Welcome to HeRe
Input your age,please. == 18
Are you a Student?(Yes:1, No:0) == 1
無料


Welcome to HeRe
Input your age,please. == 19
Are you a Student?(Yes:1, No:0) == 0
1,000円を頂きます

条件によって処理を分けるには、if, else if, elseを使う。



Chapter4 @ C言語目録 @ HomeWork List @ 昭亮's Homepage