PowerPoint プレゼンテーション

広島工大
前回の内容
• Unixコマンド(つづく)
(wc, sort, grep)
• viエディタ
情報基礎実習Ⅰ
1
広島工大
今日の内容
• はじめてのC
• C言語の基礎
• プログラミングの流れ
• 例と問題
情報基礎実習Ⅰ
2
広島工大
はじめてのC
Cは何だろう?
ーーC言語は1972年米国のベル研究所で開発された
コンピュータプログラミング言語である。
プログラミングは何だろう?
――コンピュータが指示された命令によって動作する。
――命令は一つではなく、一連の命令である。
――一連の命令はプログラムで指示する。
――命令書(プログラム)を書く言語はプログラミング
言語である。
情報基礎実習Ⅰ
3
Hello, welcome to C world.
広島工大
/* Simple example of C program */
main()
{
printf(“Hello, Welcome to C world!\n”);
}
• コンパイラで処理
• 実行
なぜ?
情報基礎実習Ⅰ
4
広島工大
マシーン言語
コンピュータ
人間
Cでプログラム
を書く
マシーン言語しか認識
できないなぁ…
コンパイラ
翻訳者
情報基礎実習Ⅰ
5
広島工大
実際に
1、プリプロセッサで処理
(前処理)拡張Cソースコードの生成
2、Cコンパイラで処理
アセンブリコードの生成
3、アセンブラでの処理
オブジェクトプログラムの生成
4、リンカでの処理
オブジェクトとライブラリの結合
5、実行
注:Preprocess, Compiler, assembler, object, linker, library
情報基礎実習Ⅰ
6
広島工大
C言語の基礎
最も簡単なCソース例
main()
{
}
情報基礎実習Ⅰ
7
広島工大
C言語の基礎
注釈(Comment,コメント)
注釈はソースプログラムの内容を自分または他人が理解手助け
となる文である。
•
•
•
•
/*と*/ペアで囲んだ文
これをコンパイラは無視する
どこに置いても構わない
何行でもいい
情報基礎実習Ⅰ
8
広島工大
C言語の基礎
関数
プログラムは関数で構成される
関数名は英字(大文字、小文字)か下線で始まる英字と数字
からなる文字列である。
最も重要な関数main()
プログラムにはmain()関数がひとつ必要である。
実行時main()から始まる
名前は固定
Cプログラムの構成:main関数+その他の関数
関数は{で始まり、}で終わる
情報基礎実習Ⅰ
9
広島工大
C言語の基礎
文(Sentence)
文は宣言文と実行文がある。文と文はセミコロン;で区切る。
#付きの行と関数の定義にはセミコロンは付けない
例:c03.c
予約語
予約語はC言語自身があらかじめ定義しキーワードとして
使うものなので、関数名と変数名として使うことができない。
情報基礎実習Ⅰ
10
広島工大
C言語の基礎
変数の型
C言語では使用する変数はすべて宣言する必要がある。
基本となるデータ型
int, char, float
他
short, long, unsigned, double
各型のデータのサイズはコンパイラに依存する
例:各種の変数の型の占めるサイズをバイト単位で求める。
情報基礎実習Ⅰ
11
広島工大
C言語の基礎
制御文字(エスケープシーケンス)
printf(“Hello, welcome to C world.\n”);
\0
\b
\f
\n
\r
\t
\\
\’
\”
ナル
バックスペース
改ページ
改行
復帰
水平タブ
バックスラッシュ
コーテーション
ダブルコーテーション
情報基礎実習Ⅰ
12
広島工大
C言語の基礎
マクロ(macro)
#define MAX 101
#define max(x,y) (((x)>(y)) ? (x): (y))
上記のような#で始まる行はプリプロセッサで処理する。(書き直し
拡張Cソースプログラムを生成する。
ソースコードの中に表れる定型的文字列や一連の式や数字
などを簡単な文字列(マクロ)で定義し、ソースコードが簡潔
で理解しやすくなる。
コードにマクロを使うと、後から数値の変更が容易である。
例:マクロ定義を使ったプログラム例。
情報基礎実習Ⅰ
13