カテゴリー
C言語

データ型について知ろう

この章ではデータ型について説明します。
変数の宣言時に、変数に入れるデータがどのような性質のものなのかを指定するのがデータ型です。
例えば1の場合はintが付いていますが、これは整数だけがaという変数に入れることができます。
データ型は以下の種類に分類することが出来ます。
「整数型」
「浮動小数点数型」
「文字型」
「論理型」

初めに整数型から説明します
整数とは「少数点のない値」のことを言います。
整数は10進数、8進数、16進数などで表せますが10進数は1や100などの我々が普段使っている数字です。
8進数は先頭に0を付けて0144などと書きます。
16進数は先頭に0xを付けて0x41などと書きます。
変数に入れるデータが整数の場合には変数の前にintを付けます。
このintは符号付き整数と呼ばれていまして、プラスの値とマイナスの値が使用できる型です。
以下の例の場合には2という整数を変数に入れるのでintを変数名の前に付けています。1 整数には符号付き整数の他に符号無し整数があります。1
以下の表を見ていただくと分かりますが、符号無し整数はマイナスの値がない分をプラスに使えるので、プラスの扱える範囲が倍になります。1 では「int」や「unsigned int」以外の型(unsigned short,short)を見てみましょう。11
では次の型(long intunsigned long)進みます。11
では次の型(long long,unsigned long long)に進みます。11
次は浮動小数点数型について説明します。1 浮動小数点数は少数点を持つ数値のことをいいますので、1などと表現します。
整数型の最大値を超える場合は浮動小数点数型を使います。
浮動小数点数型はdouble型とfloat型の2種類が有ります。
double型は8バイト=64ビットのサイズで、倍精度浮動小数点数型と呼ばれていますが、桁数が15桁まで表現できます。
float型は4バイト=32ビットのサイズで桁数が8桁まで表現できます。
float型は30.0Fなどと末尾にFもしくはfを付けます。
今ではfloat型はほとんど使われていないので、double型を使用するようにしてください。
では例をみてみましょう。1 printfでfloat型やdouble型のデータを出力するには1を使います。

次は文字型について説明します。1 文字型(char 型)は半角英数字1文字をシングルクォートで囲んだ形で表します。
文字型の値は1バイトで表現されるため、1バイトで表現可能な文字でなければなりません。
日本語のような全角文字の1をシングルクォートで囲っても char 型にはなりません。
文字列(例えば”ねこ”)とは異なり、文字型で表現できのは半角の1文字と覚えてください。
例えば以下のシングルクォートで囲まれたデータは文字型です。1 もう一つ注意してほしいことは文字型は文字という名前が付いていますが、実は文字はコンピュータの中では整数の値として保持されています。
ですので、charは半角英数字1文字の他に1までの整数を入れることができます。
その他に「Unsigned char」があります。
これは「半角英数字1文字」の他に1までの整数値を入れることができます。
では例をみてみましょう。1printfで文字型を出力するときの変換指定子は1です。1

カテゴリー
C言語

変数に関する補足

この章では変数に関する補足をします。
変数の宣言は「同じ型名」であれば複数の変数を以下のようにまとめて書くことが出来ます。
まとめて書く方法は2つあります。1 変数名1と変数名2と変数名3が同じ型名であればまとめて宣言することができます。
その後はそれぞれデータを入れていきます。
では例をみてみましょう。
aとbとcが同じ型なので、まとめてint型で宣言しています。1 111変数名1と変数名2と変数名3が同じ型名であれば、まとめて宣言すると同時に変数を初期化することができます。
この構文の場合も、型名は先頭のみに付けます。1

カテゴリー
C言語

変数について知ろう

この章では変数について説明します。
変数とはデータを入れることができる入れ物に似ています。
例えば携帯電話やフロッピーディスクにデータを記憶すると持ち運びが出来ますが、この携帯電話やフロッピーディスクに相当するものが変数です。
変数にデータを入れながら、プログラムを書いていくのが基本です。
では例で詳しく説明します。11 「データ型名 変数名;」という構文を「変数の宣言」と言います。
データ型は「データ型について知ろう」で説明します。
この例では以下が変数の宣言です。1 変数を使用するためには必ず変数の宣言が必要です。
つまり、「これからこの変数を使用しますよ」と宣言するのが変数の宣言です。
変数には名前を付けなくてはいけないのですが、この例ではaが変数名です。
本に関係しているプログラムであればbookなどと変数名を付けます。
この例では変数名にaと付けましたが、名前を付ければ何でもいいというのではなく、一定のルールがあります。11111 予約語とはすでにC言語の言語仕様で機能が定義されている単語のことです。
次の表が予約語です。
以後、学習が進んでいくうちに予約語は自然と覚えますので、ここでは覚えなくても結構です。 11 次に「データ型名」について説明します。1 変数の前に「int」が付いていますが、これがデータ型です。
変数を使用するにはまず初めに『この変数は何型の変数です』と宣言しなければいけません。
データ型については「データ型について知ろう」で詳しく説明しますが、簡単に言いますとどのようなデータを変数に入れるのかにより型名は変わります。
この例では整数の2を変数aに入れているので、intを使用しています。1 これまで変数の宣言について説明してきましたが、次の例で変数の宣言の注意事項について説明します。1 変数の宣言は必ず関数の先頭で行ってください。
つまり、例のように宣言の前に余計なものがありますとエラーになります。
この例は「int a;」の前に1が書いてありますので、エラーです。

次は変数へのデータの入れ方について説明します。
変数の宣言が終わりますとデータを入れることが出来ますが、以下の構文でデータを入れます。1 変数を宣言してから、データを入れるというのが基本です。
データ型名は変数の宣言の箇所のみ付けてください。
例の「a=2;」の中に1と言う記号がありますが、これを代入演算子と言います。
数学の「=」とは関係ありません。
代入演算子は右辺のデータを左辺に入れる役割があります。
例で説明しますとaと言う変数に2と言うデータを入れるという意味です。
この入れる作業を「代入」といいます。
注意してほしいことは以下のように同じ変数に他のデータを代入してしまうと後から代入したデータで上書きされますので注意してください。1 つまり、結果は「変数の値は2です変数の値は20です」となりますが、整数のaに代入されていた2が1の箇所で20に上書きされます。
変数には1つしかデータを入れることができないことを覚えておいてください。
ここで変数に関しての補足をしておきます。11 他の入れ方としては以下の構文のように変数の宣言と同時にデータを入れることもできます1 これを変数の初期化と言います。
入れるデータのことを初期値と言います。
例えば先ほどの例は以下のように書き換えることができます。1 どちらの方法でデータを入れても結構です。1 次は先ほどの例の以下の箇所を説明します。1 printfについては以前、説明しましたが、その時には1のようにprintfの中の引数は文字列でした。
しかし、整数を出力させようと思って1と書いても出力することはできません(エラーになります)。
1の3の部分をダブルクォートで囲んで1と書けばエラーにならず出力はできますが、数値をダブルクォートで囲むと整数ではなくなって、文字列として出力されることになります。
では、整数型の数値を整数として出力させるにはどうしたらいいか。
それは例にあるように1という変換指定子を使います。
この例の変換指定子はaの値を1の箇所に置き換えます。1 このように数値などのデータを文字列に変換して表示させたい時に変換指定子を使います。
ここで大事なのは1と書いて出力されるのは変数の中に入っているデータであり、aという変数名が出力されるわけではありません。
つまり、この例ではaに入っている2というデータが出力されます。
つまり、結果は1になりますが、1と出力されるのではありません。

では変換指定子の基本構文について説明します。1 「テンプレート」はダブルクォートで囲んでください。
そして、このテンプレートの中に文字列と変換指定子を自由に組み合わせて記述します。
テンプレートとは「型」と言う意味なので1という型で出力しますという意味です。
変換指定子はたくさんありますが、1int型の数値である整数を出力するときに使います。
基本構文の「変数」の箇所は変数ではなくても、直接数値などを指定してもいいです。1 では他の例をみてみましょう。
これまでの例ではprintfの中の変換指定子は1つでしたが、以下の通り複数の変換指定子を設定できます。1 変数と「変換指定子」の対応関係は以下の通りです(スペースの都合でprintfの引数を2行で書いていますが、1行で書いていただいても結構です)。1 テンプレートの一番左側の変換指定子と変数側の一番左の変数は対応関係にあります。
テンプレートの真ん中の変換指定子と変数側の真ん中の変数は対応関係にあります。
テンプレートの一番右の変換指定子と変数側の一番右の変数は対応関係にあります。
変数と変換指定子の数は合わせて書いてください。

カテゴリー
C言語

エスケープシーケンスについて知ろう

この章ではエスケープシーケンスについて説明します。
エスケープシーケンスとは、ダブルクォートやシングルクォートなどC言語において文字列として入力することができない特殊な文字を1を使って表現します。
「C言語の基礎を知ろう2」で説明した1もエスケープシーケンスの1つです。
エスケープシーケンスは以下の通りです。1 では例をみてみましょう。
11タブを入れますので、結果は1です。
次の例をみてみましょう。1 ダブルクォートの中にダブルクォートは入れられないのでエスケープシーケンスを使います。
C言語のダブルクォートは文字列を囲むという機能がありますので、これを1として表示させるのが1の役割です。
1を入れないと、以下のように解釈されてしまうのでエラーになります。1 結果は1です。
次の例をみてみましょう。1 文字として1を入れたい場合には1を使用します。
結果は1です。

カテゴリー
C言語

C言語の基礎を知ろう2

この章ではputs関数について説明します。
puts関数は文字列を出力させる関数ですが、基本構文は以下の通りです。1 〇出力させたい文字列は1で囲んでください。
また、このカッコの中のデータを引数と言います。
ダブルクォート自体は出力されません。
puts関数はカッコの中の文字列を出力させる関数と言いましたが、もっと詳しく言いますと改行を入れながら文字列を表示させる関数です。
例えば以下のようにputsを2つ並べたプログラムがあるとします。1 1もし、改行しないで出力したい場合にはprintf関数を使います。1 〇 printf関数は文字列を出力する関数ですが、puts関数と違うのは改行を入れないで文字列を出力させることです。
〇出力させたい文字列をputs関数と同じようにダブルクォートで囲んで記述してください。1 1printf関数で出力する時に改行を入れたい場合には1と言う特殊な文字を使います。
HTMLの1と同じ機能を持ちます。
では例をみてみましょう。1 1次の例をみてみましょう。1 1つのprintfの中に2か所、改行文字がありますが、このように複数の箇所に1を使用することが出来ます。1

カテゴリー
C言語

C言語の基礎を知ろう1

この章ではC言語の基礎を説明していきます。11つまり、「stdio.h」がないと puts関数、printf関数、scanf関数などは使用することができません。
「stdio.h」はヘッダーファイルと呼ばれていますが、ヘッダーファイルには1という拡張子が付いています。
1#include」はプログラムに他のファイルを入れたい時に使います。1 「#include」はプログラムの先頭で使用してください。
この例では「stdio.h」と「stdlib.h」の2つのファイルを取り込んでいます。1 注意点としては1は以下のように途中で改行するとエラーになりますので気を付けてください。1 以下が代表的なヘッダーファイルです。11111エクセルをご存知の方はわかると思いますが、例えばエクセル関数にSUMと言う関数が有りますが、この関数は指定した範囲のデータに基づいて足し算を行う関数です。
例えば指定した範囲のデータが1であるならば結果(戻り値)は「15」です。
このように決められた機能を実行して結果を返すのが関数の役割です。
では以下の例について説明します。1 この例の関数名はmainですが、C言語で最初に実行されるのはmain関数です。
このmain関数は必ずプログラムに1つは必要です。
そして、実行内容はブロックの中に書いていきます。
ブロックは以下の図をみていただくと分かりますが1から1までです。
基本的にはそのブロック内ではプログラムは上から下へ実行されていきます。1 戻り値の型やvoidの説明は「関数について知ろう」で詳しく説明します。
今はmain関数の形だけを覚えておいてください。
ここで何点か注意していただきたいことがあります。
ここではputsの意味などは分からなくても結構ですので、C言語での最低限のルールを説明します。11 上の赤枠の箇所にスペースがありますが、これはプログラムを読みやすくするためにあります。このスペースのことをインデントと言います。
インデントは入れなくてもいいですが、入れるとプログラムが読みやすくなります。
そして、インデントは必ず半角で開けてください。1 intやmainなどプログラムの骨格に書く文字は全て半角で入力して下さい。
上の例は「int」「main」が全角になっていますのでエラーになります。
しかし、1など出力する文字は全角でも半角でもエラーにはなりません。1 このように関数名の途中で改行してはいけません。
また1のように関数名に空白を入れるのもエラーになります。
11このコメントの部分はプログラムには影響しません。
つまり、コメント部分は出力されません。
1行でコメントする場合は1がコメントになります。
複数行の場合は1から1までの間にコメントを書いてください。
しかし、以下のように1行のコメントのために使用してもいいです。1 以下にコメントの例を載せましたので、参考にしてください。11 puts関数はカッコの中の文字列を表示させる関数です。
「文字列」とはダブルクォートで囲まれたデータを指します。
関数については以下のように説明しました。
「エクセルをご存知の方はわかると思いますが、例えばエクセル関数にSUMと言う関数が有りますが、この関数は指定した範囲のデータに基づいて足し算を行う関数です。
例えば指定した範囲のデータが1であるならば結果(戻り値)は「15」です。」
この例の場合にはputsに1という引数を与えるとその引数を出力する機能を持ちます。
この関数に与えるデータのことを引数と言います。
puts関数の具体的な説明は次の章でします。1 文の終わりには必ず1を付けてください。
日本語でも文の終わりには「。」を付けますが、これと同じ意味です。1 この記述はmain関数の終わりには必ず付けてください。
main関数は問題なく処理を終えた場合に1を返します。
これは文字通り「処理が成功しました」と言う意味です。
もしくは1の代わりに以下のように0を入れても同じ意味になります。11

カテゴリー
C言語

Microsoft Visual C++2010 Expressの使い方

この章ではMicrosoft Visual C++2010 Expressの使い方について説明します。
1
初めに以下の「ファイル」をクリックします。1 11カーソルを合わせますと以下のメニューが表示されますので、「プロジェクト」をクリックします。11111 1111右クリックしますと以下のメニューが表示されますので「追加」にカーソルを合わせます。1 「追加」にカーソルを合わせますと以下のメニューが表示されるので、「新しい項目」をクリックします。1 「新しい項目」をクリックしますと以下の画面が表示されるので「C++ファイル」をクリックし、「名前」にファイル名を入力します。
ファイル名にはC言語の場合は1と書きます。

すべて入力しましたら「追加」をクリックします。1 1111出力に成功すると以下の赤枠の箇所に1と表示されます。1

カテゴリー
C言語

Visual Studioをインストールしよう

これから「Microsoft Visual C++2010」をインストールしますので以下の手順に従って進んでください。
このVisual Studioはテキストエディタ、コンパイル、リンクの機能を持つソフトウェアです。
初めに以下のURLのサイトに入ります。1 サイトに入りましたら、以下の箇所をクリックしてください。1 クリックしますと次の画面が表示されますので、1をクリックします。1111111 11 「インストール」をクリックしますと以下の通り、インストールが始まります。111「Microsoft Visual C++2010」を実行するためにはwindowsの場合、初めに「すべてのプログラム」をクリックします。111

カテゴリー
C言語

C言語とは何か?

これからC言語の学習を始めます。
C言語はAT&Tベル研究所のデニス・リッチー氏により開発されたプログラミング言語です。
C言語は主に電子機器や自動車の内部プログラム言語として使われています。
Cプログラムの作成手順から説明します。
[step1]
初めにテキストエディタでプログラムを書きます。
そのプログラムが書かれたファイルをソースファイルと言います。
そのソースファイルの拡張子は1です。
例えば1と名前を付けます。
しかし、このままではプログラムは動きません。
次のstep2で説明するコンパイルと言う作業が必要になります。

[step2]
ソースファイルをコンピュータで実行可能な形式に変換します。
その作業をコンパイルと言います。
そして、ソースファイルをコンパイルした結果出来るのが、オブジェクトコードです。
つまりソースコードをコンピュータが実行できるように変換したコードのことです。

[step3]
次にリンクと言う作業を行います。
実際にプログラムを実行させるためにはstep2のオブジェクトコードに「標準ライブラリなどを自動的に結合して作られたファイル」が必要になります。
この結合する作業をリンクと言います。
標準ライブラリとは画面に出力させるprintf関数やscanf関数などの機能を提供するファイルです(標準ライブラリについては後ほど説明します)。1