画面下の「▶」で再生開始、「⏸」で一時停止
画面右下の「>」で次頁へ、「<」で前頁へ
青字下線の部分は、まとめプリントの穴埋め
「作業」のところでは、ファイルをダウンロードしてコンパイル・実行
教科書 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) |