Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "C言語によるプログラミングスタイル 制御システム工学科 山北 昌毅."— Presentation transcript:

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

2 基礎情報処理及び演習 1.3コマ目 S224 前半 C言語の講義 後半 Matlabの演習[南4情報演習室第一演習室] 2.4コマ目 C言語の演習 南4情報演習室第一演習室

3 演習室の場所 ここ 南4情報演習室第一演習室 (セブンイレブンのビルの3F)

4 講義日程

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

6 プログラムの制作プロセス 保守・更新

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

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

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

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

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

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

13 基本型

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

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

16 printfの使い方 (構文図)

17 変換指定子など

18 最小フィールド幅

19 変換修飾子

20 変換指定子(1)

21 変換指定子(2)

22 変換指定子(3)

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

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

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

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

27 演算子(1)

28 演算子(2)

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

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


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

Similar presentations


Ads by Google