main() { double a=0.0; double b=1.0; double c=(a+b)/2.0; while (fabs(a-b) > EPSILON){ if ( ...){ } else { ....
これは, コンピュータ(C の処理系)のために行っているのではなく, 人間が読みやすくするためです. 通常の C言語の処理系は, 文字列定数内以外の空白文字は, 語(word)の区切り以外の扱いはしません. プログラムソースを書く時には, このように字下げ(インデント, indent)をして, 特にそのプログラムの制御構造がわかりやすい様に心がけます. プログラムは, 人間が読むものなのです.
エディタと呼ばれている文書編集ソフトには, 通常, 簡単に字下げを するための機能がついています. どのエディタでも, 「字下げは TAB キー」です.
Emacs では, サフィックスが .c であるファイルを編集する 時には, C言語のプログラムソースの編集であるとして, 自動的に c-mode で立ち上がります. この時は, 字下げをしたい行にカーソルを 持っていって, TAB キーを押しますと, その行に対して 自動的に必要なだけの字下げを実行してくれます.
Emacs を引数無しに起動して, scratch バッファを編集して, Cのソースとして保存する際には,
M-x c-modeとすると, c-mode になりますから, 上と同じ動作が可能です.
デフォルトでは, 字下げ文字数が 2となっており, 少し見づらい気がします. これを 4文字に変更するには, ホームディレクトリの .emacs というファイル (無ければ作る)に, 次の行を付け加えます.
(defconst c-indent-level 4)