第1回 C言語を始めよう

内 容


このドキュメントは http://icrus.org/c_language_beginers_course/ 上にあります.

1-1. C言語を始めよう

 このテキストは,基本情報処理試験の受験者が,午後の問題のC言語に関する問題の文法的な部分が解けるようになることを目的として書かれています.

 このテキストでは,[課題]を解く形でテーマを進めていきます.それぞれのテーマの理解を深めるためには,テキストでの理解だけでなくできるだけ,[プログラム例],[問題]を無償提供のコンパイラーで実際に実行して確認することをお薦めします.そうすることによって何倍も早く,何倍も深くC言語を理解できます.[プログラム例],[問題]は,ほとんどのコンパイラーでそのままコンパイルできるような形で書かれています.(重要:コンパイルする際,1:,56:などの行目表示は取り除いて入力してください.)コンピュータはどんなに間違ったC言語プログラムを実行ししたからといってめったに壊れるものではありません(最悪でもリセットスイッチを押せば復活します).ですから,安心して間違ったプログラムも実行してみて下さい.コンピュータが間違いを指摘してくれます.または,思った通りに動作してくれないだけです.
 いっしょにC言語を学べる仲間を作ることをお薦めします.1人でテキストを読み,コンパイラーで学習するのも一つの手ですが,どうしても理解できないこと,不可解な実行結果が生じることが多々あります.そのとき仲間がいれば,挫折しないで進めると思います.そこに経験豊かな仲間がいれば望ましいことはいうまでもありません.どうしても1人のときは(1人に限らなくても),コンパイラーのヘルプ表示やマニアルを使いこなして下さい.
 テーマ1は,イントロダクションです.テーマ2以降は,それぞれのテーマごとの[課題]を解いて,それに説明を加え,さらに基本情報処理試験に即した[問題]を解いていきます.
 それでは,さっそくC言語をはじめましょう.

1-2. Hello world!

Hello world!の作成手順

プログラム例1-2 hello.c


1: #include <stdio.h>
2: void main(void){
3: printf( "hello, world" );
4: }

解説

4行目→キーボートから1文字を入力する関数です.以降のプログラムで,プログラムの最後(関数main()の最後)に現れるgetchar();は,画面をストップさせるためだけに使用しています.画面をストップさせる必要がないときは省いても構いません./* */で囲まれた文字はコメント文です.

結果1-2

 コンパイル・実行すると,ディスプレィに「hello, world」と表示されます.[プログラム例1-1]ではこのあとすぐプログラムは終了し,コンパイラーがTurbo Cなら画面がプログラム入力画面に変わってしまいますが,[プログラム例1-2]では,リターンキーが押されるまで,プログラムは終了せず同じ表示をし続けます.その後リターンキーを押すと,プログラムは終了し画面がプログラム入力画面に戻ります.

[文法1]

    1.コメント文
    ①/* 好きな文字 */
    1. /*と*/で囲まれた文字はコメント文ですので,コンパイル時はないものとして扱われます.
    2. /*と*/は同じ行になくても構いません.
    3. コメント文の中にコメント文は書けません.つまりコメント文の入れこはできません.

     ここでは,簡単な表示プログラムを実行し代表的な関数 main(),printf(),getchar()を紹介しました.

     C言語は関数の組み合わせでできています.main()関数はプログラム中に必ず1つ必要です.(MS-DOSなどのOSはまずプログラム中のmain()関数に制御を渡します.)これから先はしばらくのあいだは,main()関数の中だけを変更して,C言語の基礎を学習していきます.その後テーマ12以降でmain()関数以外の関数を独自に定義していきます(作っていきます).なおprintf(),getchar()などの関数ははじめからにC言語が用意している標準関数ですので定義なしで使うことができます.


    おつかれさまでした.以上,C言語の手始めhello worldをコンパイル/実行してみました.


    このドキュメントは http://icrus.org/c_language_beginers_course/ 上にあります.

    2016,12

    ssatoh@

    足立工科大学 工学部 情報通信工学科