第5回資料

C言語応用
配列
配列
 定義
int a[5];
配列の大きさ
添え字
a[0]
a[1]
a[2]
a[3]
a[4]
a[2]
1つの要素は
ただの変数
http://www.center.nitech.ac.jp/~sfukui/ouyou/list5-1.c
2元配列
 定義
int a[5][3];
a[0][0] a[0][1] a[0][2]
a[1][0] a[1][1] a[1][2]
a[2][0] a[2][1] a[2][2]
a[3][0] a[3][1] a[3][2]
a[4][0] a[4][1] a[4][2]
http://www.center.nitech.ac.jp/~sfukui/ouyou/list5-2.c
多元配列
 C言語では、2元より大きい配列も扱うこと
ができる
int b[3][4][5];
代入演算子
 単純代入演算子
=
 複合代入演算子
*= /= %= += -= <<= >>= &= ^= |=
等価
a *= 2
a = a*2
a += 2
a = a+2
キャスト
 式の値を、型名の型としての値に変換する
ことができる
( 型名 ) 式
#define N 6
int x;
x = 10
x/N
・・・1
(double)x / N ・・・1.66666
演算子の優先度と結合規則
演算子
() [] -> . ++ -! ~ ++ -- + - * & sizeof
(type)
* / %
結合規則 優先度
左
高
右
右
左
+ -
左
<< >>
< <= => >
左
左
== !=
左
左
&
^
|
&&
||
?:
= += -= *= /= %= &= ^= |= <<= >>=
,
左
左
左
左
右
右
左
低
演算子の優先度と結合規則
+,-などの演算子は2つありますが、優先度の高い方が、オペランド
が1つである単項形式(たとえば -b)であり、優先度が低い方が、2
つのオペランドを持つ2項形式(たとえば a-b)である。また、++,--は、
優先度が高い方が後置演算子、優先度の低い方が前置演算子で
ある。
結合規則とは、たとえば、オペランドを2つ持つ2項演算子を○と
表した場合、a ○ b ○ c を
(a ○ b) ○ c
左結合
とみなすのが左結合であり、
a ○ (b ○ c)
右結合
とみなすのが右結合である。
演習
 List4-4.cの九九のプログラムの九九の表を配列
に格納し、表示せよ。
 List5-2.cを実行して、動作を確認せよ。
 日付を読み込み、前の日の日付を求めるプログ
ラムを作成せよ。
 日付を読み込み、その年における通算経過日数
(たとえば2月15日であれば46日)を表示する
プログラムを作成せよ。