C programming (f) Final Exam
C programming (e) Exam
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、真の場合はそれ以外の値をとることを利用した方法で、無限に繰り返されます。 […]
C programming (c) while / for statement
東京魅力PRサークル会員募集中 http://svn.mki.biz/pukiwiki/index.php?u-tokyo 興味があれば、ぜひコメントください。 while文構文 条件式を前判定して反復制御を行います。 while (条件式) { 繰り返す文; } 継続条件が真である間、文を繰り返し実行。 継続条件式がはじめから偽の場合は一度も実行されない。 例題: NIM GAME CALCULATOR for文構文 定められた回数だけ反復制御を行います。 for (初期化式; 継続条件式; 後始末) { 文; } 再初期化式の後に「;」は入れてはいけない。 例題: #include <stdio.h> int main(void) { int i; for (i = 1;i <= 10;i++) { printf(“%02d 回目\n”,i); } return 0; } for文とwhile文の交換性 一般的にfor文は「指定した回数分だけ処理を繰り返す」、while文は「指定した条件を満たすまで処理を繰り返す」と言う意味で、for文とwhile文は似ているようで定義されている意味は違います。 while文は、for文の条件式だけと同じです。 逆に言えば、for文はwhile文を拡張した文だと言えるでしょう。 実は、この2つは、同じような使い方をすることが可能です。 while文をfor文のように使う場合、次のようにします。 […]
C programming (b) do statement
C言語には、全部で3つのループ文が用意されています。 while文、for文、そして、do(デュウ)~while文です。 do~while文構文 do~while文は、一般に、次のような書き方で使用します。 do { 繰り返す文; } while (条件式); do~while文には、1つ大きな利点があります。それは、繰り返し文が、必ず1回は実行されるという点です。入力チェックの時に威力を発揮します。 継続条件式の後の(;)を忘れないよう注意。 円の面積を計算するプログラム。半径入力値が間違っているならば、再入力させる。 int main(void) { int r; double s; do { printf(“半径?:”); scanf(“%d”,&r); } while (r < 0); s = r * r * 3.14; printf(“面積は %f です。\n”,s); return 0; } 演習 ミニクイズ http://lmspress.net/ (登録は : 学籍番号 / 学校e-mailアドレス) 詳しくはLMS Pressとは参照してください。 入力チェックプログラム 下記のプログラムの入力チェックを追加して下さい。 入力値が間違って誤った月を入力された場合、再入力を行ってください。 […]
C programming (a) Switch statement
お知らせ 本日ABCDクラス合同避難訓練、第4時限目、本館141教室にて実施。 Switch文構文 条件式を判定して多方向分岐を行う。 switch (式) { case 定数: ブロック文 default: デフォルト・ブロック文 } Berak文構文 switch文で、case句の処理を打ち切りブロックを脱出するときに用いる。 ⇒ 説明済み for文、while文などのループから脱出するときに、if文と併用して用いる。 break; 例題 毎月の末日の判断 #include <stdio.h> int main() { int n; printf(“月を入力して下さい –> “); scanf(“%d”, &n); switch(n){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf(“–31日–\n”); break; case 4: case 6: […]
C programming (9) logical operators
C の推奨されるスタイル C言語やJava言語は、中括弧 { } を使ってブロックを記述します。 中括弧だけでなく、ブロックの範囲を字下げ(インデント)して記述します。 ただ、中括弧をどの位置に記述するかによって、コーディング・スタイルの宗教論争が起きています。 主に中括弧の位置の違いなのですが、なぜか字下げスタイルと呼ばれています。 // 中括弧の開始を、文末に記述するスタイルを「K&R スタイル」といいます。 void FuncA() { if ( … ) { } } // 中括弧の開始を、文のない行に記述するスタイルを「BSD スタイル」といいます。 void FuncA() { if ( … ) { } } // 関数の開始も、文末に記述するスタイルを「Java スタイル」といいます。 void FuncA() { if ( … ) { } } 複合文(ブロック) 文の並びを{ }で囲んだものを「複合文」といいます。ブロックとも言います。 複合文は複数の「宣言」と「文」を扱うことができます。 関数の定義に使うブロック { […]
C programming (8) if statement
制御構文は、上から下へ流れるプログラムを途中で流れを分岐させたり、流れを繰り返したりすることができる構文を表します。 制御構文の主な種類としてif文、for文、while文、switch文の4パターンあります。 if文を使うと、分岐構造を作ることができます。 条件式の真偽 状態 真偽 値 条件が満たされた場合 true(真) 1(0以外) 条件が満たされなかった場合 false(偽) 0 関係演算子 2つの値の大小を比較します。 条件を満たせば「真(true)」、条件を満たさなければ「偽(false)」となります。 関係演算子の形式は以下の通りです。 演算子 例 意味 < a < b aはbよりも小さい > a > b aはbよりも大きい <= a <= b aはbよりも小さい(a == bの条件も含む) >= a >= b aはbよりも大きい(a == bの条件も含む) == a == b aとbは等しい != a != b aとbは等しくない […]
C programming (7) Ch1 & Ch2 Summary
履修システム使い方 (塚本先生担当) 連絡事項 花やしきについて、学生にお知らせ頂きたい事項を3点連絡 ①遅刻しないように 9:20までに 161教室に集合する事 出席の確認をします。 ②着物着付け、忍者の時間割をお知らせします。 「誰が何時」という情報 ③雨が降っても花やしきに行きます。 必ず9:20までに161教室に登校する事 第一章、第二章のまとめ 過去のページを参照 演習 演習2-6(P37) 身長を整数値として読み込み、標準体重を実数で表示するプログラムを作成せよ。 標準体重 = (身長 – 100) * 0.9 実行例 身長を入力してください: 175 標準体重は 67.5 です
C programming (6) type and conversions
型と型変換 型 int — 整数 double — 浮動小数点数 平均点を求めるプログラム #include <stdio.h> int main(int argc, const char * argv[]) { // insert code here… int score[5]; // 5人の点数を入れる配列 int sum; // 合計点 // 各点数を入れる score[0] = 77; score[1] = 80; score[2] = 65; score[3] = 60; score[4] = 70; // 各点数を全て足して合計点を求める sum = score[0] + score[1] […]