C言語入門

1
C言語入門
プログラミング言語Ⅰ(実習を含む。),
計算機言語Ⅰ・計算機言語演習Ⅰ,
情報処理言語Ⅰ(実習を含む。)
2
プログラミング言語、計算機言語、
情報処理言語とは?
• コンピュータに命令するための人工言語
• AWK, BASIC, C, C++, C#, D, ECMAScript, Erlang,
Fortran, F#, Haskell, Java, JavaScript, Lisp,
Objective-C, OCaml, Perl, PHP, Python, Ruby,
Smalltalk, Tcl, 等々
3
プログラムとは?
• 値の保存・参照、各種演算、条件分岐等を組
み合わせた計算の手順
データ
処理
参照
条件判定
処理
真
保存
処理
データ
処理
偽
4
プログラムが出来ると
何が良いのか?
• コンピュータに仕事をやってもらえる!!!
• ルーチンワークから解放
• 工作の世界も広がる!!!
• 最近は Arduino 等の安くて高機能なキットがある
• http://thinkit.co.jp/story/2013/02/12/3960
• 楽しい!!!
• 遊び方はあなた次第
• 仕事にもあぶれない?
• Facebook元役員「プログラミングを学ぶのなら、生涯
仕事に困らないことを私が保証しよう。」
• http://goo.gl/I8nCDm
5
C言語
• AT&T の Bell 研で UNIX を作ってた Brian
Wilson Kernighan と Dennis MacAlistair Ritchie
らによって UNIX を作成するための言語として
生まれた。
• K&R 「プログラミング言語C」がC言語のバイブ
ルと言われる所以。
6
世界で最も有名なプログラム
• K&R の最初に出て来るプログラム hello.c
#include <stdio.h>
main()
{
printf("hello, world\n");
}
7
C言語のプログラム
• コンパイラにより実行形式に変換する
Source files
.h ファイル
.h ファイル
.h ファイル
Preprocessor
Executable file
C compiler
実行ファイル
Object files
.c ファイル
.c ファイル
.c ファイル
.o ファイル
.o ファイル
.o ファイル
linker
8
C コンパイラによるコンパイル
• Cygwin の mintty で bash から gcc で行った例
$ ls
hello.c
$ gcc hello.c
$ ls
a.exe hello.c
$ ./a
hello, world
ファイル一覧の表示
コンパイル
ファイル一覧の表示
作成した実行ファイルを実行
9
C/C++ リファレンス
• http://www.cppll.jp/cppreference/
Windows Help (.chm) 版を入
れておくと便利です。
10
C 言語の構造
• ルーチンが関数によってまとめられている
戻り値 関数名(引数, ...)
{
処理;
...
}
11
C 言語の規則
• main 関数から実行されます。
main()
{
// ここに処理を書く
}
12
C 言語の規則
• 各処理の末尾はセミコロン「;」で終える
#include <stdio.h>
main()
{
printf("hello, world\n");
}
これがないと
エラーになる。
13
エラーの例
• hello.c の 関数「main」の内にある 6 行目の1
文字目にあるトークン「}」の前に「;」が(あるこ
とが)予想されますよと
$ gcc hello.c
hello.c: 関数 ‘main’ 内:
hello.c:6:1: エラー: expected ‘;’ before ‘}’ token
}
^