[Atomで覚えるC言語入門 – 初歩の初歩 – ] No.01 基本形とprintf

今回の記事の目的ですが、

1.c言語を覚えるにあたって、まず最初は『C言語の形』を覚えましょう。
2.それと命令を一つだけ覚えましょう。

という感じのチョー簡単な内容です。

動画を最後に貼っていますので、良かったらご覧ください。
今回は動画より記事読む方が早いように思いますけど。
それぐらい内容が薄いです(笑)



前提

この記事は以下の記事を前提にしていますので、先にそちらをご覧ください。

C言語の基本形

C言語の基本の形はコレです。

#include <stdio.h>

int main()
{


    return 0;
}

簡単でしょ?

今は意味が分からなくていいです。
全部おまじないだと思って、何も考えずに書いてください。

・・・・てな事を書くと、

『おまじない嫌い!!! 意味が分からないと先に進めねーーーじゃん!!!』

とおっしゃる方もいらっしゃるでしょう。
気持ちは分かります。

でも、説明するときっと混乱しますよ。
混乱しない人もいるでしょうが、混乱する人の方が多いです。

プリプロセッサ・includeの使い方や種類・ヘッダとは・stdlib.hとか・引数・戻り値・argc・argv・カッコの種類や意味・return値の意味・intの意味やその他の型・・・・・

これらの説明を今聞きたいですか?
殆どの人は退屈して飽きて寝ると思います。
寝ない人は学校でめっちゃ勉強していた人だと思います。

まぁ、これらを説明だけで数日かかるでしょう。

それに、頑張って覚えたところで当面は役に立ちません!
単に覚えることを増やして混乱するだけだと思います。
学習を進めれば近いうちにおまじないの意味は必ず分かります
それに、使う時・必要な時に覚えるほうが効率が良いですよね。
学習時間というコストを払ってすぐ使えないようじゃコスパ悪いじゃないですか

なので、まずは基本の形をそのまま覚えましょう。

ていうか、覚えるほどじゃないです。
文字を書いているのはわずか三行。
あとはカッコ{}があるだけ。
しかも、上の形を覚えるだけなら、わざわざ覚える作業なんていらないでしょ?
どうせ何度も書きますし、数回書けば普通に覚えます。

C言語の基本形はここまで。
簡単でしょ?

おまじないのチョー簡単な説明

おまじないは説明しないと言っておきながらなんなんですが・・・
ほんの少しだけ説明しておきます。
と言っても、説明というほどのものじゃないです
ごくごく簡単な紹介です。

1行目のstdio.h

読み方:スタンダードアイオー ドット ヘッダ

スタジオドットヘッダとは読みません。
スタンダードアイオーと言うぐらいですから、

 スタンダード(標準)な、
 アイ(I:INPUT/入力)と
 オー(O:OUTPUT/出力)

についての機能を持っています。

標準な入出力ってなんやねん?

と思うでしょうけど、、、、、
いや、今は分からなくていいです。
『スタンダードアイオー ドット ヘッダ』という読み方だけ知っていればいいです。
いや、読み方も知らなくったって別にいいですけど(笑)

まぁ、ザックリ言うと、stdio.hはC言語の基本的な命令を持っていると思ってもらえればいいかな。

1行目のinclude

読み方:インクルード

辞書を見てもらえれば分かりますが、includeって英単語は『取り込む』とかっていう意味です。
stdio.hが持っている機能を取り込んでいるだけです。
stdio.hはC言語の基本的な命令を持っているので、これを取り込まないとC言語プログラミングができないと思ってください。

今は説明しませんが、stdio.h以外にも取り込みたい機能や命令があれば、

#include <*****.h>

と書くのです。

3行目のmain()

読み方:メイン関数

C言語プログラムが実行される時って、このmain関数が呼ばれます。
これは決まっています。
必ずこのmain関数が呼ばれます。

ってことは、このmain関数に命令を書いていけば実行されるってことです。

なぜmain関数が呼ばれるの?と知りたくなったら・・・・・
リセットベクタとかパワーオンリセットとかメモリの番地とかまで説明しないといけなくなりますけど、最後まで聞いてくれますか?(笑)

最初の命令 printf を覚えよう

printfの基本形はコレ。
※プリントエフと読みます

printf("hogehoge");

この形もこのまま覚えてください。
簡単でしょ?
実際に使う時には、hogehoge の部分を好きな文字列に書き換えることになります。

printfって何をする命令かと言うと、
『画面に文字を表示する』
命令です

では、先ほど覚えたC言語の基本形にprintfを加えてみましょう。
↓こんなカンジ。

#include <stdio.h>

int main()
{
    printf("Hello, world!");

    return 0;
}

で、コンパイルして実行してみましょう。

画面に『Hello, world!』と表示されたと思います。

printfは以上です。
簡単でしょ?

hogehogeはホゲホゲと読みます。
サンプルや説明とかで特に意味のない名前や文字列を書くときにhogehogeを使うことが多いです。
いつ頃からが使われているのか、理由も分かりませんが、、、、
hogehgoe以外ではfugafugaもたまに見るかな。
私は、hogehgoe、fugafuga、hagehage、hegehegeを使うことが多いです。

printfに関する事をもう一個だけ覚えよう

改行を覚えよう

さっきは『Hello, world!』って一行で表示されましたよね。
で、

Hello,
world!

と二行で表示したい場合ありますよね?

今度は『Hello,』と『world!』の間に改行を表す記号を入れます。
改行を表す記号は『\n』です。
『円マーク と n』もしくは『バックスラッシュ と n』です。

では、やってみましょう。

#include <stdio.h>

int main()
{
    printf("Hello, \nworld!");

    return 0;
}

コンパイルして実行すると、二行で表示されてますよね?
printfについてはこれで以上です。
簡単でしょ?

色々と試してみよう!!!

今回はprintfという命令を覚えました。
pritnfの書き方は他にも色々とあって、本当は覚えることがたくさんありますが、まずはこれだけ覚えておけばいいと思います。興味があれば調べてみてください。

で、今回覚えたprintfで書き方を色々と試してみましょう
例えばですが、以下の様な事を試してみてください。

1.printfの中身を色々と書き換えて実行してください。
  ※printfはいくらでも追加しても大丈夫です。
2.どういう書き方をすればコンパイルエラーになるか試してください。
3.色々な文字・記号・数字・全角/半角を出力してください。
4.自分が思ったような出力になるか、色々と試してみてください。

特に変な書き方をしてコンパイルエラーを出すというのは結構いいんですよ。
僕が初めてプログラミングを覚え始めた頃、

 ・こんな書き方したらどうなるんだろう?
 ・ダブルクォーテーションとかカッコとかって閉じる必要あんの?
 ・記号って全角でもええんかな?

とか、アホみたいな書き方をいっぱいやりました。
で、コンパイルエラーを出しまくりました。
正解を覚えるよりも、間違える経験をする方がより記憶に残ると思います。

色々とアホみたいな書き方して遊んでみてください。

動画

参考書籍

関連する記事

2 件のコメント

  • 今頃コメントするのはおかしいかもしれませんが・・・・

    この記事では基本形とprintfということで関係ないとは思うのでコメントしますが、
    Atomを使用しています。
    C言語の勉強をしてる際、scanfを使用すると、コンパイルには成功(しているだろう)ぽいのですが、
    データを入力する場所がなく、scanf関数を使用した意味がありません。
    さらに、入力を促すためprintfで「値を入力」くらいのことを書いたのですが、それも出力されません。
    scanfを使用しなければ出ます。

    scanfを使用できるパッケージがあれば教えてください。

    • Atomはscanf( )は使えないはずです。
      Atom本体が対応していないっぽいので、そういうプラグインも無いだろうと思います。
      (すみません、最近は殆どAtomを使っていないためよくは知りません)

      Visual Studio Codeはscanf( )も使えるはずです。

  • コメントを残す

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

    ABOUTこの記事をかいた人

    Windows/Mac/Linuxを使う現役システムエンジニア&プログラマ。オープン系・組み込み系・制御系・Webシステム系と幅広い案件に携わる。C言語やC#やJava等数多くのコンパイラ言語を経験したが、少し飽きてきたので、最近はRubyやPython、WordPressなどのWeb系を修得中。初心者向けのプログラミング教室も運営中。オンライン・対面・出張等でプログラミングをレッスンします。