1.端末に文字列を表示する

  1. プログラムを書いてみる

    #include <stdio.h>
    
    int main()
    {
    	printf("Hello World\n");
    
    	return 0;
    }
    
    端末に"Hello World"と表示するプログラムHello_World.c

    まずはコピペやダウンロードせずに自分でタイプしてみよう
    その際にセミコロン(;)を書き忘れたりしないように気をつけよう
    念のため言っておくけど行番号(1. 2. ...)は書く必要ないからね?


    注)5行目の"Hello World\n"の中にある'\'は,
     環境によってバックスラッシュに見えたり, 円マークに見えたりするが,
    どちらでも問題ない
     右シフトキーの隣にあるキーを押せば入力できる

  2. プログラムを実行する

    C言語のプログラムを実行するにはコンパイルが必要だ

    これは記述したソースファイルをコンピュータが実行できる形式に変換する作業で,
    gccに引数として作成したソースのファイル名を与えると行ってくれる

    $gcc Hello_World.c

    さらに, もしソースコードに間違いがあった場合は間違いを教えてくれるのだ
    (エラーメッセージについてはまた後日, 解説する)

    コンパイルが終わると一見なにも起きていないように見えるが,
    lsコマンドでディレクトリの中を見てみると新しいファイルが作成されている

    コンパイルしたプログラムを実行するには./a.out

    $ls
    a.out Hello_World.c
    $./a.out
    Hello World

    前回の内容と照らし合わせてみると,
    ./a.outは,

    '.'(カレントディレクトリ)

    '/'(の中)

    のa.outを実行したということだ

    しかし, a.outではこれがどんなプログラムなのかわかりづらい(というかわからない)
    そこで, gccオプション"-o"を使うことで, プログラムに好きな名前をつけることができる

    $gcc Hello_World.c -o Hello_World
    $ls
    a.out Hello_World Hello_World.c
    $./Hello_World
    Hello World

  3. プログラムを読んでみる

    #include <stdio.h>
    
    int main()
    {
    	printf("Hello World\n");
    
    	return 0;
    }
    

    改めて今実行したプログラムを見てみよう

    1行目には
    #include <stdio.h>
    とある
    これは後に出てくるprintfを使うために必要な"おまじない"だ

    実はこのprintfは, C言語に元からある機能ではない
    そのため, 使用するにはこの1行を記述してprintfの存在を宣言する必要があるのだが...
    今は気にしないでおこう

    次に3行目にはmainと書いている
    その名のとおりこのプログラムのメイン(主たる)部分だ
    次の行の中括弧({)から8行目の中括弧(})までがその中身で,
    この中にさまざまな命令を記述することで, コンピュータが実際に処理を行ってくれるのだが,
    命令の最後にはセミコロン(;)をつけることを忘れないようにしよう

    そして5行目
    このprintfこそが端末に文字列を表示する命令だ
    printfの後の括弧内にダブルクォーテーション(")で囲った文章を記述することで,
    端末に表示してくれる
    これを, 文字列を端末に出力するという

    このような括弧内に何か与え, それに対して処理を行う命令を関数といい,
    括弧内に与えるものを引数という

    最後に7行目には
    return 0;
    とある
    returnの意味は返す
    つまりこの命令は0を返すということだ

    だからなんだという話だが, これも今は気にしないでおこう

  4. 特殊な文字

    printfを使えば端末に文字列を表示することができる
    でもさっきのプログラムでは表示されない文字があった
    これ'\n'
    じゃあ表示されないなら消してしまおう
    改めてコンパイルして実行してみるとどうなった?

    なんか変だ
    Hello Worldと表示してあるものの, 改行されてない
    つまり'\n'は何も表示していないわけじゃなくて改行を表示していたということだ
    '\n'改行を意味するひとつの文字だということを覚えておこう

    このほかにも'\+文字'からなる特殊な文字がたくさんある
    中でもよく使うであろうものを以下に示す

    文字 意味
    \a 警報音
    \n 改行
    \t タブ
    \\ \
    \' '
    \" "
    %% %

    表からわかるとおり, '\', ''', '"', '%'などの文字はそのまま表示できないので注意しよう

    Practice:

    1. 好きな文字列を表示させてみよう
    2. 文字列と一緒に特殊な文字を出力させて, 結果を確認しよう

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です