網絡学習管理 明解C言語入門1 C programming (d) break & continue

C programming (d) break & continue

break文

switch文のところでbreakというのが何回も登場しました。
switch文での意味は「switch文から抜け出す」という意味でしたね。
breakはswitch文以外にもfor文やwhile文のループの中でも使うことが出来ます。
この時もbreakは「for文やwhile文のループから抜け出す」という意味を持っています。

break文を使って抜けられるのはループひとつだけです。ですから、二重、三重のループを抜けるには、その度にbreak文を使うようになります。

continue文

continueはfor文やwhile文などのループ処理をスキップさせるに用います。
breakとは違い、continueはスキップした後は、ループの先頭に戻ります

#include	<stdio.h>

int main(void)
{
  int i = 1, n, sum;
 
  sum = 0;
  while (i <= 5) {
    printf("正の整数を入力 : ");
    scanf("%d", &n);
    if (n < 0)
      continue;
    sum = sum + n;
    i++;
  }
  printf("sum = %d\n", sum);
  
  return 0;
}

 

無限ループ

while(1)とすると、基本的に処理は無限に繰り返されます。これは、条件式が偽の場合は、0、真の場合はそれ以外の値をとることを利用した方法で、無限に繰り返されます。 ただ、こういった無限ループでも、break(ブレイク)があると、ループから出ることができます。

電卓のプログラムで無限ループで、繰り返し計算を行います。

#include <stdio.h>
main()
{
    double  a, b, ans;
    char    op;

    printf( "加減乗除(+,-,*,/)ができます。指定例:2+5、終了時はq\n" );
    while( 1 ) {
        printf( "ready : " );
        if( scanf( "%lf %c %lf", &a, &op, &b ) != 3 ) break;
        switch( op ) {
        case '+': ans = a + b; break;
        case '-': ans = a - b; break;
        case '*': ans = a * b; break;
        case '/': if( b == 0.0 ) {
                     printf( "Error!(ゼロでの割算はできません)\n" );
                     continue;
                  }
                  ans = a / b; break;
        default:  printf( "Error!(演算記号の指定が誤りです)\n" );
                  continue;
        }
        printf( "--> %g\n", ans );
    }
    printf( ".... Power OFF\n" );
}

 

多重ループ

九九の計算結果を表示するプログラム

#include <stdio.h>

int main(void)
{
  int i, j;
  
  for (i = 1; i <= 9; i++) {
    for (j = 1; j <= 9; j++) {
      printf(" %2d", i * j);
    }
    printf("\n");
  }
  return 0;
}

forループの2重ループを使っています。
最初のループでiが1の時はその下のforループで、
jが1から9まで増加させながら、その1の値と掛け合わせた結果を表示しています。
つまり九九の計算結果となるわけです。
二つ目のforループが終わると、printfで改行コードを出力してるので、
ちょうど9個結果を横に表示した後に次のループに入ることになり、
綺麗に九九の表が表示されるというわけです。

計算結果の間にスペースがあるのは一つ目のprintfで%2dの前にスペースが入っているからです。

ミニテスト

http://lmspress.net/courses/c-programming-i/

演習(p101)

  1.  演習4-24 (A, B クラス)
    — List(4-18)、List(4-19)p99 を参考してください。
  2. 演習4-25 (C, D クラス)

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA


Related Post

C programmingC programming

【授業の概要】 コンピュータプログラム開発言語の中で広く利用されているC言語をCプログラミング開発環境ソフト: CPad for Borland C++ Compilerを使った一人一台のPCを使い実習により学びます. 毎回問題に取り組み理解を深めます。復習問題としてプログラミング課題を出題する。 【授業要旨】 回数 題目 授業内容 学習課題 予習時間(分) 復習時間(分) 1 ガイダンス 学習目的 情報工学系科目のC言語の位置づけ CPad開発環境 PCを持っている学生は開発環境をインストする 60 […]

C programming (2) Create C ProgramsC programming (2) Create C Programs

C言語の特徴(1) 関数型言語 コンピュータに実行してもらう命令はすべて関数の中に記述されている。関数がプログラムの実行単位。いくつかの関数を組み合わせ、コンピュータへ命令をする。最初にコンピュータが実行する関数はmain()に決まっている。 戻り値の型 関数名(引数リスト) { 命令文; } コンパクトな言語仕様 予約語(キーワード)は各種の指示を行う命令。全部で32個。このなかには「画面に文字を表示する」とか「ディスクにデータを書き込む」などという「入出力」の機能はない。すべて「関数」として実現されている。このような基本的な関数がないとコンピュータとやり取りできないので、必ず標準ライブラリ関数として予め用意されている。 #include <stdio.h> Cプログラムの作成 C プログラムの作成手順 文字の並びとして作成したソースプログラムを、コンピュータが理解できる形式に変換する C プログラミングを書くための約束事 基本は半角英数字で書く 大文字と小文字は別の文字 文はセミコロンで区切る […]