Unknown Material

30分で書けること。

--/--/--   スポンサーサイト : スポンサー広告


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


コメント

2008/06/01   Hello World!を読み解く : Unknown式C言語入門


入門第二回目ということで、
今日は"Hello,World!"プログラムについて説明します。
"Hello,World!"プログラムというのはただの俗称で、
実体は画面に文字を打ち出すプログラムのことです。
プログラミングの練習ではこの"Hello,World!"という
文章が例として頻繁に使われています。
"C言語はじまり"とか"テスト"とか日本語を含めた文字
でも大丈夫ですが、ここでは慣例に従います。

で、下がその"Hello,World!"プログラムです。
#include <stdio.h>
int main(void)
{
   printf("Hello, World!\n");
   return 0;
}

文字列を画面に出すだけで6行程のプログラムを書く必要があります。
面倒臭いように思いますが、うち5行は定型文みたいなものですから、
実質1行が役割を果たしています。
これを動かしてみると下の様になります。
hello world C言語入門
ちゃんと黒い画面(コンソール)にHello,World!と出力されていますね。
それではこのプログラムの各文字がどのように機能しているかを
具体的に説明していこうと思います。


-- ◇ Hello World!を読み解く の続き --

先ほど言った通り、ここで肝心なのはたった1行だけです。
それ以外は一応説明しますが、今分からなくても大丈夫です。
printf("Hello, World!\n");
この1行がHello, World!を画面に出力する部分です。
単純な話、
printf("○○○");
の○○○に好きな文字を入れれば画面に表示されます。
printf()は"文字を出力する関数"です。
関数というのは数学の関数とほぼ同じ意味で、
f(x)=3xと定義してあるとき、
f()は"数値を3倍する関数"と呼ぶような感じです。
括弧の中に対してある操作をするというのが関数の特徴です。
ちなみにprintfはprintfで1つの意味を持っています。
printとfを切り離したり出来ません。
次にこの関数の()の中について説明します。
"(ダブルクオーテーション)があるのは、
””で文字を挟むことでその中の文字が文字列であることを
認識させるためのものです。
次回辺り説明しますが、printfには単純な文字出力以外
にも機能があるので、”がないと認識が上手くいきません。
n これは改行を意味する特殊な文字です。
これを入れた所で出力時に改行が行われます。
今回はHello, World!しか出力していないので、
改行する必要はありませんが、いろいろな出力を
行う時には改行は見易くする為に必須です。
は直後の数文字と組み合わせて特殊な意味を持つことが出来ます。
でも、この改行のnだけ覚えていれば十分だと思います。
は使う環境によって¥n(円マーク+n)だったり
\n(バックスラッシュ+n)だったりします。
↑で今見えている方を使ってください。

次にprintf以外について説明します。
#include <stdio.h>
int main(void)
{
   ◇
   ◇
    :
   ◇
   return 0;
}

当分の間は◇…の部分に自分のプログラムを書いていく事になります。
毎回同じなのでコピーして使っても構いません。
なおC言語は行というものが存在しません。
途中途中で改行やスペースを入れてもプログラム上はなにも変化しません。
ですので、文を区切るための文字が必要となってきます。
それが;(セミコロン)です。
ですからちゃんとprintfやreturn 0の後には;が付いています。
#include <stdio.h>やint main(void)にはついてないのは、
{}(中括弧)の外だから、と思ってください。
(本当は違います)
この中括弧はint main(void)の範囲を指しています。
int main(void)というのはメイン関数と呼ばれています。
つまりmain()がどのようなことをする関数なのか
をプログラミングとして記述している訳です。
括弧の中のvoidが関数の引数(ひきすう)で
return 0;というのが関数の戻り値です。
intは戻り値が整数であることを宣言しています。
この辺は分かりにくいと思うので、
先ほどの例(f(x)=3x)を置き換えてみます。
int f(x)
{
   return 3x;
}

プログラム的には嘘ですが、意味はこんな感じです。
intは整数という定義がありますので、
この3xは小数を切り捨てた整数になります。
つまりmain関数はvoidという引数を入力すると、
結果として0を出す関数になります。
voidというのは空という意味ですから、
引数を取らないという意味です。
関数が0を出すことは、異常なくプログラムが終了したことを
コンピューターに伝えています。
こうしてみるとmain関数自体は何もしていない事が分かります。
ただmain関数を実行する過程でprintfなどの関数が動き、
画面やファイルに操作を行っている訳です。

最後に#include <stdio.h>の説明を。
これは外部のプログラム(ヘッダーファイル)を呼び込むためのものです。
これを書くことによってprintfなどの多くの関数を使えるようになります。
数学処理専門の関数が書かれたものもあり、それを呼び込むことで
cosやsinなどが使えるようになったりもします。

長くなりましたが、今回はprintfの使い方さえ分かれば十分です。
あとは読み飛ばしても問題ないです。

スポンサーサイト


コメント

ナビゲーション

カテゴリー
 ライトノベル関連 (54)
 漫画・アニメ関連 (1)
 コンピューター関連 (29)
 テンプレート (5)
 Unknown式C言語入門 (9)
 大学生活・雑記 (35)
 製品レビュー (2)
  →  このブログについて
  → 過去レビュー 一覧
アクセス数
   

プロフィール

  プロフィール画像(レニウム)
 ◇ レニウム
   詳しく見る。

相互リンク

マクロミルへ登録

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。