C 演算子とは、数学的・論理的操作を行うための記号のことである。 C言語には、豊富な演算子が組み込まれている。 演算子はデータおよび変数を操作するためにプログラムに参加し、数学的または論理的な式の一部を形成する。
C 言語の演算子の種類
C 言語には、異なる機能を持つさまざまな種類の演算子が用意されています。
- 算術演算子
- 関係演算子
- 論理演算子
- 代入演算子
- 増加および減少演算子
- 条件付演算子 演算子
- ビット演算子
- 特殊演算子
算術演算子
算術演算子は、加算(+)などの数学計算の実行に使用されます。 減算(-)、乗算(*)、除算(/)、モジュラス(%)。
演算子 | 説明 |
---|---|
+ | 加算 |
– | 減算 |
* | 乗算 |
/ | 除算 |
% | モジュラス |
C Program to Add Two Numbers
例題。
#include <stdio.h>void main(){ int i=3,j=7,k; /* Variables Defining and Assign values */ k=i+j; printf("sum of two numbers is %d\n", k); }
プログラム出力:
インクリメントとデクリメント演算子
インクリメントとデクリメント演算子は、一般的に計算を最小限にするために使われる便利な演算子です、つまり、.すなわち、++xとx++はx=x+1を意味し、-xとx–はx=x-1を意味します。 しかし、++や–をオペランドの前に書くか後に書くかには、ちょっとした違いがあります。 プリインクリメントを適用すると、まずオペランドに1を加えてからその結果を左の変数に代入するのに対し、ポストインクリメントを適用すると、まず左の変数に値を代入してからオペランドをインクリメントすることになります。
オペランド | 説明 |
---|---|
++ | Increment |
— | Decrement |
例.を参照。 接頭辞モードと接尾辞モードについて説明します。
#include <stdio.h>//stdio.h is a header file used for input.output purpose.void main(){ //set a and b both equal to 5. int a=5, b=5; //Print them and decrementing each time. //Use postfix mode for a and prefix mode for b. printf("\n%d %d",a--,--b); printf("\n%d %d",a--,--b); printf("\n%d %d",a--,--b); printf("\n%d %d",a--,--b); printf("\n%d %d",a--,--b);}
プログラム出力:
5 44 33 22 11 0
関係演算子
関係演算子は、2つの量や値を比較するために使用されます。
演算子 | 説明 |
---|---|
== | Is equal to |
!= | Is not equal to |
> | より大きい |
< | より小さい |
>= | より大きいか等しい |
<= | 以下 |
論理演算子
C では、複数の条件をテストして判断するときに、3つの論理演算子が用意されています。 これらは && (論理ANDの意)、 || (論理ORの意)、 ! (論理NOTを意味する)である。
演算子 | 説明 |
---|---|
&& | And 演算子です。 2つの式の論理積を行います。 (両方の式がTrueと評価された場合、結果はTrueになります。 どちらかの式がFalseと評価されれば結果はFalse) |
|| | Or演算子。 2つの式に対して論理和を行います。 (どちらか一方または両方の式がTrueと評価された場合、結果はTrue) |
! | Not演算子です。 6413> |
ビット演算子
C には2変数間のビット演算のための特別な演算子がある。
演算子 | 説明 |
---|---|
<< | 二進左シフト演算子 |
>> | 2進右シフト演算子 |
~ | 2進第1補数演算子 |
& | 二項AND演算子 |
^ | 二項XOR演算子 |
| | 二項OR演算子 |
Assign Operator
式から変数への結果割り当てに適用する割り当て演算子のことである。 C言語には、省略形の代入演算子が集められている。
Operator | Description |
---|---|
= | Assign |
+= | 増量してから assign |
-= | 減数してassign |
*= | 乗算してassign |
/= | 除算してassign | %= | モジュラス 次に assign |
<<= | 左シフトと assign |
>>= | 右シフト とassign |
&= | ビット単位のAND assign |
^= | ビット単位の排他的論理和 and assign |
Bitwise inclusive OR and assign |
Conditional Operator
C には三項演算子があり、条件演算子 (?) と呼ばれる。: を組み合わせたもの) で、条件式を構成することができます。
演算子 | 説明 |
---|---|
? : | 条件式 |
特殊演算子
C はいくつかの特殊演算子をサポートしています
Operator | 説明 |
---|---|
sizeof() | |
& | メモリ位置のアドレスを返す。 |
* | 変数へのポインタを指定。 |
sizeof演算子の使い方を示すプログラム
例:
#include <stdio.h>void main(){ int i=10; /* Variables Defining and Assign values */ printf("integer: %d\n", sizeof(i));}
プログラム出力: