text: 例えばOpenGLやOpenCLのようなオープン規格は第一級言語としてC言語を採用している。コード例 Hello worldプログラム C言語のHello worldプログラムは、ホスト環境を前提とするか、フリースタンディング環境を前提とするかで、方向性が異なる。ホスト環境を前提とする場合には、標準入出力の利用により、動作をすぐに確かめることができる。以下では、標準Cライブラリのヘッダstdio.hにて宣言されている、puts関数あるいはprintf関数を利用したものを例示する。/* int puts(const char* s) を使う場合。*/ #include <stdio.h> int main(void) { puts("Hello, world!"); return 0; } /* int printf(const char* format, ...) を使う場合。*/ #include <stdio.h> int main(int argc, char* argv[]) { printf("Hello, world!\n"); return 0; } 上記サンプルソース中の「\n」は、エスケープ文字\によるエスケープシーケンスのひとつであり、改行（ラインフィード）を表す。main関数は標準的なプログラムエントリーポイントであり、プログラムを開始すると、ランタイムライブラリによるスタートアップ処理が実行された後にこのmain関数が呼ばれる。引数のないバージョンと、コマンドライン引数をポインタ配列として受け取るバージョンどちらを使ってもよい。なお、printf関数は書式文字列とそれに対応する可変個引数を受け取り、書式化された文字列として表示できる高機能な標準出力関数であるが、序盤から例示に使用している入門書もある。main関数とprintf関数は、いずれも入門者や初学者にとっては最初の関門となる難解な関数であり、C言語によるプログラミングのハードルを高くしている一因でもある。JavaやC#のような後発言語では、文字列の扱いや、可変個引数の扱いがより簡潔で安全になっている。Pythonのようなインタプリタや対話環境上で動作することを前提とした言語では、main関数を定義する必要はない。主な制御構造 do/while for goto if return switch while 関数 主な標準ライブラリ関数 歴史 誕生 C言語は、AT&Tベル研究所のケン・トンプソンが開発したB言語の改良として誕生した（#外部リンクの「The Development of the C Language」参照）。1972年、トンプソンとUNIXの開発を行っていたデニス・リッチーはB言語を改良し、実行可能な機械語を直接生成するC言語のコンパイラを開発した。