C - 早稲田大学

.
Cプログラミング (2014)
.
第1回
−講義概要・前期の復習−
松田七美男
2014 年 9 月 25 日
. 講義概要
.
.
Cプログラミング入門に引き続き
. 講義概要
.
.
Cプログラミング入門に引き続き
オペレーティングシステム (OS)
Unix の上で実習
. 講義概要
.
.
Cプログラミング入門に引き続き
オペレーティングシステム (OS)
Unix の上で実習
à
実践的なプログラミング技術の習得
プログラミングにおける総合的知識・技術の
習得
. 講義内容予定
1.
ガイダンス,C言語の復習(+プロラミングツール)
2.
C言語の復習:配列とポインタ
3.
連立方程式の解法と行列 (1):Gauss の消去法
4.
連立方程式の解法と行列 (2):LU 分解(+lapack の利用方法)宿題 1
5.
宿題 1 の解説と演習
6.
非線形方程式の数値解法:2 分法とはさみうち法
7.
非線形方程式の数値解法:ニュートン法
8.
常微分方程式の数値解法:オイラー法,ルンゲ・クッタ法
9.
常微分方程式の数値解法:連立および高階常微分方程式
.
10
アルゴリズムの改善:ソート,多項式の評価 宿題 2
.
11
宿題 2 の解説と演習
.
12
プロットツール gnuplot の紹介と C 言語からの利用
.
13
簡単な X11 のグラフィックライブラリ eggx の紹介
.
14
グラフィックライブラリ eggx によるアニメーション作成
.
15
ウェブ演習 宿題 3
. 講義内容予定
1.
ガイダンス,C言語の復習(+プロラミングツール)
2.
C言語の復習:配列とポインタ
3.
連立方程式の解法と行列 (1):Gauss の消去法
4.
連立方程式の解法と行列 (2):LU 分解(+lapack の利用方法)宿題 1
5.
宿題 1 の解説と演習
6.
非線形方程式の数値解法:2 分法とはさみうち法
7.
非線形方程式の数値解法:ニュートン法
8.
常微分方程式の数値解法:オイラー法,ルンゲ・クッタ法
9.
常微分方程式の数値解法:連立および高階常微分方程式
.
10
アルゴリズムの改善:ソート,多項式の評価 宿題 2
.
11
宿題 2 の解説と演習
.
12
プロットツール gnuplot の紹介と C 言語からの利用
.
13
簡単な X11 のグラフィックライブラリ eggx の紹介
.
14
グラフィックライブラリ eggx によるアニメーション作成
.
15
ウェブ演習 宿題 3
.
.進行状況により内容が変更される場合があります
. 講師・TA の紹介
講師 松田七美男
所属 :東京電機大学工学部
e-mail :[email protected]
url :http://ayapin.film.s.dendai.ac.jp
.
TA 桑原大樹,関口知絵実
所属 :早稲田大学理工学院
. 講師・TA の紹介
講師 松田七美男
所属 :東京電機大学工学部
e-mail :[email protected]
url :http://ayapin.film.s.dendai.ac.jp
.
TA 桑原大樹,関口知絵実
所属 :早稲田大学理工学院
. 出欠の確認方法と成績評価
. 出欠は教室で配られる出席票で行います.
1
10 分以上の遅刻は欠席とみなします.
自分の出席状況を Waseda-net ポータルで確認してく
ださい. 異議がある場合は,教務事務担当
([email protected]) にメールで問い合わせてくだ
さい.
. 出欠の確認方法と成績評価
. 出欠は教室で配られる出席票で行います.
1
10 分以上の遅刻は欠席とみなします.
自分の出席状況を Waseda-net ポータルで確認してく
ださい. 異議がある場合は,教務事務担当
([email protected]) にメールで問い合わせてくだ
さい.
. 原則,全体の 2/3 以上(10 回以上)出席すること.
2
. 出欠の確認方法と成績評価
. 出欠は教室で配られる出席票で行います.
1
10 分以上の遅刻は欠席とみなします.
自分の出席状況を Waseda-net ポータルで確認してく
ださい. 異議がある場合は,教務事務担当
([email protected]) にメールで問い合わせてくだ
さい.
. 原則,全体の 2/3 以上(10 回以上)出席すること.
3. 期末テストは実施しません.成績は,以下のように宿
題と演習の評点で判定されます.
2
宿題 (プログラム演習問題)は 3 回あります.そのうち
1,2 回目を各 20 点,第 3 回目を 30 点満点として評価
します.
今年度から講義時間内に解答する課題演習を 3 回行い
ます.それぞれ 10 点満点として評価します.
. 理工 UNIX システムへのログイン方法
.
2012 年度秋学期からの変更点
.
MS-Windows/Linux の dual boot
Linux(CentOS 6.3) を選択して起動する.
.
. ログイン後の環境設定
初期画面
firefox で講義のページを閲覧
端末を 1 つ開いたところ
文字サイズを小さく( Ctrl + - )
. gedit
.
gedit の起動: .$ gedit &
. gedit
.
gedit の起動: .$ gedit &
ファイルの選択
. コンパイルと実行
.
コンパイル
.
gcc -o 実行ファイル名 ソース
例:gcc -o hello
-lm
| {z } |{z}
| {z } ex02.c
実行ファイル名
ソース 数学ライブラリ
.
. コンパイルと実行
.
コンパイル
.
gcc -o 実行ファイル名 ソース
例:gcc -o hello
-lm
| {z } |{z}
| {z } ex02.c
実行ファイル名
ソース 数学ライブラリ
.
警告オプション: -Wall (場所は任意)
例: gcc -Wall -o hello ex02.c -lm
例: gcc -o hello -Wall -lm ex02.c
. コンパイルと実行
.
コンパイル
.
gcc -o 実行ファイル名 ソース
例:gcc -o hello
-lm
| {z } |{z}
| {z } ex02.c
実行ファイル名
ソース 数学ライブラリ
.
警告オプション: -Wall (場所は任意)
例: gcc -Wall -o hello ex02.c -lm
例: gcc -o hello -Wall -lm ex02.c
実行: 実行ファイル名をキー入力する
例: ./hello
実行ファイルパスの確認(echo $PATH)
ファイルパスを明示的に指定して実行
. ソースの整形:indent
. ソースの整形:indent
à
indent ex02.c
. ソースの整形:indent
à
indent ex02.c
. C 言語:キーワード
変数と型
char int double void
条件分岐
if 文 switch∼case 文
繰り返し
while 文 do while 文 for 文
配列
x[N] A[N][M] a[i]=*(a+i) 文字列 ≡char 配列
関数
メイン関数 f( ) 関数へのポインタ (*f)( )
ポインタ
定数ポインタ ポインタ変数 間接演算子
構造体
struct tag {....};
プリプロセッサ,ファイル入出力
. C 言語:キーワード
変数と型
char int double void
条件分岐
if 文 switch∼case 文
繰り返し
while 文 do while 文 for 文
配列
x[N] A[N][M] a[i]=*(a+i) 文字列 ≡char 配列
関数
メイン関数 f( ) 関数へのポインタ (*f)( )
ポインタ
定数ポインタ ポインタ変数 間接演算子
構造体
struct tag {....};
プリプロセッサ,ファイル入出力
.
情報 Q&A .. Go
.
.コンピュータリテラシー,Cプログラミング入門に関するの相談
. 分割コンパイル:make
.
make
ユーティリティ
.
make [ -f makefile 名 ] [ ターゲット名 ]
.
makefile 名を指定しないときには,
GNUmakefile, makefile, Makefile の順に
探す
makefile の特殊な構文規則:
コマンド行の先頭をタブ文字で始めること
. ソースコード管理:diff, patch
.
ソースコードの差分:diff
.
. diff [ options ] from-file to-file [ > ***.diff ]
オプションは,-u がよく用いられる.
. ソースコード管理:diff, patch
.
ソースコードの差分:diff
.
. diff [ options ] from-file to-file [ > ***.diff ]
オプションは,-u がよく用いられる.
.
ソースコードの更新:patch
.
. patch foo.c < ***.diff
旧ソースコードに戻すこともできる.
. Waseda-net portal:メイン画面
. Waseda-net portal:メイン画面
.
. Waseda-net portal:メイン画面
.
. Web メールサービストップ画面
. Web メールサービストップ画面
メッセージ作成ボタン
.
. メッセージ作成ダイアログ
. メッセージ作成ダイアログ
送信メッセージ保存
.