応用情報技術者試験 - SE娘の剣 -

応用情報処理技術者試験の対策サイトです。 応用情報処理技術者試験の午前問題を中心とした基礎用語の解説を中心に掲載します。書き始めたばかりなので、内容はまだまだ不十分です。少しずつ追記していきます

2.scanfを使って、キーボードからの入力。

scanf(スキャンエフ)を使って、キーボード入力。この場合は、整数値をxに入れる
 scanf("%d",&x);

◆1.シンプルにプログラムを書いてみた。
整数入力としてxに値を入れて、それを表示する
#include <stdio.h>

void main(){
 int x;
 printf("xの値を入力してください:");
 scanf("%d", &x);   //scanfを利用して整数入力させ、xに入れる
        //%dは整数の場合で、%fは浮動小数点、%cは文字などと決められている
 printf("入力された値は%dです。\n", x);   // "\n" は改行コード。%dにxの値が入る。
}

※戻り値がなく、単に表示するだけなのでvoidを使っている。
※実行してきちんと動くと、うれしい。

◆2.数字が入力されているかをチェック
文字ではなく数字が入力されているかのチェックし、数字ではない場合には「入力エラーです」と表示する場合は次のようになります。
#include <stdio.h>

void main(){
 int x;
 printf("xの値を入力してください:");

// 文字ではなく数字が入力されたかのチェック。scanfは取得に成功したデータの数を返す。よって、値が1でなければエラー
if(scanf("%d", &x)!=1){ //数値の取得に失敗した場合
  printf("入力エラーです\n");
  return;  //プログラムの途中終了  
 }
 
 printf("入力された値は%dです。\n", x);  
}