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プログラムです-
#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
右シフト
変数の値を1回右シフトすると、その値は元の値の半分になります。
たとえば、a =10の場合、a>> 1 =5
1の補数
すべての1を0に変換し、0を1に変換します。
たとえば、a =5の場合、〜a =2[4ビットを考慮した場合のみ]。
プログラム
以下は、ビット演算子用の別の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
-
C言語で評価される式の種類は何ですか?
式は、演算子とオペランドの組み合わせです。 オペランドは、演算が実行されるデータ項目です。 オペレーターがデータに対して操作を実行します 例えば; z =3 + 2 * 1 z =5 式の種類 C言語で評価されるさまざまなタイプの式は次のとおりです- 一次表現 −この式のオペランドは、名前、定数、または括弧で囲まれた式にすることができます。たとえば、c =a +(5 * b); 接尾辞式 −接尾辞式では、演算子はオペランドの後にあります。たとえば、ab + プレフィックス式 −プレフィックス式では、演算子はオペランドの前にあります。たとえば、+ ab
-
C言語でのさまざまな検索手法は何ですか?
検索手法とは、要素のリストから重要な要素を見つけることです。 指定された要素がリストに存在する場合、検索プロセスは成功したと言われます。 指定された要素がリストに存在しない場合、検索プロセスは失敗したと言われます。 C言語は、2種類の検索手法を提供します。それらは次のとおりです- 線形検索 二分探索 線形探索 キー要素の検索は直線的に行われます。 これは最も簡単な検索手法です。 リストが並べ替えられることは想定されていません。 制限-より多くの時間を消費し、システムの電力を削減します。 入力(i / p) ソートされていない要素のリスト、キー。 出力(o /