Document

第一回 C言語講座
序章:
C言語の決まりごと
printf・scanfについて
C言語とは
1972年にアメリカAT&T社のベル研究所でD. M.
Ritchie氏とB. W. Kernighan氏によって開発され
たプログラミング言語。1986年にアメリカ規格協会
(ANSI)によって標準化され、国際標準化機構
(ISO)や日本工業規格(JIS)にも標準として採用さ
れている。
 B言語という言語の後継として開発されたためCと
名づけられた。表記法などはB言語やPascalの祖
先であるALGOLに近い。

準備:
必要なもの:
 PC(学校支給のもの)
 または、C言語のコンパイラが入ったPC
起動(初回のみ)
①
②
③
マイドキュメントを開いて
「新規作成」→「フォルダ」→フォルダ名「K3」
microsoft visualstudio .netを起動。
ソースファイルの作成
[新しいプロジェクト]をクリック
プロジェクトの種類:Visual c++
テンプレート
:c++コンソ-ルアプリケーション
プロジェクト名
:01kadai
場所
:マイドキュメント\K3
起動(プログラムの作成)
①
②
③
④
⑤
⑥
⑦
ソースファイルの追加
ソリューションエクスプローラのソースファイルを右
クリック
[追加]→[新しい項目の追加]
開くボタンをクリック
ソースを書く
[ファイル]メニュー→[すべて保存]
コンパイルと実行
[デバック]メニュー→[デバックなしで実行]
実践
それではいよいよ実際にプログラムを打って見ま
しょう。
#include <stdio.h>
main()
{
printf ( “Hello World!!” );
}
と入力してみてください。

結果
 Hello
World!! と表示されたでしょうか?
解説

#include <stdio.h>

stdio.hとは標準入出力
ライブラリと言い、簡単
かつ効果のよい、バッ
ファリングされたスト
リーム入出力インター
フェースを提供するた
めに用いられる。入力
と出力は論理データス
トリームに割り付けられ、
入出力の物理的な特
徴は隠蔽される。
解説

#include <stdio.h>
平たく言うとPCがC言
語の基本命令以外の
命令を理解するのに必
要な参考書みたいなも
のがstdio.hだよ、とい
うことです。
 ほかにもmath.hなど
があります。
 最初のうちは呪文だと
思ってください。

解説
main()
{
}
C言語には必ずメイン関数というものが存
在します。そして、メイン関数内に書かれ
ていることをすべて実行しようとします。
 main()の()には引数(ひきすう)をいれ
ます。今は引数がないので()の中身は空
白になります。
 引数を使う場合には後にやる関数の概念
をしっかり持つ必要があります。
 今は特に考える必要はありません。

解説

printf(“ ”);
printfを使うことで(“ ”)←で囲ま
れた文字を出力することができま
す。
 「;」(セミコロン)は文末につける決
まりになっています。
 プログラムを書く際は見やすいよう
にTabを入れます。

実践2
次に
#include <stdio.h>
main()
{
int a;
a = 10;
printf ( “out number : %d”, a );
}
と入力してください。

出力結果
number : 10」
 と出力されたでしょうか?
 「out
解説

int a;
intというのは整数型の変数を宣言する
予約語です。この場合は「aは整数型の
変数が入るよ」と宣言しています。
 「int a;」はひとつの文が終わっているの
でセミコロンが必要です。
 aは任意につけた変数の名前です。
 整数型の変数のほかに
double型やfloat型やchar型などがあり
ます。

予備知識
 変数とは・・・
値を入れるための器、だと思ってください。
int型
⇒整数を入れるための器。
double型⇒浮動小数を入れる器。
float型 ⇒浮動小数を入れる器。
char型 ⇒文字を入れるための器。
少し詳しい予備知識
分類
型名
サイズ
値の範囲
整数
byte
1byte
-128~127
short
2byte
int
4byte
long
8byte
-32768
~32767
-2147483648
~2147483647
入りきらない…
浮動小数点数 float
4byte
double 8byte
文字
char
1byte
解説

a=10;
aという変数に10という数字を代入して
いることを表します。この辺は数学と似
ています。
 セミコロンは必要です。

解説

printf ( “out number : %d”, a );
printfに関しては先ほどと変わりません。
 「%d」は重要で、ここに10進数の変数がおかれるこ
とになっています。ということを示しています。
 当然、変数がおかれるという宣言があるのだから、
何の変数をおくのかを決めなければなりません。
 そこで「 ,a 」をprintfの中の終わりにおくことで%d
にはaという変数が置かれるということがわかります。

実践3
最後の実践
main()
{
int a;
printf ( “input number->\n” );
scanf ( “%d”, &a );
printf ( “output number is %d”, a );
}
と入力してください

実行結果
 input
number->
(数字入力 10と入力)
output number is 10
と、入力されたかな?
解説
 必要部分だけ。
scanf ( “%d”, &a );
 scanfとは数字をキーボード入力で得ること
を意味します。この場合%dなので
「10進数の数字を得ますよ」ということを先に宣
言します。そして ,&a というのを後について
aという変数の箱の中に入れるという動作をし
ます。
解説
 なんで&aとするかは後にやるポインタのとこ
ろで詳しくやります。(今知りたければ近くの
わかりそうな人を捕まえてください)
 printf
( “ \n” );
この\nは改行という意味。ただ、表示するとき
改行したいところにこれをおけば改行してくれ
る。
補足
 先ほど変数の入出力には%dというものを使
いましたが、これは10進数の入出力する宣
言する予約語です。(%dを変数にはできま
せん)
 もし8進数の入出力を宣言したければ%oを
使います。
 もし16進数の入出力を宣言したければ%xを
使います。
課題
 aという変数に10進数で数字を得て、その数
字を8進数と16進数で出力しなさい。
(見やすいように工夫しなさい。)
文字の表示

#include <stdio.h>
main(){

char c;

printf ( "文字を入力してください-> ");

scanf ( "%c", &c);

printf ( "入力された文字は %c です\n", c);
}
