Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語で使用されるさまざまな演算子と式は何ですか?


オペレーターはデータに対して操作を実行します。それらは以下に分類されます-

  • 算術演算子。
  • 関係演算子。
  • 論理演算子。
  • 代入演算子。
  • インクリメントおよびデクリメント演算子。
  • ビット演算子。
  • 条件演算子。
  • 特別な演算子。

算術演算子

これらの演算子は、数値計算(または)に使用され、加算、減算などの算術演算を実行します。

オペレーター 説明 a =20、b =10 出力
+ 追加 a + b 20 + 10 30
- 減算 a-b 20-10 10
* 乗算 a * b 20 * 10 200
/ 分割 a / b 20/10 2(商)
モジュラー除算 a%b 20%10 0(余り)

プログラム

以下は算術演算子のCプログラムです-

#include<stdio.h>
main ( ){
   int a= 20, b = 10;
   printf (" %d", a+b);
   printf (" %d", a-b);
   printf (" %d", a*b);
   printf (" %d", a/b);
   printf (" %d", a%b);
}

出力

上記のプログラムを実行すると、次の結果が得られます-

30
10
200
20

関係演算子

これらは、2つの式を比較するために使用されます。

オペレーター 説明 a =20、b =10 出力
< 未満 a 10 <20 1
<= 未満(または)等しい a <=b 10 <=20 1
> より大きい a> b 10> 20 0
> = より大きい(または)等しい a> =b 10> =20 0
== 等しい a ==b 10 ==20 0
!= 等しくない a!=b 10!=20 1

関係式の出力は、true(1)(または)false(0)のいずれかです。

プログラム

以下は、関係演算子のCプログラムです-

#include<stdio.h>
main ( ){
   int a= 10, b = 20;
   printf (" %d", a<b);
   printf (" %d", a<=b);
   printf (" %d", a>b);
   printf (" %d", a>=b);
   printf (" %d", a = =b);
   printf (" %d", a ! =b);
}

出力

上記のプログラムを実行すると、次の結果が得られます-

1 1 0 0 0 1 1 1

論理演算子

これらは、2つ(または)以上の式を論理的に組み合わせるために使用されます。

それらは論理積(&&)論理積(||)および論理否定(!)

exp1 exp2 exp1 &&exp2
T T T
T F F
F T F
F F F

論理積(&&)

exp1 exp2 exp1 || exp2
T T T
T F T
F T T
F F F

論理OR(||)

exp !exp
T F
F T

論理否定(!)

オペレーター 説明 a =20、b =10 出力
&& 論理積 (a> b)&&(a (10> 20)&&(10 <30) 0
|| 論理OR (a> b)||(a <=c) (10> 20)||(10 <30) 1
論理否定 !(a> b) !(10> 20) 1

プログラム

以下は論理演算子のCプログラムです-

#include<stdio.h>
main ( ){
   int a= 10, b = 20, c= 30;
   printf (" %d", (a>b) && (a<c));
   printf (" %d", (a>b) | | (a<c));
   printf (" %d", ! (a>b));
}

出力

上記のプログラムを実行すると、次の結果が得られます-

0 1 1

代入演算子

変数に値を割り当てます。代入演算子の種類は-

です。
  • 簡単な割り当て。
  • 簡単な割り当て。
オペレーター 説明
= 簡単な割り当て a =10
+ =、-=、* =、/ =、%= 複合代入 a + =10 "a =a + 10
a =10 "a =a-10

プログラム

以下は代入演算子のCプログラムです-

#include<stdio.h>
main ( ){
   int a= 10,;
   printf (" %d", a);
   printf (" %d", a+ =10);
}

出力

上記のプログラムを実行すると、次の結果が得られます-

10
20

インクリメントおよびデクリメント演算子

インクリメント演算子とは何かを理解しましょう。

インクリメント演算子(++)

この演算子は、変数の値を1ずつインクリメントします

2つのタイプには-

が含まれます
  • 事前インクリメント
  • ポストインクリメント

オペランドの前にインクリメント演算子を配置すると、それはプリインクリメントになります。その後、値が最初にインクリメントされ、次の操作が実行されます。

たとえば、

z = ++a; // a= a+1
z=a

オペランドの後にインクリメント演算子を配置すると、ポストインクリメントになり、演算の実行後に値がインクリメントされます。

たとえば、

z = a++; // z=a
a= a+1

以下はインクリメント演算子のCプログラムです-

プログラム プログラム
main() {
   int a= 10, z;
   z= ++a;
   printf("z=%d", z);
   printf("a=%d", a);
}
main() {
   int a= 10, z;
   z= a++;printf("z=%d", z);
   printf("a=%d", a);
}
出力 出力
z= 11
a=11
z= 10
a=11

デクリメント演算子-(--)

変数の値を1だけデクリメントするために使用されます。

2つのタイプは-

です
  • 事前デクリメント
  • ポストデクリメント

デクリメント演算子がオペランドの前に配置されている場合、それはプリデクリメントと呼ばれます。ここでは、最初に値がデクリメントされてから、操作が実行されます。

たとえば、

z = - - a; // a= a-1
z=a

デクリメント演算子がオペランドの後に配置されている場合、それはポストデクリメントと呼ばれます。ここでは、操作が実行された後に値がデクリメントされます。

たとえば、

z = a--; // z=a
a= a-1


main() {
   int a= 10, z;
   z= --a;
   printf("z=%d", z);
   printf("a=%d", a);
}
main() {
   int a= 10, z;
   z= a--;
   printf("z=%d", z);
   printf("a=%d", a);
}
出力 出力
z= 9
a=9
z= 10
a=9

ビット演算子

ビット演算子はビットを操作します。

オペレーター 説明
ビットごとのAND
| ビットごとのOR
^ ビット単位のXOR
<< 左シフト
>> 右シフト
1の補数


ビットごとのAND
a b a&b
0 0 0
0 1 0
1 0 0
1 1 1


ビットごとのOR
a b a | b
0 0 0
0 1 1
1 0 1
1 1 1


ビット単位のXOR
a b a ^ b
0 0 0
0 1 1
1 0 1
1 1 0

C言語で使用されるさまざまな演算子と式は何ですか?

プログラム

以下はビット演算子のCプログラムです-

#include<stdio.h>
main ( ){
   int a= 12, b = 10;
   printf (" %d", a&b);
   printf (" %d", a| b);
   printf (" %d", a ^ b);
}

出力

上記のプログラムを実行すると、次の結果が得られます-

8 14 6

左シフト

値を1回左シフトすると、その値は2倍になります。

たとえば、a =10、次にa <<1 =20

C言語で使用されるさまざまな演算子と式は何ですか?

右シフト

変数の値を1回右シフトすると、その値は元の値の半分になります。

たとえば、a =10の場合、a>> 1 =5

C言語で使用されるさまざまな演算子と式は何ですか?

1の補数

すべての1を0に変換し、0を1に変換します。

たとえば、a =5の場合、〜a =2[4ビットを考慮した場合のみ]。

C言語で使用されるさまざまな演算子と式は何ですか?

プログラム

以下は、ビット演算子用の別のCプログラムです-

#include<stdio.h>
main ( ){
   int a= 20, b = 10,c=10;
   printf (" %d", a<<1);
   printf (" %d", b>>1);
   printf (" %d", ~c);
}

出力

上記のプログラムを実行すると、次の結果が得られます-

40
5
11

署名済み

1の補数=-[+1を与えない]

たとえば、〜10 =-[10 + 1] =-11

〜-10 =-[-10 + 1] =9

署名なし

1の補数=[65535–指定なし]

条件演算子(?:)

三項演算子とも呼ばれます。

構文は次のとおりです-

exp1? exp2: exp3

exp1がtrueの場合、exp2が評価されます。それ以外の場合は、exp3が評価されます。またはif-elseの形式で。

if (exp1)
   exp2;
else
   exp3;

プログラム

以下は、条件演算子のCプログラムです-

#include<stdio.h>
main ( ){
   int z;
   z = (5>3) ? 1:0;
   printf ("%d",z);
}

出力

上記のプログラムを実行すると、次の結果が得られます-

特殊作戦

特殊な操作には、コンマ、アンペアサンド(&)、演算子のサイズなどがあります。

  • カンマ(、) −変数の区切り文字として使用されます。例えば; a =10、b =20
  • 住所(&) −変数のアドレスを取得します。
  • ()のサイズ −変数のデータ型のサイズをバイト単位で取得するために使用されていました。

プログラム

以下は特殊作戦のためのCプログラムです-

#include<stdio.h>
main ( ){
   int a=10;
   float b=20 ;
   printf (" a= %d b=%f", a,b );
   printf (" a address =%u\n " , &a ) ;
   printf (" b address =%u\n" ,&b ) ;
   printf ("a size = %ld\n" , sizeof (a) ) ;
   printf ( "b size = %ld ", sizeof (b) ) ;
}

出力

上記のプログラムを実行すると、次の結果が得られます-

a=10 b=20.00
Address of a =1 2 3 4
Address of b = 5 6 7 8 Only for this example
Size of a = 4 bytes
Size of b = 4 bytes

  1. C言語で評価される式の種類は何ですか?

    式は、演算子とオペランドの組み合わせです。 オペランドは、演算が実行されるデータ項目です。 オペレーターがデータに対して操作を実行します 例えば; z =3 + 2 * 1 z =5 式の種類 C言語で評価されるさまざまなタイプの式は次のとおりです- 一次表現 −この式のオペランドは、名前、定数、または括弧で囲まれた式にすることができます。たとえば、c =a +(5 * b); 接尾辞式 −接尾辞式では、演算子はオペランドの後にあります。たとえば、ab + プレフィックス式 −プレフィックス式では、演算子はオペランドの前にあります。たとえば、+ ab

  2. C言語でのさまざまな検索手法は何ですか?

    検索手法とは、要素のリストから重要な要素を見つけることです。 指定された要素がリストに存在する場合、検索プロセスは成功したと言われます。 指定された要素がリストに存在しない場合、検索プロセスは失敗したと言われます。 C言語は、2種類の検索手法を提供します。それらは次のとおりです- 線形検索 二分探索 線形探索 キー要素の検索は直線的に行われます。 これは最も簡単な検索手法です。 リストが並べ替えられることは想定されていません。 制限-より多くの時間を消費し、システムの電力を削減します。 入力(i / p) ソートされていない要素のリスト、キー。 出力(o /