読者です 読者をやめる 読者になる 読者になる

ぷろぐらみんぐ!

プログラマーを目指して勉強する大学生のブログ

ループ関数&自作関数 #7

C言語 if文 printf scanf プログラミング 型名 変数 苦C 苦しんで覚えるC言語 比較 ループ関数

こんにちは!

 

Amazonでプログラミング・IT技術書フェアがやってますね。

www.amazon.co.jp

入門本などがたくさん半額になっていますが、全てkindle版だけみたいです。

電子書籍を利用したことがないのですが、技術書とかって見やすいんですかね。

 

機械学習に興味があるので、Pythonの入門本を買いました。

機械学習の入門本もあったのですが、さすがにまだ早すぎると思ったので買いませんでした。

f:id:fujigg7:20170218195619p:plain

それにしても技術書って結構値段するもんなんですね。

半額セールの時に一気に買っとくべきなのかな。

 

 

さて、今回は while文と、 do while文から勉強していきたいと思います。

 

それではまとめます。

while文、do while文

  • 回数が決まっているループをしたいときはfor文が最適。
  • ループを使って何回繰り返せばいいかを求めるときはwhile文が適している。
  • while文は下のようにして使う。

f:id:fujigg7:20170218201414p:plain

  • 一回処理を実行してから、回数が決まっていないループするときはdo while文を使う。
  • do while文は下のようにして使う。

f:id:fujigg7:20170218201724p:plain

  • do while文ではwhile (条件式)の後に;を付け忘れないように注意する。

 

C言語で出てくるループをする文はfor文、while文、do while文の3つだけらしいです。

それではwhile文を使って、最初に出てきたネズミ算のプログラムを書いてみます。

 

f:id:fujigg7:20170218203324p:plain

うーん見づらい。

桁数をそろえてもう一度実行。

f:id:fujigg7:20170218203743p:plain

 

いいね!

 

do while文は入力チェックの時によく使うらしいです。

サンプルプログラムを読んで納得したら、練習問題です。

 

f:id:fujigg7:20170218205109p:plain

 

出来ました。

これくらいならサクッと書けるようになってきました。

 

 

それでは先に進みます。

次は自作関数を作るというところを勉強していきます。

 

少し作りすぎな気もしますが、気にせずまとめていきます。

 

関数を作る

  • 以前に作成したプログラムを関数として再利用することを部品化という。
  • 関数は下のようにして作る。

 f:id:fujigg7:20170218215222p:plain

  • 仮引数とは関数宣言に書かれた引数の型と名前のこと。
  • 自作関数を他の関数でも使えるようにするためには、関数の形をプログラムの初めに書き並べて置く必要がある。そしてそれをプロトタイプ宣言という。
  • プロトタイプ宣言は下のようにして行う。

 f:id:fujigg7:20170317071245p:plain

  • 自作した関数をほかの関数内で使うときは下のようにする。

 f:id:fujigg7:20170317071458p:plain

  • 実引数とは自作関数を他の関数で使うときに渡す数値のこと。
  • return文には数値を返す機能があり、その数値を戻り値(関数値)という。
  • return文で変数に戻り値を格納するには下のようにする。

  f:id:fujigg7:20170218234535p:plain

  • 関数の戻り値を変数に代入するには下のようにする。

 f:id:fujigg7:20170218233544p:plain

  • 戻り値は1つしか返すことができない。

 

 

すごく難しくなってきました。

実引数やプロトタイプ宣言など、難しい単語を見ただけではよくわからないのでサンプルプログラムを書き写してみました。

 

f:id:fujigg7:20170218234908p:plain

なんとなくは分かりましたが書き慣れないと難しいですね。

これからたくさん書いていきたいと思います!

最後に練習問題です。

 

f:id:fujigg7:20170219000929p:plain

 

答えを見たらswitch文で書かれてました。

if - else文を使うと確かにややこしくなって少し読みづらいですね。

使い分けれるようにもっと頑張らないといけませんね。

 

f:id:fujigg7:20170219001902p:plain

 

というわけでswitch文でも書いてみました。

難しいですが、その分書き終わったときの達成感がすごいですね!

 

 

今回はここまでにしたいと思います。

内容がだんだん難しくなってきました。

たくさんプログラムを書いて慣れていきたいですね。

 

それでは。