0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

大学生が0からはじめたC言語vol.3

Posted at

条件判断

if文

if (条件式) 文 ;

等値演算子

==演算子は2つの値が等しい場合に真
ちなみに「=」は左の変数に代入

論理演算子

&&:かつ(AND) 右と左の条件が両方とも真→真
||:または(OR)右と左のどちらか片方が真→真
!:否(NOT) 条件が偽→真

else

条件が一致しなかったときに行う処理をかく

if(条件式)真の場合の処理;else 偽の場合の処理;

switch文

複数の番号との一致を判断する場合に限り簡単な書き方を用意

switch (条件式) {
case 数値:
    実行文;
    break;
case 数値:
    実行文;
    break;
}

case 数値のところをdefaultにかえると該当しない数字の際に動く処理を書ける

繰り返し文

for文を使う

int i;
for(i = 1; i <=繰り返し回数; i++){
    繰り返す処理;
}

for文を止めたいとき

break文でループを終了させることができる

int main(void)
{
    int i;

    for (i = 1; i <= 10; i++) {
        printf("%d\n", i);
        if (i == 9) {
        printf("ラスト1残して強制脱出");
        break; /* ループを終了する */
        }
    }

    return 0;
}

繰り返し回数がわからない繰り返し

ねずみ算の計算がある。こういったときにはWhile文を用いる。

while(条件式){
    繰り返す文;
}

for文は初期値と交信が使えるので定数回ループが使える
ねずみ算をやってみる
「今月は1円、来月は2円、再来月は4円と、先月の倍額のおこずかいをちょうだい」さて、親が払う金額が100万円を超えるのは何ヶ月目でしょうか?

int main(void){
double money = 1;
int month = 1;
while(money > 1000000){
printf("%02d 月目 : %7.0f 円\n", month, money);
month++;
money*= 2;
}
printf("%02d月目に %7.0f円に到達し、100万円を超える\n",month,money);

return 0;
}

moneyをdoubleにする理由はint型では100万円を記憶できないためである。(本来intでよい)

do while 文

do{
    繰り返し文;
}while(条件式);

基本的にwhile文と同じ。唯一違うことは必ず処理が一度走ること。
値がそもそもまちがっていたときwhileだと分からないがdo whileだとprintf関数でチェックできるという利点がある。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?