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

Slides:



Advertisements
Similar presentations
プログラミングとは Q.プログラムとは何か? A.コンピュータを制御するための,コンピュータに対する命令(指示)の集まり.
Advertisements

コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
プログラミング入門2 第1回 イントロダクション 芝浦工業大学情報工学科 青木 義満
情報処理演習 (9)グラフィックス システム科学領域 日浦 慎作.
応用理工学情報処理 第1回(2015年10月 5日) 月曜日担当 前島展也 Manaba
コンピュータープログラミング(C言語)(3) 1.関数と分割コンパイル (復習) 2.キーボード入力
情報基礎演習B 後半第5回 担当 岩村 TA 谷本君.
基礎プログラミングおよび演習 第9回
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
プログラミング入門2 第1回 導入 情報工学科 篠埜 功.
プログラミングとは Q.プログラムとは何か? A.コンピュータを制御するための,コンピュータに対する命令(指示)の集まり.
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
ファイル操作と文字列の利用.
第10回 プログラミングⅡ 第10回
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
C言語講座 第3回 ポインタ、配列.
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
プログラミング論 I 2008年5月22日 講義概要 C言語復習
関数の定義.
プログラミング 4 記憶の割り付け.
プログラミング序論 2. n人のインディアン.
プログラミング演習I 2003年5月7日(第4回) 木村巌.
プログラミング入門2 第2回 型と演算 条件分岐 篠埜 功.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
Structured programming
04: 式・条件分岐 (if) C プログラミング入門 基幹7 (水5) Linux にログインし、以下の講義ページ を開いておくこと
プログラミング入門2 第11回 情報工学科 篠埜 功.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
高度プログラミング演習 (02).
プログラミング言語論 第五回 理工学部 情報システム工学科 新田直也.
Nakano School of Business 経営情報ビジネス科 【 C言語入門(Test2)】
プログラミング基礎B 文字列の扱い.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
情報処理Ⅱ 第2回:2003年10月14日(火).
岩村雅一 知能情報工学演習I 第12回(C言語第6回) 岩村雅一
C言語 はじめに 2016年 吉田研究室.
プログラミング序論演習.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
プログラミング演習I 2003年4月30日(第3回) 木村巌.
復習 2次元配列 4列 j = 0 j = 1 j = 2 j = 3 i = 0 i = 1 i = 2 3行
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
オブジェクト指向言語論 第五回 知能情報学部 新田直也.
情報処理Ⅱ 第7回 2004年11月16日(火).
標準入出力、変数、演算子、エスケープシーケンス
コンパイラ 2012年10月11日
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第12回(後半第6回) 岩村雅一
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
第7章 そろそろ int 以外も使ってみよう! ~データ型 double , bool~
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
情報処理Ⅱ 第2回 2004年10月12日(火).
第3回簡単なデータの入出力.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
情報処理Ⅱ 2005年11月25日(金).
プログラミング演習II 2004年11月 2日(第3回) 理学部数学科・木村巌.
プログラミング序論演習.
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
printf・scanf・変数・四則演算
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
第1章 文字の表示と計算 printfと演算子をやります.
変数と代入・読込と表示 第2回[平成15年4月24日(木)]:PN03ー02.ppt 今日の内容 1 プログラムの構造(復習)
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

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

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

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

講義日程

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

プログラムの制作プロセス 保守・更新 http://wwws.kobe-c.ac.jp/deguchi/c/step.htmlより

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

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

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

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

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

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

基本型

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

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

printfの使い方 (構文図)

変換指定子など

最小フィールド幅

変換修飾子

変換指定子(1)

変換指定子(2)

変換指定子(3)

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

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

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

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

演算子(1)

演算子(2)

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

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