
A 回答 (9件)
- 最新から表示
- 回答順に表示
No.9
- 回答日時:
FORTRAN では、宣言なしの I から始まる変数は整数であると規定されてました。
ループカウンタは普通整数のため、I が良く使われたのです。つまり、INTEGER の I です。
C は、int だから i なのかな?
No.8
- 回答日時:
C言語使いの皆が使うループカウンタは
FORTRANのループカウンタが起源である。
んで、FORTRANのループカウンタは
数学使いの慣習である添字iが起源である。
んで、その数学畑のiの意味を、
ちょっと調べてみたところ添字(Index)の頭文字iである。
...本当かなぁ?
自分は最初iterationと思ってたけど、どこかの本には
「違う」と書いてあったのを覚えてる。
参考URL:http://ja.wikipedia.org/wiki/%E5%A4%89%E6%95%B0
No.7
- 回答日時:
No2の方が答えていらっしゃいますが、Fortranの仕様です。
質問の意図から外れますが、慣習的にループカウンタをi,j,kで使うことは良くあります。ついついなれて使用していたとき、ある二次元配列のインデックスをi,jでループさせているときに、ついついi,jを逆に書いてしまい、バグを作りこんだ経験があります。目で見たときにも発見し辛いですから。
それ以来、i,jを使うことはやめることにしてます。
No.6
- 回答日時:
incrementでないのは分かったのですが、残りの2つ(integer,iteration)のうちのどちらかについては、微妙ですね。
国内のサイト[infoseek.co.jp]でいろいろと調べた所、以下のようなサイトを見付けました。このpdfファイル内の6ページ目には、「慣習的に使われる変数名」という表があり、その中では「iteratorの頭文字。」という風に説明されています。
http://hp.vector.co.jp/authors/VA013320/about/bo …
ただ、海外のサイト[altavista,yahoo.com]でも調べてみた所、FORTRANにて使用されるよりも前に、数学的表記として、合計と掛け算のためのインデックスリストとして、しばしばiやjが使用されていた、との記述が下の方にあります。
http://encyclopedia.thefreedictionary.com/Loop+c …
http://en.wikipedia.org/wiki/Loop_counter
「語源などについて、どうしても詳しく知りたい。」というのでしたら、一端、数学のカテゴリ内でも質問してみることをお勧めします。
No.5
- 回答日時:
意味については、すでに、ほぼ出そろっていますが
一番大きな理由はFORTRANのサンプルプログラムが、DO 100 =1,NのようにループカウンタとしてIを使っていたからです。
Iが暗黙に整数型の最初であったこともその原因でしょうね。
おそらく、どこの自習書もそうでしょう。
I、J、K、L、M、Nが整数なのについては、INTEGERからNUMERICと言う説は聞いたことがあります。Oまで整数にして、Rから浮動小数点(REAL)でもよかったかかな。
で、CでもK&Rのforの例文がiです。それを見た者は皆iをつかうわけですね。なお、整数値については、nxxxとnで始めていますが、これは多分、numericでしょう。

No.3
- 回答日時:
歴史的な理由によります。
数十年前はコンピュータ言語はアセンブラ、COBOL,FORTRAN程度しかありませんでした。
そのなかで、FORTRANで変数を定義するときに、暗黙の型宣言という規則がありました。それは、変数がI,J,K,L,M,Nで始まるもの(例I,I1,III,J,JJ,K2など)は、全て整数型として扱い、それ以外の変数(A,AA,BB)などはfloat型として扱うというものです。そのために、整数型変数を使用するときI,J,Kなどが一般的に用いられるようになりました。
従って、この慣習がC言語,PL/Iなどでも使用されるようになりました。なお、変数が小文字を使用できるのは、C言語,PL/I以降になってからであり、当時のFORTRANでは、大文字のみしかしようできませんでした。(そもそも小文字という概念すらありませんでした。最近のFORTRANについては小文字が使えるかどうかは私は判りません)
C言語においては、一般的に変数は小文字を使用し、#defineで使用する定数は大文字を使用する関数があります。従って、整数の変数については、FORTRAN時代に使用されたI,J,Kがi,j,kとして使用されるようになりました。
No.2
- 回答日時:
ループカウンタの場合はiterationのiだったと思います。
ただ、それ以外にFORTRANではiからnが暗黙の整数型だったような記憶があるので、そこからの類推でもあるのではないでしょうか?この場合はおそらくintegerのiだと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA横データを縦にしたいです
-
VBAでの一時停止と再開の方法
-
UWSCに制限時間を付けたいです
-
テキストボックスの名前に変数...
-
C言語でファクト関数を使わずに...
-
xmplayの使い方
-
ループフリー
-
Do whileでExitせず、ループの...
-
csh foreachで「*」でエラ...
-
CやJAVa,Rubyなどプログラミン...
-
GIFアニメをループさせたくない
-
CSVファイルの特定の行だけを読...
-
エクセルの当番表を作っていま...
-
C#で別のフォームのprogress ba...
-
vb.netからエクセル関数書き込み
-
Excel VBAでIf 条件式 then か...
-
Dim flag(4) as boolean で配列...
-
Strawberry Perl for Windows ...
-
エクセルVBAでTransposeの不思議
-
マクロ Publicでの配列定義
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
UWSCの終了の仕方
-
DOSコマンドのループ内のTIMEコ...
-
範囲指定したセルを1つずつ飛...
-
VBAでの一時停止と再開の方法
-
Escキーを押すと、中断する時と...
-
乱数の桁数指定、または範囲指定。
-
イベントの発生を待つ
-
流れ図(フローチャート)が分か...
-
UWSCに制限時間を付けたいです
-
vb.netです。2次元配列の要素を...
-
VBA for i=1 to lastrow
-
DoEventsが必要な理由について
-
ループフリー
-
VBA Boxが空白の場合のメッセー...
-
VBA ニュースタイトル取得
-
エクセルの当番表を作っていま...
-
Javaの質問です。 この問題の答...
-
テキストボックスの名前に変数...
-
CSVファイルの特定の行だけを読...
おすすめ情報