皆さんこんばんにちは、ユウです。
今回からはC言語の入門として、基本的な構文と標準関数について紹介していきたいと思います。
その中でも今回取り扱うのは、データの出力と式の計算です。
基本的な内容で、そこまで難しくないのでしっかりと覚えられるように頑張って下さい!
テキストエディタはTeraPadをコンパイラはCygwinを使って行きます。
もし、ファイルの作り方やコンパイルのやり方が分からない場合は、以前の記事で紹介しているのでそちらを見て下さい。
私は、TeraPadとCygwinを使って進めていきますが、適当なエディタとコンパイラがあればそれを使っていただいて全然OKです。
この記事では、最初にコードや実行結果を紹介し、その後解説をするようにしています。いったんコードや実行結果を見て、それぞれの文がどのような意味になっているのかを予想しながら解説を見るようにして下さい。
また、途中にコードをコピペできるように書いていますので、時短のためにどんどんコピペして下さい。ただし、必ずファイルを作りコンパイルしファイルを実行させるようにして下さい。
それでははじめて行きたいと思います。
データの出力
文字データの出力
まずは、文字データの出力を行っていきたいと思います。
文字データの出力は文字を画面に出力する際に使用します。
今回は初めてですので解説を少し詳しく書いています。長くなるのは今回だけですので出来れば、細かいところまで見てほしいです。
それでは、以下のコードを書いてみて下さい。
実行結果
<解説>
1行目:コメントの入力
C言語では/**/で囲むとコメントを書くことが出来ます。これで囲むとその文は、コンパイル時に読み込まれなくなります。
C言語では基本的に全角文字を入れる事は出来ませんが、この中ではコンパイル時に読み込まれないため全角で書くことが出来ます。
コメントの書き方は、他人がそのコードを見たときにすぐに理解できるように書いておきましょう。
コメントの入力の他にも、不要なコードを/**/で囲む事により使わないコードを残しておくことが出来ます。
他のコメントの付け方
「//」の後に文字を打つとそれもコメントとなります。しかし、「//」の場合は 一行のみの記述となり次の段では適応できません。
2行目:組み込み指示を与える
includeは英語で組み込むという意味です。
ソースプログラムを処理するためにstdio.hというファイルを組み込む指示を与えています。stdio.hは標準入出力関数(printf()やscanf())に関する必要な情報が入っているファイルです。
拡張子「.h」がついているファイルをヘッダファイルといい、ヘッダファイルは<>で囲みます。ヘッダファイルを知るのは結構大切なのですが今回はこの記事の主旨とずれてくるので割愛させていただきます。
また、「#」のついた文を前処理分といい、コンパイルを始める前に読み込まれます。
4行目~8行目:プログラム本体
int main(void)がプログラムの中身の本体となり、main関数といいます。
{}(中括弧)で囲んだ中身が内容となります。プログラミングは基本、括弧を始めると必ず閉じなければなりません。ですから、普段から括弧を始めたら必ず閉じてから中身を書くようにして下さい(忘れ防止のため)。
int や void については、後にやることになるので今回は触れません。まずは、main 関数はこのように書くということを覚えて下さい。
5行目:半角文字の出力
文字列を出力する際は printf関数を使います。
出力したい文字列を () の中に ” (ダブルクォーテーション)で囲んで書きます。最後の¥nは改行を意味します。そして、文の終わりには必ず ;(セミコロン)を記述します。これを書かないだけでもコンパイル時にエラーが出ます。
6行目:全角文字の出力
プログラム中にはほとんどの場合、 全角文字を入れる事は出来ません。
例外を除いて、プログラム中に全角文字が入っている場合は必ずエラーが起こります。この際のエラーは非常に見つけにくいので気をつけるようにして下さい。
全角文字を入力してもエラーにならない例外というのはprintf()中の ” で囲んだ時です。この場合は出力される文字として認識されるので、エラーになりません。
7行目:main関数の終了
これをreturn文と言います。main関数の終わりにこのように書きます。return文に関しても後の方で詳しく書いていくので、今回はmain関数の終わりはこのように書くというふうに覚えて下さい。
数値データの出力
次に数値データの出力です。
数値データの出力は文字データの出力と同様に数値を画面に出力します。
文字データの出力と数値データの出力は同じように使えるので、これで数字を含める文を書くことが出来ます。ただし、数値データの出力は少し書き方が変わるのでそこを意識するようにして下さい。
実行結果
<解説>
5行目:書式指定
「”」で囲んだ中身の「%d」は書式指定子といいます。
書式指定子は「,」に続く2つの数値と順に対応しています。1や2019は小数点がつかない整数です。整数を出力する場合に「%d」となります。小数点の場合は「%f」となります。
%の後の文字はこの記事で紹介するデータ型と関係しています。もし、データ型によって変化する文字に興味がある方はググってみてはどうでしょうか。
今回の記事ではよく使われる「%d」と「%f」のみ紹介しています。
printf 関数の書式設定
プログラムの実行結果を画面に表示する場合、適当にレイアウトして見やすいように表示する事が出来ます。
実行結果
<解説>
5・6行目
次の目次で紹介しているので、そちらで理解を深めて下さい。
8行目:右詰での出力
「%d」の間に数字を挟むことで、その数字分の半角文字スペースが確保されます。そうすることでそのスペースに右詰めで数を出力します。
9行目:左詰で出力
8行目の書き方で数字の前に「-」を付けます。このマイナスを付けることでスペースの部分に左詰めで出力されます。
10行目:小数点の出力
「%f」の間に5.2等の数字を入れるとスペースは5で小数点以下は2つ分という風に表示されます。この際「.」も1マス分あることを忘れないで下さい。
8,9,10行目をまとめてが以下の図になります。背景が青いところは全角なのでそこは気にしなくて良いです。白いところを半角として見て下さい。
式の計算
プログラミングの基礎となる式の計算です。計算すること自体は単純なので気軽に行きましょう!
式の計算では、キーボードで数を入力してから計算を行います。それぞれ2つ数字を打ち込んでもらうのですが2つ目の数字を打ち込む際はどちらとも半角スペースで開けて入力してください。
実行結果
<解説>
5・6行目:変数を宣言
2つの入力データをコンピュータで計算させる場合は、これらのデータがメモリに記憶されていないと計算できません。
データをキーボードからコンピュータのメモリに取り込む場合、そのデータをメモリに格納する場所が必要となります。その格納場所を変数といいます。
変数には識別するために変数名(a,b,wa等)を付けます。変数名は通常長い方が良いのですが、今回は基礎的で書く量もそんなに多くないので短くしています。
整数データを格納する変数は整数というようにしなければなりません。宣言では変数名とその変数のデータ型(int や float等)を指定していきます。
データ型の種類については下の表1を見て下さい。今回は4つのデータ型を紹介しています。
9・12行目:データの入力
キーボードからのデータの入力はscanf関数を使用します。使い方はprintf関数と同じように「%d」や「%f」のように書式指定子を使っています。
「&a」のように先頭に「&」を付けると、その変数のアドレス(住所のようなもの)の指定となります。ここでは、入力された数を変数aの住所に割り振っていると考えておいて下さい。
この考え方はポインタといって結構後に出てくるので今は忘れても大丈夫です。しかし、scanf関数は「&」を使うということは覚えておいて下さい。
10・13行目:計算
「+」や「*」を算術演算子といいます。
これらは計算の基礎となるものなので覚えておくようにして下さい。他の演算子は下の表2にあります。C言語では「=」は等しいという意味ではなく”代入”という意味になります。
「=」は代入演算子といわれるもので複数個の書き方があります。この書き方は表3にまとめています。この書き方は慣れない内はしなくても良いですが、覚えておくと時単に繋がるので暇があったら覚えておくようにして下さい。
表1 基本データ型
データ型 | 大きさ | 扱う数値の範囲 | 代表的なデータ |
char | 1バイト | -128 ~ 127 | 文字 |
int | 4バイト | -2,147,483,648 ~ 2,147,483647 | 整数 |
float | 4バイト | 1.2×10^-38 ~ 3.4×10^38 | 実数 |
double | 8バイト | 2.2×10^-308 ~ 1.7×10^308 | 倍精度実数 |
表2 算術演算子
演算 | 演算子 | 例 | 意味 |
加算 | + | a + b | aにbを加える |
減算 | – | a – b | aからbを引く |
乗算 | * | a * b | aにbを掛ける |
除算 | / | a / b | aをbで割る |
剰除算 | % | a % b | aをbで割った余りを求める(a,bは整数) |
表3 代入演算子
演算 | 演算子 | 例 | 意味 |
代入 | = | a = b | bをaに代入する |
加算と代入 | += | a += b | a = a + b と同意 |
減算と代入 | -= | a -= b | a = a – b と同意 |
乗算と代入 | *= | a *= b | a = a * b と同意 |
乗算と代入 | /= | a /= b | a = a / b と同意 |
剰除算と代入 | %= | a %= b | a = a % b と同意 |
最後に
今回は少し長くなってしまいましたが、これでデータの出力と式の計算は以上となります。
これらはかなり基礎的なこととなるので覚えていくようにして下さい。
プログラムを書いていると自然と書けるようになってきます。
今回はこれで以上となります。
最後まで読んでいただきありがとうございました!
この記事の続きは、以下のリンクから行けます。
C言語学習についてまとめている記事もあるので、そちらの方も見ていただけると嬉しいです。