1 / 28

C 言語によるプログラミングスタイル

C 言語によるプログラミングスタイル. 制御システム工学科 山北 昌毅. 情報処理概論及び演習. 1.水曜日 S 516   前半 C言語の講義   後半  Matlab の演習 [ 学術国際情報センター(GSIC) ] 2.金曜日 学術国際情報センター(GSIC)         旧図書館南側の3階の建物         3階の第 1 実習室   C言語の演習. 講義日程. C言語講義のテキスト. 明解C言語 第 1 巻 入門編:柴田望洋 C言語のテキストを既に持っている人はそれでいいです。. 本日の内容. 構造化プログラミング

Download Presentation

C 言語によるプログラミングスタイル

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. C言語によるプログラミングスタイル 制御システム工学科 山北 昌毅

  2. 情報処理概論及び演習 1.水曜日 S516   前半 C言語の講義   後半 Matlabの演習[学術国際情報センター(GSIC)] 2.金曜日 学術国際情報センター(GSIC)         旧図書館南側の3階の建物         3階の第1実習室   C言語の演習

  3. 講義日程

  4. C言語講義のテキスト 明解C言語 第1巻 入門編:柴田望洋 C言語のテキストを既に持っている人はそれでいいです。

  5. 本日の内容 • 構造化プログラミング • コンパイル・リンクの方法ソースファイル、オブジェクトファイル、実行ファイル • printf,scanf(結果の表示、キーボードからの入力) • 変数・定数の使い方 • 型 • 暗黙の型変換・明示的型変換 • 演算子

  6. 構造化プログラミング [目的] プログラムのテスト、保守、コード修正をしてくれる人(将来の自分も含む)に理解しやすいプログラムを作成すること。   → 実際の実行に際して、数マイクロの実行速度を早くしたり、数ワードの記憶領域を節約しようという無駄な努力はしない。(例外としては、制御プログラムなど実時間性の強いものや、人工衛星搭載用など記憶領域に制限があるもの)

  7. 構造化プログラミングのための指針 • 逐次実行文、do-while文、do-until文、if-then-else文、case文の5つの基本文からプログラムを作る。 • goto文の使用は極力避け、プログラムは上から下へ読めるようにする。 • プログラムは実行の流れの分岐点がすぐに分かるようにソース上で字下げ(インデント)を行う。特に、入れ子構造の場合はインデントを行う。 • 文が並んでいるもの(ブロック)は1つの入口と1つの出口を持つようにする。 • 論理は単純で、問題を単刀直入に解決する。(数学の証明ではないから、等価問題などに置き換えるようなことはしない。) • 良い表現をする。 • 変数名は意味のあるものにする。 • ライブラリ関数を使う。 • 同じ表現の繰り返しは関数呼出し(サブルーチンコール)に変える。 • 一時変数はなるべく使わない。

  8. C言語の特長 C言語は構造化プログラムを容易に記述できる高級アセンブラ [利点] • 移植性に優れている。(ほとんどの計算機上で使える。) • 小技が効く(アセンブラと同等な処理プログラムを記述できる)。 • 実行効率の良いプログラムを記述することが出来る。 • 世の中でもっとも実用になっている

  9. 世界一有名なプログラム #include <stdio.h> int main(void) { printf(“Hello, world !\n”); } afo.c

  10. 実行ファイルの生成 > cc –o afo afo.c コンパイラ リンカー afo.c afo afo.o + ライブラリ

  11. 基本型

  12. 基本型の定数 • int 型10, -1(10進数)0x10(16進数)010(8進数) • float, double型10.0, -1.0, 2.0e3, 4.0e-4 • char型‘A’, ‘b’ • 文字列(char型のポインター)“Hello”

  13. JISコード表(文字型定数)

  14. printfの使い方 (構文図)

  15. 変換指定子など

  16. 最小フィールド幅

  17. 変換修飾子

  18. 変換指定子(1)

  19. 変換指定子(2)

  20. 変換指定子(3)

  21. 簡単な計算と結果の表示 #include <stdio.h> int main(){ printf(“%d\n”, 2*3); printf(“%f\n”, 4.0/5.0) } 拡張表記(エスケープシーケンス) 数値を変えたいとすると 再コンパイル 効率が悪い 変数の利用

  22. 変数の宣言 基本はブロックの先頭で (ブロック内では同じ変数名は一つだけ!) 型名 変数名{=初期値,変数名..} 例 int x, y=0; double z;

  23. scanfの使い方 scanf(書式,&変数{,変数}) ‘まじない’だと思って必ず付ける

  24. 変数とscanfの利用 double x,y; scanf(“%lf%lf”,&x,&y); printf(“%f\n”,x/y); >4.0 5.0 ↓(Enter) 0.8 >

  25. 演算子(1)

  26. 演算子(2)

  27. 暗黙・明示的な型変換(キャスト) [明示的型変換] (型名)値 例 (double) 1, x = (int)1.0; [暗黙の型変換](‘精度の高い’型に自動変換) 例 1.0/2 -> 1.0/(double)2

  28. Quiz printf("%f\n", 1/2/4.0); 結果は? printf("%f\n", 1/4.0/2);

More Related