| 授業資料 | 情報グラフィックス論U |
| 戻る(アニメーションへの応用) | 次へ(補足) |
if文の基本
条件が2つある場合−if-else文−
条件が3つ以上ある場合−if-else if文−
剰余算を使ったif文
条件文は、ある指定した場合にプログラムを実行するように制御を行うためのものである。
#include <stdio.h>
int main(void)
{
int i;
int x;
int y;
gopen(200, 200);
for (i=0; i < 3; i++) {
x = i * 20;
y = 0;
if (0 == i) {
gline(50+x, 50+y, 150+x, 150+y, 255, 0, 0);
}
}
gclose();
return 0;
}
条件文は次のように書く
if (条件式) {
文;
:
}
構文がifで始まるので、if文とも言う。
ifに続く()内に条件式を書き込む。条件式が真(合ってる)であれば、{}で括られた部分の文を実行する。
条件式が偽(正しくない)であれば、{}の部分は実行せずに次にいく。
| 真 | |
| a < b | aよりbが大きい |
| a > b | aよりbが小さい |
| a == b | aとbが等しい |
| a <= b | aよりbが大きいか等しい |
| a >= b | aよりbが小さいか等しい |
| a != b | aとbが等しくない |
条件式は2つの変数の大小を比較するときに使い、比較演算子(>、<、==など)を使う。
条件式は結果が正しければ真(1)を返し、正しくなければ偽(1以外)を返す。
よく使う条件式は、次のものがある。
条件が2つあり、それぞれ別の処理をしたい場合は、elseを使う。
if (条件式) {
文1;
:
}
else {
文2;
}
最初のif文の条件式に合わない状態(偽)では文2が実行される。
if文はforループの中だけでなく、どの位置でも記載することができる。
if文の{}内にはどんな文(ループ文やif文etc.)でも入れることができる。
#include <stdio.h>
int main(void)
{
int i;
int x;
int y;
gopen(200, 200);
for (i=0; i < 3; i++) {
x = i * 20;
y = 0;
if (0 == i) {
gline(50+x, 50+y, 150+x, 150+y, 255, 0, 0);
}
else {
gline(50+x, 50+y, 150+x, 150+y, 0, 255, 0);
}
}
gclose();
return 0;
}
条件が2つ以上ある場合は、else ifを使う。一般に次のように書く。
#include <stdio.h>
int main(void)
{
int i;
int x;
int y;
gopen(200, 200);
for (i=0; i < 3; i++) {
x = i * 20;
y = 0;
if (0 == i) { /* 条件式1 */
gline(50+x, 50+y, 150+x, 150+y, 255, 0, 0); /* 文1 */
}
else if (1 == i) { /* 条件式2 */
gline(50+x, 50+y, 150+x, 150+y, 0, 255, 0); /* 文2 */
}
else {
gline(50+x, 50+y, 150+x, 150+y, 0, 0, 255); /* 文3 */
}
}
gclose();
return 0;
}
プログラムの進み方は次のようになる。
else if文はif文の後にいくつでも繋げることができる。
#include <stdio.h>
int main(void)
{
int i;
int x;
int y;
gopen(200, 200);
for (i=0; i < 10; i++) {
x = i * 5;
y = 0;
if (0 == (i % 3)) { /* 条件式1 */
gline(50+x, 50+y, 150+x, 150+y, 255, 0, 0); /* 文1 */
}
else if (1 == (i % 3)) { /* 条件式2 */
gline(50+x, 50+y, 150+x, 150+y, 0, 255, 0); /* 文2 */
}
else if (2 == (i % 3)) {
gline(50+x, 50+y, 150+x, 150+y, 0, 0, 255); /* 文3 */
}
}
gclose();
return 0;
}
剰余算(%)は余りを結果として出力する演算である。
i % 3の結果は3の余りの0か1か2となる。
この結果をif文の条件文に使う。
剰余算を使うとループの回数が多い場合でも指定したパターンを繰り返すようなループにすることができる。
| 授業資料 | 情報グラフィックス論U | 戻る(アニメーションへの応用) | 次へ(補足) |
Copyright 2002-2006 Yuki Toriumi