こんにちは、情報系大学生のハル(Blog_IT_haru)です。
今回は、C言語での合計値の求め方を解説します。
大学2年生でアルゴリズムは勉強するらしい(先輩談)なのですが、
今のうちにすこし勉強しようと思うので、備忘録的にまとめていきます。
今回は、第1回ということもあり、初級レベルです。
すぐにコードを書きたい方は、目次より、「実行してみよう」からどうぞ。
開発環境
プログラミング自体は、以下の記事でも紹介している、paiza.ioというサービスを利用して行います。
無料、かつ簡単にできるので、おすすめです。
開発環境を用意するのがめんどくさい…、コードだけ書いてみたい!という方はぜひ、このサービスを使ってみてくださいね。
実行してみよう
コードのところに、コメントアウトで説明を書いたので、
見ていただければと思います。
また、以下のコードはコピペ可です。
ただ、他サイトなどで引用する際は、このブログのURLを貼ってください。
説明無しバージョン
説明無しバージョン(sizeof)
説明無しバージョン(+=)
コードに出てきた用語解説
int
型の種類の一つです。
int型は、整数を取り扱います。
int型のサイズは4バイトで、最大値は2147483647、最小値は-2147483648となります。printf関数などを使って出力表示する際の変換指定子はdになります。
引用元:
変換指定子dについては、後ほど解説します。
for文
同じ処理を繰り返したいときに使用する関数です。
似たような機能をもつ関数として、while文もありますが、今回は、省略します。
for文は、以下のように記述します。
今回はi=0から、i<5のときfor文の中身である足し算を繰り返すという処理を行いました。
より詳しく知りたい方は、こちらからどうぞ。
sizeof
sizeof演算子とは、変数や型のメモリサイズを調べるための演算子です。sizeof演算子は、変数や型のメモリサイズをバイト単位で返してくれます。メモリサイズとはコンピュータが使用するメモリの大きさのことです。
引用元:
今回は、sizeofを用いて、配列がいくつの要素数を持っているのか調べましたね。
今回の場合は、5つ持っていました。
printf
文字列を表示するための関数です。
今回の場合は、計算結果がきちんと合っているかどうか、確認のために使用しました。
普通は、以下のように、文字列を記述するのですが、今回は整数の計算結果を記述したいので、少し違う書き方になりましたね。
普通の文字列の場合
計算結果のように整数の場合(今回)
このとき出てきた、%dのdが、変換指定子dです。
%d
printf内で使います。
整数を10進数で出力します。
int型に対応します。
使用例
この場合、10と出力されます。
\n
printf内で使います。
改行を行います。
先程の変換指定子の前か後に記入します。
前に記入した場合は前が改行され、後ろに記入した場合は後ろが開業されます。
今回も、見やすく出力するために、使用しました。
こんな感じですね。
今回、for文で使う、i,j,kのintの宣言を、for文内に書きましたが、あまり好かれる表現ではないらしいです。(大学教授談)ただ、あまり気にしない人もいるらしいので、なんとも言えないところはありますが。
おすすめの本
とてもわかり易く、イラストなどで説明されていて、見やすい本です。
C言語以外に、JavaScript,Java,PHP.Swift,Python,BASIC,Scratchなどについてもあるため、とてもお得な本だと思います。
コードも載っていて、とても参考になります。
おすすめのC言語学習サイト
書籍も発行されている、C言語学習の定番です。
私も本を購入して学習しました。
基礎の基礎から解説されていて、とてもわかり易いので、おすすめな書籍です。
書籍派はぜひ書籍で学習することをおすすめします。
書籍派の方も、そうでない方も、ぜひ購入を検討してみてくださいね。
参考にしたアプリ
今回は、以下のアプリを参考にさせていただきました。
動きがあるので、そのアルゴリズムがどのようなものなのか簡単に理解することができます。
※一部有料部分がありますが、そのお金を払うだけの価値はあります!
私も、有料で利用しています。
まとめ
いかがでしたか?
今回は、初級編ということで、C言語で、合計値を求める方法を解説しました。
実際に自分でデータを変えたりして、遊ぶのも面白いですよ。
次回は、最大値か、最小値についての予定です。
この記事がいいな、と思ってくれたら、SNSなどで拡散したり、
ブックマークやコメントなどしてくれると励みになります!
更に、読者になってくれたら、お返しに私も読者になります!
また、この記事の内容についてなにかありましたら、
お問い合わせ、コメント、TwitterのDMなどによろしくお願いします。
それでは。