画面下の「▶」で再生開始、「⏸」で一時停止
画面右下の「>」で次頁へ、「<」で前頁へ
青字下線の部分は、まとめプリントの穴埋め
「作業」のところでは、ファイルをダウンロードしてコンパイル・実行
教科書 pp.23–41
(教 pp.24–29)
作業: List 2-1 を実行する。
(教 p.24)
演算子は「+」, 「-」, 「*」,
「/」のように、演算の働きを持った記号のこと
(教 p.221 に C 言語のすべての演算子の表)
オペランドとは、その演算の対象となる式(変数や定数など)のこと
(教 p.25)
整数 / 整数
という演算では、 整数としての割算 (小数点以下は切捨て) の結果が得られる
整数 % 整数
では、剰余(余り)を求める
作業: まとめのプリント Q 2.1.1 をやってみる
作業: List 2-2 を実行する。
printf での「%」文字の表示(教 p.25)
「%%」と 2 つ重ねることで
「%」という文字そのものを出力することができる
なお puts 関数では「%」はそのまま出力される
(教 p.27)
変換指定(「%d」など)が複数あるときは、第 2 実引数, 第 3 実引数, …
が順に対応
作業: まとめのプリント Q 2.1.2 をやってみる
作業: List 2-3 を実行する。
(教 p.29)
「=」演算子は(単純)代入演算子
(教 p.29)
変数や定数、それらを演算子で結合したものは式
(教 p.29)
式のあとに「;」をつけて文にしたもの
(教 p.30)
(」〜「)」(教 p.30)
式のなかで先に演算する箇所を示すために丸括弧「(」〜「)」
を用いる
他の括弧({, }, [, ] など)は
この目的には使用できない
作業:
List 2-5
を実行する。
(a + b を先に計算していることに注意する。)
(教 p.31)
double 型は、いわゆる実数(正確には浮動小数点数)を扱うための型
もちろん精度には限界がある(十進で 15 桁くらい)
作業:
List 2-6
を実行する。
(変数 n と x の違いに注意する)
(教 p.32)
5, 10 などは整数定数、
2.718 など小数点を含むものは浮動小数点定数
整数定数は int 型、浮動小数点定数は double 型
double 型の演算(教 p.33)
scanf で実数を読み込むときは「%lf」を用いる。
scanf("%lf", &fx); // キーボードから実数を fx に
作業: List 2-7 を実行する。
(教 p.33)
以下の表くらいは、暗記しておくこと
int |
double |
|
|---|---|---|
printf |
%d |
%f 注 |
scanf |
%d |
%lf |
注: 「%lf」は “誤り”と考えるべき
(Java 言語の printf でも「%lf」はエラーになる。)
あまりにも間違える人が多いので C では「%lf」も許容されるようになったという黒歴史がある。しかし本来は「%f」である。
(教 p.34)
実数 / 実数
では切捨ては行わず、通常の割算が行われる
int と double が混じっている場合、
整数 / 実数
実数 / 整数
も、暗黙の型変換が行われてdouble 型同士の演算となる
作業: List 2-8 を実行する。
(教 p.36)
作業: List 2-9 , List 2-10 を実行する。
キャストとは明示的に型変換すること
( 型 ) 式
で、「式」の値を「型」としての値に変換する
int na, nb;
…
… (double)(na + nb) / 2 …
では、double 型としての割算が行われる
(教 p.221)
割算よりもキャストが優先、つまり
(double)(na + nb) / 2
は
((double)(na + nb)) / 2
と書いてあるのと同じ
double から int へのキャスト
double x = -2.8;
… (int)x …
は切捨て(小数部分を無視)になる
作業: まとめのプリント Q 2.2.1 をやってみる
(教 p.38)
以下のような変換指定は必要に応じて調べる
| 説明 | 例 | 出力 |
|---|---|---|
| 桁数を揃える | printf("[%3d]", 1) |
[ 1] |
| 桁数を揃え先頭を 0 で埋める | printf("[%03d]", 1) |
[001] |
| 小数点以下の桁数を指定する | printf("[%.3f]", 3.1415926) |
[3.142] |
| 16 進数で表示する (小文字) | printf("[%x]", 127) |
[7f] |
| 16 進数で表示する (大文字) | printf("[%X]", 127) |
[7F] |
作業: List 2-11 , List 2-12 を実行する。
作業: まとめのプリント Q 2.2.2 をやってみる
以下を追加
| 分類 | 一般形 | 補足説明 |
|---|---|---|
| 単項演算 | 単項演算子 式 | 単項演算子は +, -, &, … など |
| 二項演算 | 式 二項演算子 式 | 二項演算子は +, -, *, /, =,
… など |
| かっこ | ( 式 ) |
演算の順番を指定するため、 丸括弧で囲んだもの (教 p.30) |
| 浮動小数点数 リテラル |
3.14, 2.0,
6.02e23, 6.6626e-34 など (教 p.32) |
|
| キャスト | ( 型 ) 式 |
明示的な型変換 (教 p.36) |
これまでのところ、
| 分類 | 一般形 | 補足説明 |
|---|---|---|
| 式文 | 式 ; |
式は通常、代入式か関数呼出し(教 p.29) |