toshpit

Tosh Land

洗濯と掃除を効率的に!ズボラでも楽チンに!

【MacでC言語】初心者向け〜レッスン3〜

for文

Macintosh (OS 10.15 Catalina)でC言語をプログラミングする方法を解説していきます。

 

この記事の対象者

  • Macユーザー
  • プログラミング初心者
  • C言語初心者

前回は条件分岐処理の if 文を解説しました。今回はユーザーに値を入力させる処理と、初歩的なループ処理(繰り返し処理)について解説していきます。

前回の記事はこちら↓ 

 

scanf

プログラム実行中にユーザーの入力を待ち受け、入力された内容を受け取る関数です。

scanf("%型", &変数);

書き方は上のようになっており、"型"には「数値型」、「文字型」なのかといった指定をします。入力された内容(値)が"変数"に格納されます。

例えばこのような感じです。

scanf("%d", &number);

この場合、"number"という変数に、入力内容を数値型として受け取る、という書き方です。型のところは"%d"となっており、こういった指定の仕方を「フォーマット指定子」などと呼ばれます。

 

フォーマット指定子は printf などの出力でもよく使うもので、例えば scanf で入力された値を出力させる場合はこのように書きます。

printf("入力された数字は%dです。", number);

よく使うフォーマット指定子を紹介しておきます。

指定子 対応する型
%d int, short
%f float
%lf= double
%ld= long
%c char
%s char *

 

for

代表的なループ処理です。ループを続ける条件を書いて、それが偽になった時(条件を満たさなくなった時)にループを抜けて次の処理に行きます。

for (ループ条件) { 処理 }

ループ条件のところは色々な書き方がありますが、例えばよくやる書き方だとこんな感じです。

for (int i = 1; i <= 10; i++)

整数型(int)で "i" という変数を定義し、最初に 1 を入れてます。

真ん中の "i <= 10"の部分は、「 i が10以下の場合にループ内の処理を行うよ」という意味です。

そして最後の "i++" の部分はインクリメントと呼ばれる方法で、i をプラス 1 しています。つまり、"i = i + 1"と書いているのと同じ意味です。

要約すると、このfor文は1〜10まで処理を繰り返すループということになります。

例えば以下のようなコードを書くと、

for (int i = 1; i<=number; i++)
{
printf("i の値は、%d です。\r\n", i);
}

実行結果はこのようになります。

forループ

i が 1 ずつ足されていることがわかりますね。処理には四則演算も使えるので、i を使って色々試してみると面白いかもしれません。

因みに、例では i でループしてますが、変数なので i でなくとも何でも大丈夫です!

今回使ったコードを貼っておくので、よければこれをベースに色々試してみてください。

int main(void)
{
int number;
printf("すきな数字を入力してください;");

scanf("%d", &number);
printf("入力された数字は%dです。\r\n", number);

for (int i = 1; i<=number; i++)
{
printf("i の値は、%d です。\r\n", i);
}

return 0;
}

 

続きはこちら