K&R2の日本語訳について(第2章)
\documentstyle[ASCMAC,a4j,12pt]{jarticle}
\pagestyle{plain}
\begin{document}
\title{K&R2日本語訳訂正表}
\author{第2章}
\date{}
\maketitle
43 ページ,
2 行目,
行末に「や定数」を入れる。
5 行目,
ここの改行は不要。「一方」は不要。
6 行目,
「ビルディング・ブロック」は訳されてない。「ブロック」?
$-$10 行目,
「文字列定数はコンパイル時に連結できる」は
「複数の文字列定数はコンパイル時に連結されるかも知れない」。
$-$9 行目,
原文は formalizing a feature of long standing だけど,
「永く待たれていた……」って意味になるかなあ……。
$-$4 行目,
「これまで」は原文になし。
$-$3 行目,
「まず…」は
「これらの名前は英字と数字でできていなければならない。
最初の文字は英字でなければならない。
下線 {\verb'"_"'} は英字とみなされる。
下線は,長い変数名を読みやすくするのに時として有用である。
しかし,変数名を下線で始めてはならない。
ライブラリ・ルーチンがしばしばそういう名前を使うから。
大文字と小文字は区別される。
よって,{\tt x} と {\tt X} は二つの異った名前である。
伝統的に……」。
\vspace{3mm}
44 ページ,
1 行目,
「外部変数名」は「外部変数」。
2 行目,
「字数は 31 より少なくするほうがいいこともある」は
「この上限の字数が 31 未満であることもある」。
4 行目,
「1段(大文字か小文字)……」はわかりにくいと思う。
「大文字小文字の区別はないとしている」などと意訳する?
13 行目,
「一バイト,ローカルな文字セットの一文字を保持できる」
\vspace{3mm}
45 ページ,
4 行目,
「この {\tt char}」は「ただの {\tt char}」。
7 行目,
「{\tt float} と {\tt double} と {\tt long double} とが
それぞれ1,2,3の異なる大きさになっていることもありうる」
という日本語訳は意味不明。
三つがすべて同じ大きさでも,二つが同じ大きさで他の一つが別の大きさでも,
あるいは三つがすべて異なる大きさでもよい,という意味なのだが,
どう訳したらよいものか。
うーむ。
演習 2--1,
最後に
「計算で求めようとするとむずかしいが,
種々の浮動小数点型の範囲を定めよ。」
を入れる。
$-$12 行目,
「一方」は不要。
$-$9 行目,
「ものである」は不要。
$-$1 行目,
「次に」は不要。
「単一の引用符」は「一重引用符」。
\vspace{3mm}
46 ページ,
5 行目,
「扱ってよい」は「扱われる」。
6 行目,
「である」は「であるが」。
7 行目,
「系列」は「列」。
8 行目,
「系列」は「列」。
「あくまでも」は不要。
11 行目,
「8進数」は「八進数字」。
14 行目,
「1桁あるいは2桁」は「1桁以上」。
「16進数字」は「十六進数字」。
21 行目,
「系列」は「列」。
24 行目,
「単一引用符」は「一重引用符」。
\vspace{3mm}
47 ページ,
1 行目,
「ヌル文字」は「ナル文字」だけど,方言と考えればこのままでもいいか……。
10 行目,
「うるう年」は「うるう年に定義」。
16 行目,
「この場合」は原文にない。
17 行目,
「区切りを表わす」は「境界を定める」。
18 行目,
「系列」は「列」。
「当てはまる」は「使える」。
「自体である」は「を表わす」。
「文字定数」は「文字列定数」。
19 行目,
「連結することもできる」は「連結されうる」。
23 行目,
「扱うとき」は「分割するとき」。
25 行目,
「技術的には,文字列は各要素が1文字である配列である」は
「技術的には,文字列定数は文字の配列である」。
\vspace{3mm}
48 ページ,
4 行目,
「標準関数」は「標準ライブラリ関数」。
「{\verb"'0'"}」は「終わりの {\verb"'\0'"}」。
5 行目,
「その使用例」は「我々のバージョン」。
15 行目,
「{\tt strlen} その他の文字列関数は
標準ヘッダ {\tt } で宣言されている」となる。
18 行目,
「求めるのに使われている」は「あらわすのに使われる」。
「しかし」は不要。
19 行目,
「なのである」は「である」。
20 行目,
「さて,」は不要。
22 行目,
「整数定数」は「整数定数値」。
24 行目,
「列」は「例」。
31 行目,
「異なる列挙の中の名前は異なったものでなければならない」とする。
「しかし」は不要。
「のほう」も不要。
\vspace{3mm}
49 ページ,
3 行目,
「自動的に」は「あなたに代わって」ぐらい。
4 行目,
「コンパイラでは」は「コンパイラは」。
5 行目,
「必要がない」は「必要はない」。
7 行目,
「形式」は「の形」。
14 行目,
字下げ不要。
20 行目,
「記述」は「形」。
「コメントの記入や将来の修正には便利である」は
「各宣言にコメントを添えたり将来修正したりするには便利である」。
29 行目,
「始まるときに」は「始まる前に」。
\vspace{3mm}
50 ページ,
1 行目,
「初期化された」は「初期化される」。
「が実行されるつど」は「にはいるつど」。
2 行目,
「。」の次に「初期値は任意の式でよい」。
「これに対し」は不要。
3 行目,
「不定なの」は「不定な」または「不定の」。
10 行目,
字下げ不要。
13 行目,
「次第」は「定義」。
18 行目,
「うるう年(leap)」は「うるう(leap)年」。
\vspace{3mm}
51 ページ,
1 行目,
「ところで,」は「二項の」。
「同じ優先度の {\tt *}, {\tt /}, \verb"%" よりも」は
「{\tt *}, {\tt /}, \verb"%" の優先度よりも」。
2 行目,
「まとめられて評価される」は
「結合する」。
11 行目,
「あり,これらは……もつ」は「ある」。
12 行目,
「式 {\tt i < lim - 1}」は「{\tt i < lim - 1} のような式」。
14 行目,
「その評価は真か偽かの結果が得られた時点で終る」は
「その評価は結果の真偽がわかった時点で終わる」。
「Cプログラムの大部分は」は「大部分のCプログラムは」。
15 行目,
「で示した関数」は「で書いた入力関数」。
16 行目,
「を使った」は「の」。
「になる」は「だった」。
19 行目,
「明らかに,」は不要。
23 行目,
「誤り」は「不適当」。
24 行目,
「一方,」は不要。
\vspace{3mm}
52 ページ,
1 行目,
「余分な」は「これ以上」。
4 行目,
「望ましい」は「求める」。
7 行目,
「すなわち真」「すなわち偽」は不要。
12 行目,
「と同じである」は「よりもよく使われる」? %
「{\tt !valid} の構文」は「{\tt !valid} のような構文」。
13 行目,
「非常に」は不要。
18 行目,
私訳
「一つの演算子が,異なる型の被演算数を伴っている場合,
それらは少数の規則に従って共通の型へ変換される」。
25 行目,
「まず」は不要。
26 行目,
「10 進数列」は「数字の列」。
\vspace{3mm}
53 ページ,
11 行目,
「輪じた」は「論じた」。
14 行目,
「正の」は不要。
$-$8 行目,
「のみ通用する」は「うまく働く」。
「各文字は連続していて」以下の私訳
「各文字は連続していて A と Z の間には英字しかないからである。
しかし,後者は EBCDIC 文字セットでは成り立たないので,
このプログラムは EBCDIC では英字以外も変換してしまうだろう」
$-$3 行目,
「ところで」は不要。
\vspace{3mm}
54 ページ,
5 行目,
「こうした」は不要。
10 行目,
「正」はゴチの必要なし。
11 行目,
「標準文字セット」は「標準印字可能文字セット」。
16 行目,
「\verb"||"」の前に 「\verb"&&" や」を補え。
19 行目,
「10 進数」は「十進数字」。
「。」の後に
「しかしながら,{\tt isdigit} のような関数は
真に対し任意の非零を返すことがある。」を補え。
$-$3 行目,
改行は不要である。
\vspace{3mm}
55 ページ,
6 行目,
「Cの」は不要。
10 行目,
「ところで」は不要。
11 行目,
私訳
「後題は,符号付きと符号なしの値の比較が
さまざまの整数型の大きさに依存するためである」
14 行目,
「も成り立ってしまう」は「である」。
21 行目,
「余分な」は「長すぎる」。
$-$3 行目,
「次に,」は不要。
\vspace{3mm}
56 ページ,
8 行目,
「式」は「expression」。
「型名」は「指名された型」。
9 行目,
私訳
「expression が指定された型をもつ変数に代入され,
その変数が全体の構文の中で使われるようなものである」
11 行目,
「他の型」は「他のもの」。
「出す」の次に「。」を補う。
15 行目,
「自身は」は「{\tt n} 自身は」。
16 行目,
「同じ優先度」は「同じ高い優先度」。
17 行目,
私訳
「もしも引数が関数プロトタイプによって宣言されている場合
--- 通常そうすべきだが ---,
関数が呼び出されたとき,
宣言によりすべての引数の自動的な型変換が行われる」。
$-$5 行目,
私訳
「という呼び出しがあると,整数の 2 は {\tt double} の値 2.0 に
変換される。キャストは不要である。
$-$2 行目,
「定義されている」は「含まれている」。
\vspace{3mm}
57 ページ,
演習 2-3,
「16 進数」は「十六進数字」。「文字」は「数字」。
$-$6, 5 行目,
「$n$ の値」は「式の値」かも知れない。
「その値」が無難か?
$-$4 行目,
「文脈によって」は「文脈では」。
\vspace{3mm}
58 ページ,
2 行目,
「6 である」は「6 になる」。
3 行目,
「次のように」の前で改行。
8 行目,
私訳
「しかし,どちらかがとくに要求される場合もある」。
19 行目,
字下げ不要。
「このプログラムでは,」は不要。
$-$6 行目,
「同等」は「完全に同等」。
$-$7 行目,
「文脈」は「構文」。
\vspace{3mm}
59 ページ,
5 行目,
「関数」は「標準関数」。
6 行目,
「次の」は不要。
7 行目,
「ある」の前に「{\tt s} に」を補う。
20 行目,
「次のループに対して」は「ループの次のパスに対する」。
22 行目,
「を書け」の前に「の代替版」を入れる。
\vspace{3mm}
60 ページ,
7 行目,
字下げする。
14 行目,
私訳
「ビットごとの排他的 OR 演算子 \verb"^" では,
各ビット位置ごとに,
二つの被演算数が異なるビットをもてば 1 が,
同じビットをもてば 0 がセットされる」。
17 行目,
「真の値」は「真理値」。
19 行目,
「シフトするのに使われる」は
「左あるいは右にシフトする。右被演算数は正でなければならない」。
21 行目,
「符号なし数」は「{\tt unsigned} 値」。
(次の「符号付き」はそのままでよい。)
22 行目,
「符号桁」は「符号ビット」。
$-$3 行目,
「語長」は「ワードの長さ」。
\vspace{3mm}
61 ページ,
1 行目,
私訳
「この移植可能な形は余計な出費を含まない」。
2 行目,
「次に,」は不要。
「ビット演算子のいくつかの例」は「いくつかのビット演算子の例」。
12 行目,
「語」は「ワード」。
「\verb"~0" ではビットが 1 になる」は
「\verb"~0" は全ビットが 1 である」。
$-$5 行目,
「左辺が右辺に再び現われる」は
「左辺の変数が右辺にすぐ再び現われる」。
\vspace{3mm}
63 ページ,
2 行目,
「ときにわかりやすい」は「方法によく対応する」。
3 行目,
「ずつ」は不要。
8 行目,
私訳
「本当に同じかどうかを手間をかけてチェックしたり,
なぜ違うのかと思ったりしなくてすむからである」。
演習 2-9,
「\verb"x & (x-1)"」は「\verb"x &= (x-1)"」。
\vspace{3mm}
64 ページ,
7 行目,
「と何ら変わりなく」は「が使われるところではどこでも」
8 行目,
「前半」は「前のほう」。
11 行目,
「に変換される」は「である」。
16 行目,
「ブランク1個」は「ブランクを1個」。
「各行」は「各行(最終行もこめて)」。
$-$6 行目,
「他のすべての要素は1ブランク空けて続ける」は
「他のすべての要素には1ブランクが続く」。
$-$5 行目,
「同じ意味の」は「同等な」。
「便利」は「コンパクト」。
\vspace{3mm}
65 ページ,
3 行目,
「ものである」は不要。
4 行目,
「各行」は「行」。
8 行目,
最後に,「コンマ演算子は第3章で述べる。」を補う。
12 行目,
「全体にカッコを付けなければ」は「きちんとカッコをつけなければ」?
$-$2 行目,
「に対する評価」は「が評価される」。
$-$1 行目,
「\verb"&&",」の次に「\verb"||",」を補う。
\vspace{3mm}
66 ページ,
3 行目,
「外部変数」は「変数」。
「その変数が他方に」は「その変数に他方が」。
「実行順序」は「評価順序」。
8 行目,
「違った結果になる」は「違った結果になりうる」。
14 行目,
私訳
「副作用を引き起こす式では,式に出てくる変数が更新される順序が微妙に関係する」
17 行目,
「形」は「方法」。
19 行目,
私訳
「いつ式の中で副作用(変数への代入)が…」
$-$2 行目,
「計算機によって」は「種々の計算機で」。
\begin{flushright}
岩瀬順一
\end{flushright}
\end{document}