Difference between revisions 7432 and 7446 on jawikiversity== 概要 == この講座では1972年にDennis Ritchieが開発したプログラミング言語Cを取り扱います。主に上級者を対象とし、計算機プログラミングの基礎を学びます。 == 開発環境 ==⏎ ⏎ == Hello world == まずは何も見ずにHello worldを書いてみてください。Hello worldとは、画面に「hello, world」と表示するプログラムです。 あなたの書いたプログラムと以下のプログラムを比べてみましょう。 * hello.c <source lang="c"> #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } </source> gccでコンパイルし、実行してみます。 <pre>$ gcc -W -Wall -o hello hello.c && ./hello hello, world</pre> どこが違いましたか? それでは上記のプログラムの意味を1行ずつ解説していきます。 === 1行目 === <source lang="c"> #include <stdio.h> </source> 1行目では<tt>printf</tt>が定義されているstdio.hをインクルードしています。<tt>printf</tt>を使わないなら、この行は不要です。つまり次のような「最小の」プログラムも考えられます。 <source lang="c"> int main(void) { return 0; } </source> <tt>#include <stdio.h></tt>のように#から始まる行は、gccのコンパイラ(翻訳器)ではなく、プリプロセッサ(前処理器)によって処理されます。どのように処理されたかは、次のようにgccに-Eオプションを付けて確認することができます。 <pre>$ gcc -E hello.c</pre> ちなみに#は[[w:シャープ (記号)|シャープ]]ではなく、[[w:番号記号|ナンバーサイン]]と呼ばれる記号です。「ハッシュ」や「パウンド」と読みます。したがって<tt>#include <stdio.h></tt>は「ハッシュインクルードスペース小なりスタンダードアイオードットエイチ大なり」などと読めますが、それらをすべて承知の上で「シャープインクルード」と発音する人もいます。また、そもそも#を読まない人もおり、読み方は人それぞれです。そしてプログラムを音読する能力はさほど重要ではありません。 === 2行目 === 2行目は空白行です。この空白を空行を設けない人もいますが、たくさん<tt>#include</tt>を書く場合は空白を空け行を使用した方が、[http://cou929.nu/data/google_javascript_style_guide/#id48 Google JavaScript Style Guide]で推奨されているようにまとまりがついて見やすくなると考えられります。 === 3行目 === <source lang="c"> int main(void) </source> void型の引数を受け取ってint型の戻り値を返す<tt>main</tt>という名前の関数を定義しています。これはこの行だけで意味を持つというよりは、 <source lang="c"> int main(void) { /* ... */ } </source> で1つの文になります。⏎ ⏎ === 4行目 === === 5行目 === === 6行目 === === 7行目 === == Further reading == * [[Topic:PG学習法C言語初級]] * [[b:C言語]] * [[w:C言語]] {{Stub/Ja}} [[Category:プログラミング言語]] All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://ja.wikiversity.org/w/index.php?diff=prev&oldid=7446.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|