前回は連載第1回ということで,コンパイラの使い方*1に加えて,画面に文字を表示する,キーボードから文字を入力する,といったC言語の基本的な使い方を紹介した。今回は,もう少し深くC言語の中身を探っていくことにしよう。

 どんなプログラミング言語を使うのであれ,データを処理する際に欠かせない存在なのが「演算子」や「変数」だ。今回は,この二つがC言語でどのように実現されているのかを説明する。併せて,変数のバリエーションである「配列」と「構造体」にも触れることにしたい。C言語のプログラミングをマスターするために,ぜひこれらをきちんと理解していただきたい。

比較演算子と論理演算子を使いこなそう

表1●C言語の主な演算子
[画像のクリックで拡大表示]
表1●C言語の主な演算子

 この連載をお読みの方なら,演算子とはどのようなものかは大体ご存知だろう。計算などに使う+(プラス)や-(マイナス)といった記号がそれだ。C言語は,さまざまな種類の演算子を用意している。算術演算子,比較演算子,論理演算子,代入演算子,増分/減分演算子などだ(表1)。順に見ていくことにしよう。

 算術演算子は四則演算をする演算子である。加算(足し算)のための「+」,減算(引き算)のための「-」,乗算(掛け算)のための「*」,除算(割り算)のための「/」,そして剰余(除算の余り)計算のための「%」がある*2。これらは演算子の中でも,最も身近で重要なものだと言えるだろう。

 続く比較演算子と論理演算子は,条件判断をするときによく利用される。比較演算子(<,>,<=,>=,==,!=)は,演算子の左右の値を比較して1(真)か0(偽)を返すものだ*3。「<」や「>」の意味は,昔,算数で習ったものと同じだ。「==」は「等しい」,「!=」は「等しくない」を意味する演算子である。

 論理演算子(&&,||,!)は,真偽に関する論理的な演算を行い,それに応じて1(真)または0(偽)を返す。「&&」(論理積)は左右の値がともに真のときに1,それ以外は0になる。「||」(論理和)は左右の値がともに偽のときに0となり,それ以外は真となる。「!」は右側に値をひとつだけとり,その真偽を逆転させる。

 このようにただズラズラと説明しているだけでは,これらの演算子がどういうものかをなかなか実感してもらえないかもしれない。そこで,プログラムを使って実際の動作を見てみることにしよう。