370 Exercises のヒント しているのか考えましよう。 3. オペランドの型が違っている場合に、算術変換規則が適用されます。その解 説は、 73 ページを参照してください。 4 ーキ - ャストとは、データ型の明示的な型変換のことです。その解説について は、 75 ページを参照してください。 第 5 章 1. 変数 max の値の変化と、 if 文の条件の違いに注意しましよう。 2. この変換公式を、どのようにプログラムに展開するかがポイントです。変数 と演算子を選び出してみてください。 3. 第 4 章の 72 ページに示した演算子の優先順位の表を参照して、演算子 " & & " と、、 , " の評価順序について考えてみてください。 4. ループには、それぞれ固有の決まりがあり、これをループ規範と呼びます。 ループは、ループの条件、条件の変化、ループ中の操作の 3 っから成り立ち ますが、そのループ規範によって、これらの順序 なりす。この 3 つが、どのような順序で実行されるか考 , てください ロチャート を使うと、より分かりやすくなるでしよう。 第 6 章 1. 絶対値を求めるには、負の数を正の数 : 変換します。負の数を判別する条件 式を考え、負の数に一 1 を掛けて正数にします。 2. 負の数を与えた場合の条件式を考え また、そのような事態に対 処するには、負の数がケえられないうにするか、またはえられた場合に 本体の処理が行われない ま 3. ループを使って、階乗の関数のが 1 から 8 まで , 、イするように呼び出 して、その戻り値を印字します。 乂刀の近似値が 0 の場合と、根が複素 4.114 ページに示した関数 roots で ( 数の場合に、 0 を戻すよプログラムになっています。この条件式と、戻 り値の処理設間のように変えてください。 第 7 章 1. 番目の引数は配列への参照であり、 2 番目の引数は要素の数を示してい ます。
第 1 章 C 十十の概要 25 ム roots を実行する場合には、特別な指定をしなくても、そのユーサーがキー ポードから値を入力するものとして扱えるわけです。指定をする例について も、後で述べます。 この式は、次の式と同じです。 cin > > a, cin > > b, cin > > c このように、コンマを使うと、 3 つの入力式を、より大きな 1 つの入力形式 に統合できます。これらの各式の値は入力操作の結果の戻り値で、それは入力 ストリーム変数 cin の値、つまり入力ストリームそれ自身です。 最後のコンマの次の式の値が式全体の値です。つまり、最後の入力操作で戻 される値が式の値であり、それは前に述べたように、入力ストリーム c ⅲとな ります。 while 文の条件式では、そのループを継続するかどうかを決定するた めに、ストリームの状態が検査されます。入力ストリームから演算子 " > > " によって値を読み取る場合、入力する文字数の制限以内であって読み込み工 ラーがなければ、その条件式の値は真 (true) となります。入力する文字数の 制限を超えた場合や読み込み工ラーがあった場合は、偽 (false) となります。 このようにして、 while 文では、。。 > > " が入力から値を読むことができる限り、 その本体の式を実行し続けます。 次に示すのは、 while 文のループ本体です。 if (a cerr くく " 工ラ cerr くく endl ; continue ; if ((tmp = b*b cerr くく " 工ラ cerr くく a くく ー ! 最初の係数が 0 ! " ・ 4*a*c) く 0 ) { ー ! 係数 " くく b くく くく C ; cerr くく " の根が複素数 " くく endl; cont inue ; 「判り当て (associate) 」とは、領域の確保という意味ではなく、 * 4 ( 訳注 ) で言っロ すでに確保されている領域を参照するという意味です。後で述べるオプジェクト指向技術 では「結合」を使います。この場合は、 cin がキーポードバッフアを参照するように設定 されていることを意味します。