一般的なプログラム言語と同様に、変数(数値や文字を記録できるメモリ)に値を代入できます。 四則演算をそのまま記述できます。
=============== a = 6; b = 7; x = a * b; out_str = "6×7=" + x; print_string(out_str); ===============
上記を実行するとxは42になります。 「a=6」や「a*b」を『式』と呼びます。式と式の計算結果も式のため「x = a * b」も式です。セミコロンが付くと文になるのは上記とおりなので、「x = a * b;」は式ではなく文です。また、「+」や「=」を『演算子』と呼びます
数値のほかに、文字列への加算も出来ます。数値と数値の加減乗除の結果は数値です。数値と文字列または文字列と文字列の加算の結果は文字列になります。文字列に対して引き算や掛け算は出来ません。 以下の演算子が存在します。
-a :aの負の値 ^a :aのビットごとの負論理(aの1の補数) a + b :aとbの加算(または文字列結合) a - b :aとbの減算 a * b :aとbの乗算 a / b :aとbの除算 a % b :aとbの剰余(a/bの余りを求める) a & b :aとbのビット積(AND) a | b :aとbのビット和(OR) a ^ b :aとbの排他的ビット和(XOR) a++ :aをインクリメント(aに1を加算する) a-- :aをデクリメント(aから1を減算する) a && b :aとbの論理積(AND)、aとbの両方が真ならば真、そうでなければ偽 a || b :aとbの論理和(OR)、aとbのどちらかまたは両方が真ならば真、そうでなければ偽 a == b :aとbが等しければ真、そうでなければ偽 a != b :aとbが等しくなければ真、そうでなければ偽 a > b :aがbより大きければ真、そうでなければ偽 a < b :aがbより小さければ真、そうでなければ偽 a >= b :aがb以上ならば真、そうでなければ偽 a <= b :aがb以下ならば真、そうでなければ偽 !a :aの負論理(NOT)、aが真ならば偽、aが偽ならば真
上記のaもbも数値だけでなく、変数や計算式、関数の結果を記述できます。厳密な構文については言語構文の項で説明します。 「真」や「偽」は「しん」「ぎ」と読みます。「にせ」ではありません。英語にして「True(トゥルー)」「False(フォールス)」と呼ぶ人も多いです。これらの演算子は『論理演算子』と呼ばれます。条件判断文の項で説明します。 演算子を使いこなせるようになると、どんな複雑な処理も書くことが出来るようになりますので、少しずつ覚えましょう。 C言語とかなり互換性を持たせているため、よく分からない場合は「C言語 演算子」などでググると良いと思います。個々の演算子の更なる詳細な仕様は演算子の仕様の項で解説します。
「変数xに15を加算する」という演算は単純に考えると以下のように記述されます。
=============== a = a+15; ===============
このような処理は頻出する上に、変数aが2度も出てくるのは煩雑なので、以下のような『代入演算子』と呼ばれる演算子を使用できます。
=============== a += 15; ===============
以下の代入演算子が存在します。
a = b :aにbをそのまま代入 a += b :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 :a&bの結果をaに代入 a |= b :a|bの結果をaに代入 a ^= b :a^bの結果をaに代入
代入演算子を使うと入力文字数が少なくなるだけでなく、代入演算の意図が明確になるので、 他人がソースコードを見たときに読みやすいプログラムになります。 単なる「=」は何も計算していないので演算子と呼ぶのに抵抗がありますが、「なにもしないでそのままで」という計算を行ってから代入する、というイメージで代入演算子として扱います。