- ゲームプログラム入門「C言語のプログラムについて」のご紹介
- C言語のプログラム
- 「ゲームプログラミング > C言語入門/基礎」関連ページのご紹介
- シューティングゲーム・関連ページのご紹介
- 歴代名作シューティングゲームのご紹介|まとめ
- 歴代シューティングゲーム全ゲームタイトル一覧のご紹介|まとめ
- シューティングゲームの人気シリーズのご紹介
- シューティングゲーム関連ページのご紹介|まとめ
- シューティングゲーム解説ページのご紹介|まとめ
- シューティングゲーム・ハード関連(周辺機器)のご紹介|まとめ
- シューティングゲーム雑誌/書籍関連のご紹介|まとめ
- 【TPS名作・傑作・まとめ】TPS傑作・名作・全ゲームタイトルのご紹介│まとめ│~トゥームレイダー│バイオハザード│アンチャーテッドなど~
- 【名作RPG】RPGのご紹介│まとめ│
- 【TOP:SLG】おすすめ名作シミュレーションゲームのご紹介
- 【TOP】レースゲーム関連(おすすめ名作・評価ランキン)のご紹介
- TOP【おすすめスポーツゲーム】のご紹介~MLB,NBA,NFL,FIFAなど~
- 【TOP】パズルゲームのご紹介
- 【ゲームランキング】世界・国内で最も売れたゲームランキングのご紹介
- 名作ゲームのご紹介│まとめ│家庭用ゲーム・PC・アーケードなど
- 【機種別ゲームTOP】PC・家庭用・アーケードゲーム・周辺機器のご紹介
- ジャンル別ゲームタイトルのご紹介│まとめ│
- 【ゲームTOP】ゲーム関連ページのご紹介
- 【書籍・雑誌TOP】書籍・雑誌サイトマップ関連ページのご紹介
- 【ホビーTOP】ホビーサイトマップ関連ページのご紹介
ゲームプログラム入門「C言語のプログラムについて」のご紹介
ご訪問ありがとうございます。
今回は、ゲームプログラム入門「C言語のプログラムについて」をご紹介します。
「ゲームプログラミング > C言語入門/基礎」関連サイトマップのご紹介
「ゲームプログラミング > C言語入門/基礎」関連をご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
C言語のプログラム
プログラムとは何でしょうか?ここではプログラムの仕組みから、インタプリタとコンパイラについて、説明していきます。
プログラムとは
プログラムとはコンピュータにプログラムするためには、プログラミング言語を使うのですが、具体的にはどうするのでしょうか?言語というからには、人が理解できる「文」があるのです。
プログラムとは、この文の集まりのことををいいます。例えば、パソコンのワープロソフトで文章を入力したり、携帯電話でメールをやり取りしたりするとき、その正体はすべてコンピュータが理解できるように作られたプログラムと呼ばれるものになるわけです。
では、プログラムのもとになっているのは何なのでしょうか?
それは、人がもっと理解できるように作られた文の集まりであるソースコードというものなのです。
ソースコードは、コンピュータが理解できるように最終的には0と1に変換されます。また、この文の集まりが多ければプログラムのサイズは大きくなり、少なければ小さくなります。ちなみに、コンピュータの世界では、プログラムとソフトウェアは同じものを指します。
プログラムの仕組み
これから、C言語で作成できるプログラムについて説明していきますが、その前にプログラムの仕組みについて考えてみましょう。
例えば、ワープロソフトのプログラムは、何をしているのでしょうか?
ワープロソフトは、キーボードから入力された文字を画面に表示したり、プリンタによる印刷をします。
もう少し詳しく説明すると、キーボードを通して入力された文字を、データとして受け取ったワープロソフトは、コンピュータに画面や用紙の適切な位置に表示する計算(演算)を指示して、その結果を画面やプリンタを通して出力させているということになります。
この一連の流れ、入力→演算出力は、ワープロソフトのプログラムだけでなく、すべてのプログラムにおいて共通です。プログラムの仕組みは、基本的にどれも同じパターンなのです。
2進数について
0と1だけの数字の世界を2進数といいます。コンピューターは、2進数によってプログラムを処理します。
コンピュータが、なぜ2進数で処理するのかを説明すると、コンピュータは、電流が流れる(電圧がかかる・・・1)か流れない(電圧がかからない・・・0)かを基本として構成されていることもありますが、効率よく数を扱うには、最低でも0と1があれば問題がないからです。
インタプリタとコンパイラ
高級言語で作成されたソースコード(おおもとになるプログラムの文字列)は、インタプリタ、またはコンパイラを用いて機械語に翻訳されます。
インタプリタは、ソースコードを1ステップずつ解釈しながら実行していきます。それに対してコンパイラは、すべてのソースコードを一度に機械語に翻訳してプログラムを作ります。
手軽な「インタプリタ」と高速な「コンパイラ」
作成されたプログラムは、必要なときにユーザーが実行します。翻訳と実行が一度に実行されるので、インタプリタのほうが手軽にプログラミングすることができます。しかし一般的には、コンパイラによって機械語に翻訳されたプログラムのほうが、インタプリタによる実行より処理が速くなります。
▼インタプリタとコンパイラの特徴
インタプリタ 1行ずつ翻訳して、1行ずつ実行します。翻訳しながら実行するので処理が遅いですが、反面、プログラムの間違いが見つけやすくなります。
コンパイラ すべてのソースコードをまとめて翻訳します。そのため処理は速いですが、プログラムの間違いは見つけにくくなります。
インタプリタとコンパイラの違い
インタプリタとコンパイラの違いは、英語から日本語への翻訳にたとえることができます。インタプリタは、一文一文を話した直後に日本語へ翻訳しますが、コンパイラは、英語で全文を話し終わったあと、その内容をまとめて翻訳するというものだと考えてください。
インタプリタ系の言語としては「Basic」や「Perl」、コンパイラ系の言語としては「C」「C++」などがあげられます。ちなみに「Java」は、バイトコード(Javaコンパイラによって翻訳されたコンピュータの理解できるコード)へのコンパイルが必要な特殊なインタプリタ言語です。
各プログラムの流れ | ||
Basic,Perlなど | Java | C.C++など |
ソースプログラム | Javaプログラム |
ソースプログラム
|
インタプリタ | Javaコンパイラ | コンパイラ |
コンピュータが実行 | コンパイラ |
機械語プログラム
|
実行結果 | バイトコード |
コンピュータが実行
|
Java仮想マシン | 実行結果 | |
コンピュータが実行
|
||
実行結果 |
C言語と文字コード
ここで、C言語と文字コードについて簡単に紹介しておきます。コンピュータは、文字を扱うとき、人のように文字を理解しているわけではありません。コンピュータは、文字を「0と1からなる」数値の列として扱います。この数値の列のことを「文字コード」といいます。
英数字を扱う「ASCIIコード」、日本語の文字を扱う「Shift-JIS」
文字コードには様々な種類があります。よく知られているものをあげると、英数字を扱う文字コードとしてASCII(アスキー)コードが、日本語の文字を扱う文字コードとしてShift-JIS(シフトジス)が、アジアの言葉を扱う文字コードにはEUC(イーユーシー)などがあります。
世界共通の文字コード「Unicode(ユニコード)」
C言語が扱う文字コードは、Unicode(ユニコード)というものですが、これは、世界共通の文字コードです。コンピュータの世界は欧米が起源になっているので、これまでアルファベットや数字などは1バイトコード、漢字やかなは2バイトコードなどとなっていて英語圏で作られたソフトウェアを日本語化するのをいつも難しくしていました。
それに対してUnicodeは、アルファベットも、数字も、漢字も、かなも、とにかく全部2バイトコードとして扱うので、言語の違いによる修正が不要になります。
文字コードのご紹介 | |
ASCII |
AmericanStandardCodeforInformationInterchangeの略。1963年ANSI(米国規格協会)により制定。
ASCIIコードはコンピュータ用の英数字コードとして最も普及している。 |
Shift-JIS |
日本語環境で広く利用されている日本語文字コードの通称。
|
EUC |
拡張UNIXコード。
UNIXというOS(オペレーティングシステム)のアジア言語サポートとして採用されている文字コード。 |
Unicode |
単一の2バイトの文字コードによって世界の文字の多くを表現しようとする文字コード。
中国語でも日本語でも、同一とみなされる漢字には同じコードを割り当てるなどのUnificationを行っている。 |
▼アルファベットや数字は「1バイト」漢字は「2バイト」
バイトとは8つのビット(bit)を集めた情報量を表す単位です。1ビットは「0か1か」の2種類の情報を表すので、1バイトは2の8乗=256種類の情報を表現できます(00000000から11111111まで)。アルファベットや数字は、1バイトで全部の文字を表現できますが、漢字は7000文字以上あるため、2バイト=2の16乗(6万5536種類)で表現します。
ビットとバイトは基本だ!
「0か1か」の、1つのまとまりをビットといいます。つまり、1ビットで2つの状態を表すことができます。これを2つ(2ビット)使えば、4つの、3つ(3ビット)使えば、8つの状態を表すことができます。8ビットのことを、1バイトといいます。
1~8ビットまでの情報量 | |||||||||
ビット数 | 通り | ||||||||
1ビット | 2 | 1 | |||||||
2ビット | 4 | 1 | 0 | ||||||
3ビット | 8 | 1 | 0 | 1 | |||||
4ビット | 16 | 1 | 0 | 1 | 1 | ||||
5ビット | 32 | 1 | 0 | 1 | 1 | 0 | |||
6ビット | 64 | 1 | 0 | 1 | 1 | 0 | 1 | ||
7ビット | 128 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | |
8ビット(1バイト) | 256 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
- 1ビットで管理できる情報は、0と1(2進数)の2通り
- 2ビットで表せる情報は、2通り×2通り=4通り
- 1バイトは、8ビットとなり、1バイトで表現できる情報量は、2×2×2×2×2×2×2×2 = 2の8乗 = 256通りになります。
「ゲームプログラミング > C言語入門/基礎」関連サイトマップのご紹介
「ゲームプログラミング > C言語入門/基礎」関連をご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
「ゲームプログラミング > C言語入門/基礎」関連ページのご紹介
「ゲームプログラミング > C言語入門/基礎」関連ページをご紹介します。
【STG】シューティングゲーム・サイトマップのご紹介
80年から2000年代のシューティングゲームについてご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
シューティングゲーム・関連ページのご紹介
シューティングゲーム・関連ページをご紹介します。
歴代名作シューティングゲームのご紹介|まとめ
歴代シューティングゲーム全ゲームタイトル一覧のご紹介|まとめ
シューティングゲームの人気シリーズのご紹介
シューティングゲーム関連ページのご紹介|まとめ
シューティングゲーム解説ページのご紹介|まとめ
シューティングゲーム・ハード関連(周辺機器)のご紹介|まとめ
シューティングゲーム雑誌/書籍関連のご紹介|まとめ
【ゲームジャンル別】サイトマップのご紹介
【ゲームジャンル別】サイトマップをご紹介します。
ゲームジャンル別サイトマップ | ||||
ゲームTOP > ランキング│傑作・名作│機種別│ジャンル別 |
||||
ゲームジャンル別TOP >関連ページ│名作│ランキング | ||||
【ジャンル別関連ページ】 アクション系(プラットフォーム│対戦アクション│FPS│TPS│STG│フライト)|AVG│RPG│SLG│レース│スポーツ│パズル│テーブル |
||||
【アクション】プラットフォーム│対戦アクション│FPS│TPS│STG│フライト 【アドベンチャー】AVG│ 【RPG】RPG│SRPG│ARPG 【SLG】SLG│ストラテジー│ターン制SLG│RTS 【レース】レース 【スポーツ系】スポーツ│プロレス 【パズル】 【テーブル】麻雀 |
||||
【ジャンル別】おすすめ評価ランキング アクション│AVG│RPG│SLG│レース│スポーツ│パズル│テーブル |
||||
【歴代傑作・神ゲー(2021~1996年)】99~94点│93~92点│91点│90点 ■【アクション系ゲーム】■ アクション│プラットフォーム│対戦アクション│FPS│TPS│フライト│ 【対戦アクション】一覧│98~80点│79~70点 【FPS】まとめ│90点以上│89~86点│85~83点│82~80点 【アドベンチャーゲーム】 ■【RPG系】■ RPG│SRPG│ARPG 【RPG】一覧│傑作(96~90点)│89~85点│84~82点│81~80点│ ■【シミュレーション系ゲーム】■ SLG│ストラテジー│ターン制SLG│RTS│街づくりSLG ■【レース】■ ■【スポーツ系ゲーム】■スポーツ│プロレス ■【パズル】 |
||||
シリーズ・テーマ | ||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
ゲームジャンル別・関連ページのご紹介
ゲームジャンル別・関連ページをご紹介します。
【TPS名作・傑作・まとめ】TPS傑作・名作・全ゲームタイトルのご紹介│まとめ│~トゥームレイダー│バイオハザード│アンチャーテッドなど~
【格ゲー・名作】アーケード・家庭用・格闘ゲームのご紹介~名作(173 本)・全タイトル(1462本)のご紹介
【名作STG】シューティングゲームのご紹介
【AVG】アドベンチャーゲームのご紹介│まとめ│
【名作RPG】RPGのご紹介│まとめ│
【TOP:SLG】おすすめ名作シミュレーションゲームのご紹介
【TOP】レースゲーム関連(おすすめ名作・評価ランキン)のご紹介
TOP【おすすめスポーツゲーム】のご紹介~MLB,NBA,NFL,FIFAなど~
【TOP】パズルゲームのご紹介
ゲームTOPサイトマップ
ゲームTOPのサイトマップをご紹介します。
【ゲームTOP】サイトマップ | ||||
ゲームTOP > ランキング│傑作・名作│機種別│ジャンル別 | ||||
■ランキングTOP > ハード│ソフト(売上(世界│国内)│海外評価) ■傑作・名作ゲームTOP > ■ゲーム機種別TOP > 据置│携帯│AC│PC│周辺機器 ■ジャンル別TOP > アクション系(プラットフォーム│対戦アクション│FPS│TPS│STG│フライト)|AVG│RPG│SLG│レース│スポーツ│パズル│テーブル |
||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
ゲーム関連ページのご紹介
ゲーム関連ページをご紹介します。
【ゲームランキング】世界・国内で最も売れたゲームランキングのご紹介
名作ゲームのご紹介│まとめ│家庭用ゲーム・PC・アーケードなど
【機種別ゲームTOP】PC・家庭用・アーケードゲーム・周辺機器のご紹介
ジャンル別ゲームタイトルのご紹介│まとめ│
コペンギン・サイトマップ
コペンギンのサイトマップをご紹介します。
【コペンギンTOP】サイトマップ | ||||
コペンギンTOP > ゲーム│ホビー│書籍・マンガ│ | ||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
懐かしの名作から最新作までの豊富な品揃え!通販ショップの駿河屋
コペンギンサイトマップ関連ページのご紹介
コペンギン関連ページをご紹介します。