問題CPP00125の解答例と解説 C++ Lv.1
'A'と等しいかどうか(15分)
<解答例 1>
これは問題文にある解答だよ。1行目から解説していくよ。
3行目~6行目
7行目~10行目
ほかにも書き方はあるので、いくつか例を挙げるよ。
- "bool" と書いてあるところは「この関数は bool 型の値を返すよ」という意味だよ。bool 型というのは true か false のどちらかしかないよ。
- "IsEqualTo_A" は関数の名前だよね。
- "char c" は、char 型の値を引数 c で受け取るよ、という意味だよ。char 型というのは、半角文字を格納できる型のことで、例えばアルファベット('a'~'z'、'A'~'Z')、数字('0'~'9')、記号('!'、'?'など)を持つことができるよ。
3行目~6行目
- if の後の () の中には、その直後の{}の中のプログラムを実行したいときの条件を書くんだ。 "'A' == c" で「c が 'A' と等しかったら」という条件文になるよ。
- "return true;" は「true を返して、この関数を終了する」という意味だよ。
7行目~10行目
- else は、if の条件に当てはまらなかったときに実行したいプログラムがあるときに書くよ。つまり「c が 'A' じゃないとき、false を返して関数を終了する」という意味になるよ。
ほかにも書き方はあるので、いくつか例を挙げるよ。
<解答例 2>
if文とelse文の{}の中が1行だと、こういう風に{}を省略してもいいよ。
<解答例 3>
そしてif文を書かないで、このように書くこともできるよ。つまり、"'A' == c" というプログラム自体が bool 型の値になるんだ。
<解答例 4>
あと、== の左辺と右辺を取り換えても同じ結果だよ。けれども、c == 'A' と書こうとして、c = 'A' とタイプミスしてしまうと気づきにくいバグになってしまうけど、'A' == c を 'A' = c とタイプミスしてもコンパイルエラーで気づくから、そういう意味では 'A' == c と書いた方が安全だよ。
<解答例 5> 不正解
これは不正解だよ。文字は'(シングルクォテーション)で囲う必要があるよ。
初めての方へ:このページは、このサイトで用意しているプログラミング問題の解答と解説のページです。このサイトではブラウザ上からプログラミングができます。会員登録(無料)して、プログラミングしてみませんか?
新規登録
新規登録