C言語入門講座 第2回「文字列を表示する」

今回の理解目標

  • 「一番簡単なプログラム」の意味
  • 文字列の表示





プログラムの開始地点

前回、「一番簡単なプログラム」として以下のものを挙げました。

main(){}

今回は、何故これでプログラムが動いたのかについて解説します。
ではまず、前回のことを完全に忘れて、コンパイラを起動してまったく無意味な文字列を入力してみましょう。

このように、何も考えずに文章を入力したところでプログラムは作成できません。見ての通りコンパイルエラーが発生します。
(※ちなみに上の英文は「ふっ、久しいな。我が名はガーベイジ・アンド・トラッシュ也。貴様に語ることはこれ以上はない、世 界 中 に 狂 気 と 混 乱 を!!!」と書いてあります。まあ多少意訳しましたが。)
では、何故前回提示したプログラムはコンパイルが成功し、今回のものは成功しなかったのでしょうか。
それは、当たり前ですが、C言語の構文に従って書かれていないからです。ということで、今回からはC言語によってプログラムを作成するのに不可欠なC言語構文に関する解説を延々としていくこととなります。特にこの講座は入門なので、あるプログラムを書くときにどのような処理をすればいいのか、というよりもC言語構文の解説が主な内容となります。


この項目で解説するのはプログラムはどこから始まるのかということについてです。もう一度「一番簡単なプログラム」を見てみましょう。

main(){}

さて、これはいったい何なのか。
実は、C言語は「main」がなければ実行されません。逆に言うと、mainさえあれば他に何もなくともプログラムは動きます。
……といってもわかりにくいと思いますし、はじめのうちは全てのことを厳密に捉えようとすると疲れる上に挫折しやすくなってしまいます。よって、今はmain(){}は「動け」という、一番簡単な命令であると思ってください。
さて、先ほど上で説明したように、mainがなければC言語は動かない代わりに、mainさえあれば他に何がなくても動く。つまり、前回紹介した「一番簡単なプログラム」とは、「動け」という、ただそれだけの命令だけで構成されたプログラムだった、ということです。
もう一度前回のプログラムの実行結果を見てみましょう。

撮り直したので少し内容が変わっていると思いますが、重要なところは同じです。
画像の手描き矢印の部分を見てください。文字の書かれている部分の上に、一行の空行があります。
実は、「一番簡単なプログラム」によって実行されたのは、この空行の部分だけです。下にある文字が実行結果だと思った方も大勢いらっしゃると思いますが、これはOS(ウィンドウズ)が気を利かせて入れてくれた文章であり、プログラムの結果ではありません。



※OS
オペレーティングシステム。パソコンを動かすためのプログラム。ウィンドウズ、リナックスマッキントッシュなど。
OSの意味がわからない人は「ウィンドウズのこと」だと思えば大体の場合間違いはない。

実行はされましたが他に何も命令していないのでそのままプログラムが終わり、その下にウィンドウズが気を利かせて文章を入れてくれた、という状況です。




画面に文字を表示する

さて、これでプログラムを動かすための方法はわかりましたが、これでは何の生産性もありません。ということで、次は画面に文字を表示する方法を学びましょう。
その前にまずはmainの後ろに二つくっついている括弧について解説しなければいけません。といってもひとつめのいわゆる通常の括弧は今のところほとんど意味は持ちません。決まりなので書かないことはできませんが、書いても何の意味も発生しないただの飾りだと思ってください。
重要になるのは二つ目の括弧、いわゆる大括弧です。この大括弧は何なのかというと、「動け」という命令であるmainの後ろにあり、どのように動けばいいのかを示す部分です。
よって、動かしたい内容はこの部分に書いていく事となります。
では早速画面に文字を表示させて見ましょう。


……先ほど「構文の解説が主となります」といっておきながら申し訳ないのですが、まず「プログラムを表示させる」という関数について解説しなければいけません。

※関数
「足し算引き算を行う」「画面に文字を表示する」などの、複数の命令の集まり。
(後にまた詳しく解説します)

例えば外国語の勉強では「単語」「文法」の勉強が重要になりますが、自分の持論としてはC言語の場合は「単語」は「関数」に、「文法」は「構文」にそれぞれ対応すると考えています。この講座は入門講座なのでC言語構文の解説がほとんどとなりますが、実際にプログラムを書く場合にはより多くの関数の処理内容を知ることが必要になります。
さて、話がそれてしまいましたが、文字を表示する関数についてです。文字を表示する場合は、以下のように記述します。

puts("表示したい文字列");

または

printf("表示したい文字列");

文字を表示するのに使うのは、puts関数、またはprintf関数です。使い方としてはどちらも関数名(putsまたはprintf)を書いた後ろに表示したい文字列を書き、それを("と")という括弧にダブルクオーテーションがついたもので囲みます。C言語は基本的に英語で書かなければいけませんが、例外的にこの表示したい文字列の部分は日本語で書くことができます。
何故ただの括弧ではなく括弧の中にダブルクオーテーションで二重に囲むようなことをしなければならないか疑問に思う方もいらっしゃると思いますが、「日本語を表示させるためには()だけでは日本語の持つ力を抑え切れないので、""と一緒に使うことによって日本語の持つ力を封印して画面に表示できるようにしている」などと、適当に覚えてください。文字を表示する場合は("という特殊な括弧が必要だ、と覚えるのが一番楽かと思います。
そして一番重要なのは最後に「;」(セミコロン)を入れるということです。一部の「構文」として登録されているもの意外、全てのC言語で行う命令の最後には、そこで命令が終了するという合図としてセミコロンを入れなければなりません。この必要なセミコロンを抜かすと、必ずコンパイルエラーが発生します。C言語学習を始めたばかりの頃はどうしてもセミコロンを忘れがちになってしまいますが、いくつもテストプログラムを作成するうちにセミコロンをつける習慣が身につくと思います。セミコロン忘れでコンパイルエラーを出さないように、先にセミコロンまで入力して、その後括弧の中を書く、などの方法をお勧めします。


さて、これで文字の表示方法はわかりましたが、いったいどこにこれを書けば文字が表示されるのでしょうか。
それは、先ほど解説したmainの後ろについている{}の中です。では、早速記述してみましょう。

ご覧のように、Make End !!と表示されコンパイルが終了しました。実行結果は以下の通りです。

……はい、毎回毎回同じネタですみません。
ちなみに、putsをprintfに変えると

のように、自分で入力した文章とウィンドウズが気を利かせて出してくれた文章の間にあった空行が消滅します。これは、puts関数が「文字列を表示して改行する」という処理であるのに対し、printf関数が「文字列を表示する」だけの関数であるためです。まったく同じ関数が存在しても仕方がないために、このような部分で微妙な差異をつけているわけです。(実際はこのような微妙な差ではなく、もっと大きな差があるのですが今回は解説のほうを控えさせていただきます)
さて、これで文字列が表示できるようになりました。
今回紹介したputs関数、printf関数はそれぞれ重要な関数ですので必ず覚えてください。特にprintf関数はこれからのプログラミング学習において常に使用することになりますので、絶対に忘れないでください。




課題

では、今週も課題を出させていただきます。今回の課題は以下の通りです。


1.復習として、「一番簡単なプログラム」をもう一度作成する
2.puts関数、printf関数を使用して、画面にそれぞれ文字列を描画するプログラムを作成する。
3.関数のそれぞれの必要な要素を書かないと(セミコロンを抜かす、括弧やダブルクオーテーションを片側しか書かない、など)どのようなエラーが発生するのかを確認する。


では、また来週の火曜日にお会いしましょう。……今度こそ、火曜日に。

全体活動日誌 第34章

[活動日 2011年7月4日〜2011年7月9日(第14週)]


【各プロジェクトの進行状況】



ChaosWorld 〜future of hopes〜

製作者:G&T
ジャンル:カオス弾幕シューティング
[今週の作成内容]
・システム調整


ミッションズ

製作者:ぅいーじ
ジャンル:RPG
[今週の作成内容]
・難易度調整
・一部修正


アクションゲームnew!!

製作者:スライム1/2・きたさいたまブラスター・ぅいーじ
ジャンル:アクションゲーム
[今週の作成内容]
・ステージ作成
・ステージ調整




【お知らせ】

中三会員のHNが決まりました。
中三の人B→きたさいたまブラスター
中三の人D→スライム1/2

データ構造 第01講 「データを番号で扱いたい!」

目次→美祢『データ構造』 目次 - 武蔵高中 CPU愛好会 活動日誌

配列について

イントロダクションで「データ構造とは、データを順序化したもの」と言いました。
実際に、データ構造の作り方・使い方を学びましょう。
まず今回は、もっとも基本的なデータ構造である“配列”について講義します。
“配列”とは、イントロダクションの例で示したような、「 hensuu[i] 」の様な形で表され、「同じ型の変数がメモリ上に連続して並んでる」という構造です。

配列の使い方

配列変数の宣言のとか初期化の仕方は、以下の通りです。

int seisuu[5];
double shousuu[3]={0.5,1.2,3.0};
char moji[6]={'h','e','l','l','o'};
char mojiretsu[15]="Hello World";

まず、宣言の特徴は、配列の要素の数を大括弧「[]」で括って宣言する事です。
つまり、

int seisuu[5];

と宣言したら、int型の{seisuu[0],seisuu[1],seisuu[2],seisuu[3],seisuu[4]}([]内の数字“添字”は、0から始まって、要素数-1で終わります)という5個の変数ができた事になります。
注意点として、この時、「[]」に囲まれる数字は変数ではいけません。必ず定数で宣言してください。
次に、初期化の特徴は、初期化には中括弧「{}」を用いて、カンマ「,」で区切って値を入れる事です
注意点としてはもちろん、要素数より{}の中の定数の数が多くてはいけません。そして要素数より{}の中の定数の数が少ない場合は、残りの分は全て0で初期化されます。(その場合も必ず最初のひとつは初期化してください)
また、初期化する値がある場合、要素数を省略できる場合があります。例えば、

int shousuu[]={0.5,1.2,3.0}

と宣言・初期化した場合は、初期化する値の数に等しい要素数の配列ができます。つまりこの例では最初の例の2行目と同じ意味となります。
文字型の配列については、「文字列」という別名があり(C++だと文字列専用のstringという型がありますが、ここでは説明を省略して、扱いません)初期化の方法も2通りあります。
片方は最初の例の3行目の様に、シングルクォーテーション「''」で囲んだ文字を1文字1文字区切って初期化する方法。
他方は、最初の例の4行目の様にダブルクォーテーション「""」で囲んだ文字列を書く方法です。こちらは「{}」は付けません。なぜなら、「""」で囲んだ文字列は、既に文字型配列と同様の扱いになっているからです。
配列の扱いには、注意点が2つ程あります。
一つ目は、「余裕めに要素数を用意する」事です。後から要素数を増やす事はできません。それをしたかったら後の講で扱う「動的」な構造を使ってください。故に、

int seisuu[5];
seisuu[5]=5;

というのはいけません。最後の添字は「要素数-1」なのも忘れてはいけませんね。特に文字型は、標準ライブラリにある多くの文字列を扱う関数では、「'\0'で文字列が終了する」と定義されているので、少なくとも文字数より1つ多い要素数にしなければなりません。
二つ目は、「{}とか""とかは初期化専用の記号である」事です。あとから{}や""を使って一気に代入する事はできません。

char mojiretsu[15];
mojiretsu="Hello World"

というのはだめです。しかし、イコール(代入)演算子「=」を使っての代入がだめという意味であり、「標準ライブラリ関数を使って一気に代入する」という別の方法はあります。この辺の方法は次講で紹介します。

今回の終わりに

今回は1講目という事で、実際に見たときにどのぐらいの長さになってるかはよく分からないのでこのぐらいの長さで区切ってみました、どうでしょうかね?次講では、「ポインタとしての配列」「配列の実用例」を解説したいと思います。
なんか1週間に1更新だとあんまり多くは語れない様な気がしてきましたが、まぁこれも実験段階です。これから改良できる点は改良していきましょう。

参考文献

Programming Place Plus「C言語編 第23章 配列」http://www.geocities.jp/ky_webid/c/023.html……「初期化する定数の数が要素数より少ない場合」の参考にしました。

C言語入門講座 第1回「一番簡単なプログラム」

今回の理解目標

  • コンパイラの初期設定方法
  • プログラム作成の一連の流れ



コンパイラの初期設定

プログラムを組むときに必要となるコンパイラですが、本講座ではBorland C++ Compilerを使用いたします。理由は初心者にはとても使いやすいためです。といっても、使いやすいのはこのコンパイラ自体ではなく、このコンパイラを使用してプログラムを作成できるエディタBCC Developerのほうです。

※エディタ
Windows付属の(買ったときからもともとついている)「メモ帳」や、書類作成でよく使われている「Word」などの、文字を書いて文章を保存することのできるプログラムのこと。

第一回の目標はいきなりプログラムを作成することではなく、このコンパイラの使い方に慣れプログラムを作り始める手順を理解することとなります。
Borland C++ CompilerとBCC Developerはそれぞれ以下のリンクからダウンロードできます。(Borland C++ Compilerのダウンロードには氏名とメールアドレスの入力が必要となります)


Borland C++ Compiler(一番左の「C++コンパイラのダウンロード」からダウンロードを行ってください)
BCC Developer


ダウンロードが完了したら、BCC Developerの初期設定を行いましょう。

※初期設定
プログラムを利用可能な状態にするために必要な、初回起動時に行う種々のの設定。



まず最初に起動するをこのような画面が表示されます。

このような画像が表示されたら、まずはこのボタンを押してください。

と、このような画面が出てくるので、

ここのボタンを押してください。

Borland C++ Compilerをインストールするときに特に何の設定も行っていない場合は、コンパイラ

上の画像の青くなっている場所にインストールされているはずなので、そこをクリックしてください。
と、このようにファイル一覧が表示されるので、

borland」と書かれたフォルダをダブルクリックしてください。
すると、下記のように表示されるので、

同じく「bcc55」をダブルクリックし、出てきたフォルダから

「bin」をダブルクリック。そして

のように表示されたら「bcc32」をダブルクリックすれば、コンパイラの設定は完了です。これでBCC Developerを使いBorland C++ Compilerのコンパイルが行えるようになりました。
また、そのひとつしたに「デバッガ」という欄がありますが、これも同じ手順で「bcc55」のフォルダの中に入れば「TD32」と書いてあるもののアイコンが表示されると思いますので、それをダブルクリックすれば設定できます。ただし本講座においては使用しないため設定しなくてもかまいません。


以上でコンパイラの初期設定は終わりです。




新しいファイルを作成する

コンパイラの設定が終わっても白い枠と灰色の四角だけが表示されているだけでプログラムの作成を始めることはできません。プログラム作成を始めるにはプロジェクトの作成ファイルの作成が必要となります。


左上のファイルボタンを押して、新規作成をクリックすると以下のような画面が表示されるので

この部分をクリックしてください。

と、このように少し表示が変わるので

このボタンをクリックしてください。
すると、このようにフォルダ一覧が表示されるため、

プログラムを作成したいフォルダを選択して、下の選択ボタンを押してください。表示されているフォルダの下の階層に選択したいフォルダがある場合、フォルダをダブルクリックするか左の「+」ボタンを押すことでそのフォルダ内のフォルダが表示されます。
お勧めとしては、Cドライブ直下に「program」などのフォルダをつくり、その中にプログラムを作成することです。

※Cドライブ
Windowsボタンなどから「コンピューター」(XP以前では「マイコンピューター」)を開いたときに、「ローカルディスク(C:)」と表示されているもの。

さて、フォルダの選択が終わったら、次はプロジェクトの作成を行います。といっても、これは簡単で、「プロジェクト名」と書かれた横の枠に好きな名前を書いて、下のOKのボタンを押すだけです。ただし使用できるのは英数字といくつかの記号だけです。
これで設定した場所に入力した名前のフォルダが作られ、その中にプログラムのコードや本体が保存されていくようになります。


さて、プロジェクトを作成しても左に名前とオレンジ色の盾みたいなものが表示されただけで真ん中のスペースが灰色のままであることに変わりはありません。実は、プログラムを作成するにはもう一度「ファイルの作成」というものを行わなければなりません。
ファイルを作成するには先ほどの画面をもう一度だし、今度は他の部分を何も手を加えずに「ファイル名」の欄に好きな文字列を書き込みます。そして、その末尾に「.c」とつけて

OKボタンを押せばファイルの作成は完了です。

これで文字の入力できる白色の画面が出てきたと思います。この白い部分を使ってプログラムを記述します。




一番簡単なプログラム

さて、これであなたも立派にプログラマデビューです。
ということで早速プログラムを作ってみましょう。
まずは画面に


main(){}


と入力してください。今の段階では意味はわからなくて結構です。
そして、左下のコントロールキーを押しながら、上にあるF9キーを押してください。BCC DeveloperではCtrl+F9コンパイルが行われます。

コンパイル
プログラミング言語で書いたプログラムをコンピューターが理解できるような形に変換すること。

すると、下になにやらいろいろな文字が現れ、最終的には

このような文字が現れるはずです。
そうしたらF9ボタンを押してください。すると

のような画面が表示されます。
おめでとうございます。これであなたの一番最初のプログラムは完成です。


さて、このプログラムがいったいどのような意味を持っているのか。そしてそもそも何故このようなものが現れたのかについては次回解説いたします。
今回は上でも書きましたがプログラム自体を作るというより、プログラムを作り始める段階の手順についての解説です。この手順はこれから何度も何度も繰り返すこととなりますので必ず覚えてください。
初期設定は一度しか行わないので、毎回のプログラム作成手順はプロジェクトを作成→ファイルを作成→プログラムを書く→コンパイルという形になります。今回は必ずこのことを覚えてください。


課題

この講座は一週間に一回の連載であり、その間に何もしないとプログラムはほとんど上達しません。よって、この講座では毎回次回までに行っていただきたい課題を設定いたします。
今回の課題は下記の通りです。


1.Cドライブにコンピューター(マイコンピューター)からアクセスして、programというフォルダを作成する。
2.作成したprogramフォルダに「practice-0001」という名前のプロジェクトを作成する。
3.practice-0001プロジェクトの中に「main.c」というファイルを作り、「一番簡単なプログラム」の項で紹介したプログラムを作作成してコンパイルする
4.同様にpractice-0005までプロジェクトを作成し、まったく同じプログラムを記述してコンパイルする。


プロジェクト「practice」の後ろの番号が3桁(001)ではなく四桁(0001)なのは、1000以上の練習プログラムを作ってほしいという自分の考えからです。自分はまだ1000個のテストプログラムを作ることはできていまませんが、この講座を読んでくださっている皆さんには是非1000とは言わずとも、多くのテストプログラム・練習プログラムを作っていただきたいのです。自分はプログラミングにおいて疑問に思ったことはすぐにテストプログラムを作成して検証する、という学習方法を行ってきました。中には「この記述方式でコンパイルが通るか」という疑問を解決するために作ったテストプログラムが、結局コンパイルエラーとなってしまった(コンパイルが通らなかった)こともありました。ですが、そのようなテストプログラムを作ることで知識が増えていくのだと思います。皆さんも是非、疑問に思ったことはどんどんテストプログラムを作って解決していってください。


では、また来週の火曜日、第二回の講座でお会いしましょう。

全体活動日誌 第33章

[活動日 2011年6月13日〜2011年7月2日(第11〜13週)]


【各プロジェクトの進行状況】



ChaosWorld 〜future of hopes〜

製作者:G&T
ジャンル:カオス弾幕シューティング
[今週の作成内容]
・弾作成
・システム調整


スライムワールド

製作者:中三の人B、中三の人D
ジャンル:RPG
[今週の作成内容]
・調整

美祢『データ構造』 目次

注意:記事内では、プログラミング言語は「C++」を使用しています。

08/12修正:言語を「C++」に統一、本講座で紹介したデータ構造を「C」で実装する方法は、希望があれば紹介する可能性があります。

Introduction

「デ ー タ に 番 号 を 付 け た い」って、今までに思った事はありませんか?
……例えば、テストで43人(出席番号01〜43)が受けたとして、
「阿部さんの点数」「齊藤さんの点数」「鈴木Aさんの点数」「鈴木Bさんの点数」「平賀さんの点数」とかとかが発生します。
→言い換えれば、「出席番号01の人、阿部さんの点数」「02番、天野さんの点数」「03番、今井さんの点数」「04番、今沢さんの点数」……「43番、渡さんの点数」と表す事ができます。
でもまだこの段階では、プログラミングにすると

scanf("%d",&student01);
scanf("%d",&student02);
scanf("%d",&student03);
scanf("%d",&student04);
//
//	(この間38行中略)
//
scanf("%d",&student43);

という、無駄に長いコードになってしまいます。
→でもこれをさらに言い換えて、「出席番号i番の点数(01≦i≦43)」と表現することで、

for(int i=1;i<=43){
	scanf("%d",&student[i]);
}

と、非常にスマートなコードになります☆
この様に、「同じ形式のデータを番号化、序列化する」というのが、この講座で解説する“データ構造”の意味です。計算量は小さくなりませんが、非常に短い文章で複数のデータを扱えるので可読性が向上する、というのが特徴です。

目次

07/08:第01講【配列】「データを番号で扱いたい!」
07/15:第02講【配列】「配列を使おう」
07/22:第03講【vector「データの数がいくつになるか分からない!」
08/05:第04講【list】【イテレーター】「動的なデータ構造ってどうやってるのさ」
08/12:第05講【優先度キュー】【ヒープ】「大きい順にデータを出したい」

G&T『C言語入門講座』 目次

C言語入門講座

担当:G&T



【挨拶】
はい、ということでレポート第一弾を担当させていただくこととなりました、広報係……じゃなかった、主務のG&Tです。
ということで今回自分が担当させていただくのは、CPU愛好会会員のプログラムのほとんどで使われているプログラミング言語、C言語についての解説です。……といっても「は? プログラミング言語? 何それ? 俺日本人だし。プログラミング言なんて国行ったことねーし」となってしまう方もいらっしゃると思いますので、まずはそこから解説をしましょう。

さてプログラムは当然人によって作られているわけです。このプログラムを作る行為の事をプログラミングといいます。そしてプログラミング言語というのは、このプログラムを作る時に使う言語の事です。
……といっても訳がわからないと思うので、詳しく解説します。
まず、プログラムとはコンピューター、つまりパソコンとかゲーム機とかに命令を下す物です。コンピューターに命令したい内容は「文字を表示しろ!」「音楽を鳴らせ!」「世界中に狂気と混乱を!」みたいにいっぱいあるわけですが、残念ながらコンピューターは日本語、というか人間の使っている言語全てを理解出来ません。よって上記のような命令をそのまま下したところで何も起こらないわけです。
すると「コンピューターは何なら理解出来るんだ!」という事になるわけですが、コンピューターが理解出来る言語は『機械語』という言語だけです。「じゃあ、機械語で命令を下せばいいのか」という風に話は簡単には進みません。なぜなら、機械語は0と1のみで構成されているからです。例えば「01101001」みたいな感じです。こうなるとプログラムをつくる人間側の方が理解出来ません。というか頑張れば理解出来るのですが膨大な時間がかかります。少なくとも筆者はこんな物を使ってまでプログラミングをしようとは思いません。
では、そんな怠け者の人間はどうやってプログラムを作っているのかというと、まず人間のわかる言葉で命令を書いて、それを機械語に翻訳してコンピューターに命令を下しているのです。この人間の言葉から機械語に翻訳する作業をコンパイルといい、その翻訳をしてくれるプログラムをコンパイラといいます。
ただし、コンパイラも万能というわけではなく、「音楽流しといて」みたいなテキトーな命令では機械語に翻訳出来ません。ある程度コンパイラの決めた規則に従って命令を書かなければいけないわけです。この決められた規則に従った書き方の事をプログラミング言語、またはプログラム言語といいます。
ちなみに、プログラミング言語は基本的に全て英語で記述します。たまに日本語を使えたり空白のみで記述(ネタではなく本当にあります)したりする言語もありますが、需要の多い言語は英語で記述するものがほとんどです。

以上、2010年度記念祭において発行したCPU愛好会小冊子掲載の「プログラミング言語概念」から抜粋編集しました。いや手抜きじゃなくてですね今その場で考えたことを書くよりは当時の推敲した文章を載せたほうがきっとわかり易……はい、ごめんなさい。
まあでも行為は手抜きであっても書いてあることは手抜きではないので、プログラミング言語とは上記に書いてあるようなものの事です。で、CPU愛好会ではその中の「C言語」とそれを拡張した「C++」という言語が主に使われています。
ちなみに上の文にはほかにもコンパイラコンパイルという単語も出てきましたが、この語も今後かなりの頻度で使用しますので、覚えてください。
さて、挨拶が(主に引用のせいで)長くなってしまいましたが、早速C言語によるプログラム作成にについて解説していこうと思います。以下のリンクからどうぞ……




【目次】
第01回「一番簡単なプログラム」
第02回「文字を表示させる」
コラムその1 〜C言語と空白〜
第03回「変数とは?」
コラムその2 〜変数の限界値〜
コラムその3 〜変数の初期値〜
第04回「変数の四則演算」