What is operator in C Hindi | c programming language
Operator: Operator is the special symbol used to represent any specific operator. programming language अंदर कुछ special symbol होते है जो कुछ खास तरह के operation parfom करते है
Type of Operator
- Arithmetic Operators
- Increment/Decrement Operators
- Assignment Operators
- Relational Operators
- Logical Operator
- Conditional Operators
- Bitwise Operators
- Special Operators
Operand: जब हम operator पढ़ते है तो ऑपरेंड भी समझ ही लेना चाहिए और ये कोई बहुत बड़ी चीज नही है Operator जिन constant value अथवा variable पर अपना टास्क परफोर्म करता है वह operand कहलाते है जैसे 4 + 4 यहाँ + operator है और 4 Operand है operator को किसी work को करने के लिए कम से कम 1 Operand की आवश्यकता होती है
Expression के आधार पर 3 भाग में operator को बता गया है :
- Unary Operator
- Binary Operator
- Ternary Operator
Unary Operator: किसी सिंगल operand पर ही कार्य करने वाला operator Unary Operator कहलाता है
Binary Operator: जिस operator को अपना कार्य करने के लिए minimum 2 operand की जरूरत होता है तो वह Binary Operator कहलाता है
Ternary Operator: ऐसा operator जिसको अपना कार्य करने के लिए 3 operand जरूरत होती है या फिर दुसरे शब्दों में कहे तो ऐसा operator जो condition को check करता है वह conditional या Ternary Operator कहलाता है
1. Arithmetic Operators :
Arithmetic Operators: ऐसा operator जो गणितीय कार्य को करते है वो Arithmetic Operators कहलाते है जो निम्नलिखित है :
Operator | Name | Arithmetic task | Syntax | Result |
---|---|---|---|---|
+ | Addition | sum of two number. | 10+10 | 20 |
– | Subtraction | Subtract the second number from the first number. | 20-10 | 10 |
* | Multiplication | Multiply two number | 2*3 | 6 |
/ | Division | Divide the first number by the second number. | 10/2 | 5 |
% | Modulus | Calculate the remainder when the first number is divided by the second number.(*Modulus operator not work in float data type*) | 20/2 | 0 |
Arithmetic Operators Programm:
#include<stdio.h>
int main()
{
int a = 10, b = 4;
printf("a is %d and b is %d ", a, b);
printf("a + b is %d ", a+b);
printf("a - b is %d ", a-b);
printf("a * b is %d ", a*b);
printf("a / b is %d ", a/b);
printf("a % b is %d ", a%b);
return 0;
}
Output :
a is 10 and b is 4
a + b is 14
a - b is 6
a * b is 40
a / b is 2
a % b is 2
2. Increment / Decrement Operator
Increment / Decrement Operator : Increment का मतलब होता है बढ़ाना और Decrement का मतलब होता है घटना ये दोनों operator variable के 1 value को बढ़ाते अथवा घटते है.
अब Increment हो या Decrement ये दोनों दो तरह के होते है :
- Pre Increment और Post Increment
- Pre Decrement और Post Decrement
Pre: यदि variable के पहले ++ , -- का symbol हो Pre Increment , Pre Decrement कहलाता है जैसे ++a , --a
Post: यदि variable के बाद ++ , -- का symbol हो Post Increment , Post Decrement कहलाता है जैसे a++ , a--
Note :-
- यदि Pre Increment अथवा Pre Decrement हो तो पहले value बढ़ायेगा अथवा घटाएगा उसके बाद print करेगा या कोई अन्य टास्क परफॉर्म करेगा जैसे value assign करना या function में argument पास करना
- यदि Post Increment अथवा Post Decrement हो तो बाद में value बढ़ायेगा अथवा घटाएगा उसके पहले print करेगा या कोई अन्य टास्क परफॉर्म करेगा जैसे value assign करना या function में argument पास करना
Example:
#include <stdio.h>
int main()
{
int a = 10, b = 4;
int c = 5,d;
printf("%d ",a); //10
printf("%d ",++a);//11
printf("%d ",a++); //11
printf("%d ",a); //12
printf("%d ",b); //4
printf("%d ",--b); //3
printf("%d ",b--); //3
printf("%d ",b); //2
d = ++c;
printf("%d ",d); //6
d = c++;
printf("%d ",d); //6
printf("%d ",c); //7
return 0;
}
Output:
10
11
11
12
4
3
3
2
6
6
7
3. Assignment Operators
Assignment Operators: Assignment Operator 2 प्रकार के होते है
- Simple Assignment operator: Simple Assignment = symbol से किया जाता है इसका कम सिर्फ right से left की ओर value को assign करना होता है जैसे : int a = 10; इस example में a variable में 10 value assign किया जा रहा है
- Compound Assignment operator: Compound Assignment में हम value assign के साथ कुछ गणितीय टस्क भी करते है. जैसे -
a = a + 1 को हम a +=1 की तरह से भी लिखते है और ये Compound Assignment operator कहलाता है इसी तरह के और भी operator है जो निम्नलिखित है-
Example:
#include <stdio.h>
int main()
{
int a = 9,b = 4, c;
a += b; //a = a + b
printf(" %d ",a);
return 0;
}
Output: 13
मैंने Addition के साथ assingment operator use करके example दिया है आप सभी तरह के assingment operator का use कर देख सकते है जो निम्नलिखित है :
Assingment Statement | Equivalent To |
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 |
4. Relational Operators
Relational Operators: ये operator दो operand बिच में तुलना करने का कार्य करते है और उसका result true अथवा false में देते है c language true के जगह 1 और false के जगह पर 0 print करता है Relational / Comparison operator में निम्नलिखित operator आते है :-
Operator | Name | Example |
---|---|---|
== | Equal to | 10 == 10 |
!= | Not equal | 10 != 10 |
> | Greater than | 20 > 10 |
< | Less than | 20 < 10 |
>= | Greater than or equal to | 20 >= 10 |
<= | Less than or equal to | 20 <= 10 |
Programm:
#include<stdio.h>
int main()
{
int a = 5, b = 5;
printf("%d == %d is %d ", 10, 9, 10 == 9);
printf("%d != %d is %d ", 10, 10, 10 != 10);
printf("%d > %d is %d ", 10, 20, 10 > 20);
printf("%d > %d is %d ", a, b, a > b);
printf("%d < %d is %d ", a, b, a < b);
printf("%d < %d is %d ", a, b, a < b);
printf("%d == %d is %d ", a, b, a == b);
printf("%d != %d is %d ", a, b, a != b);
printf("%d >= %d is %d ", a, b, a >= b);
printf("%d >= %d is %d ", a, b, a >= b);
printf("%d <= %d is %d ", a, b, a <= b);
printf("%d <= %d is %d ", a, b, a <= b);
return 0;
}
Output:
10 == 9 is 0
10 != 10 is 0
10 > 20 is 0
5 > 5 is 0
5 < 5 is 0
5 < 5 is 0
5 == 5 is 1
5 != 5 is 0
5 >= 5 is 1
5 >= 5 is 1
5 <= 5 is 1
5 <= 5 is 1
5. Logical Operator
Logical Operator: Relation Operator के expression को और complex तरीके से इस्तेमाल करने के लिए logical operator का use किया जाता है अथवा दुसरे शब्दों में कहें तो multiple रिलेशनल operator के expression को एक साथ लिखने के लिए इसका इस्तेमाल किया जाता है
Logical Operator 3 प्रकार के होते है
- && (AND)
- || (OR)
- ! (NOT)
1. && (AND)Operator : AND operator में लिखे गये सरे condition true होने पर ही AND operator true result देता है यदि कोई भी condition false हो गया तो आगे का condition check किये बिना AND operator false result देता है जैसे (10 ==10) && (10<=20) यहाँ पर लिखा गया दोनों condition true है तो true आयगा
Syntax: (expression1) && (expression2)
Program:
#include <stdio.h>
int main()
{
printf("%d ",10==10 && 20>=10);
printf("%d ",10!=9 && 10==9);
return 0;
}
Output :
1
0
2. || (OR) Operator : OR operator में लिखे गये एक condition true होने पर OR operator true result देता है यदि कोई भी एक condition true हो गया तो आगे का condition check किये बिना OR operator true result देता है जैसे (10 ==10) && (10==20) यहाँ पर लिखा गया पहला condition true है तो true आयगा परन्तु OR ओपेरटर में लिखा सभी condition false हो तो OR operator false return करता है
Syntax :
(expression1) || (expression2)
Programm:
#include<stdio.h>
int main()
{
printf("%d ",(10!=10) || (20>=10));
printf("%d ",(10==9) || (10>10));
printf("%d ",(10>=9) || (10==9));
return 0;
}
Output :
1
0
1
3. ! (NOT) Operator : NOT opearator का सिर्फ इतना कार्य है की किसी false expression को true में change कर दे अथवा किसी भी true condition को false में परिवर्तित कर दे
Syntax: !(expression1)
Example: !(10==10)
Programm:
#include<stdio.h>
int main()
{
printf("%d ",!(20>=10));
printf("%d ",!(20==10));
return 0;
}
Output:
0
1
6. Conditional Operators ( ? : )
Conditional Operators: यह एक ऐसा operator है जो condition के check करता है
Syntax: (condition ? expression1:expression2)
जैसे की syntax में लिखा है यदि condition true होता है expression1 को execute किया जायगा यदि condition false होता है तो expression2 को execute किया जायगा
Programm:
Programm:
#include<stdio.h>
int main()
{
int a = 10==10 ? 4+4:6+2;
int b = 10!=10 ? 4+2:6+1;
printf("%d ",a);
printf("%d ",b);
return 0;
}
Output:
8
7
7. Bitwise Operators
Bitwise Operators: C language में प्रोग्रामर को computer की memory के साथ bit के रूप में सीधे कार्य किये जाने की सुविधा प्रदान की जाती है या दुसरे शब्दों में कहे तो Bitwise Operator bit value पर कार्य करता है
Operator | Meaning |
---|---|
& | Bitwise AND |
| | Bitwise OR |
^ | Bitwise Exclusive OR |
~ | One's Complement |
>> | Right Shift |
<< | Left shift |
1. AND(&) Bitwise: इस operator में दो operand के बीच प्रत्येक bit में AND(&) operation करता है
Syntax : (expression1) & (expression2)
Programm:
#include<stdio.h>
int main() {
int a = 15, b = 20;
printf("Output = %d", a | b);
return 0;
}
Output = 31
3. (^)XOR Bitwise : इस operator में दो operand के बीच प्रत्येक bit में XOR operation करता है
Syntax : (expression1) ^ (expression2)
Exp1 | Exp2 | Result |
---|---|---|
1 | 1 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 1 |
Programm:
#include <stdio.h>
int main() {
int a = 15, b = 20;
printf("Output = %d", a ^ b);
return 0;
}
Output = 27
4. (~)One's Complement: इस operator में single operand पर कम करता है तथा operand का bit value का one's complement देता है one's complement में 0 को 1 तथा 1 को 0 बना दिया जाता है
8. Special Operators
Special Operators:ये operator 2 type के होते है
- sizeof() operator
- & (addressof) operator
1. sizeof() : ये ऐसा operator है जो की किसी data type के size को byte के रूप में बतलाता है तथा जब हम dynemic memory allocation करते है वहां पर भी sizeof operator का use किया जाता है
Syntax: sizeof(data_type)
1. Programm - sizeof() operator :
#include<stdio.h>
int main() {
int a;
float b;
double c;
char d;
printf("size of int = %zu bytes ", sizeof(a));
printf("size of float = %zu bytes ", sizeof(b));
printf("size of double = %zu bytes ", sizeof(c));
printf("size of char = %zu byte ", sizeof(d));
printf("size of int = %zu bytes ", sizeof(int));
printf("size of float = %zu bytes ", sizeof(float));
printf("size of double = %zu bytes ", sizeof(double));
printf("size of char = %zu byte ", sizeof(char));
return 0;
}
Output:
size of int = 4 bytes
size of float = 4 bytes
size of double = 8 bytes
size of char = 1 byte
size of int = 4 bytes
size of float = 4 bytes
size of double = 8 bytes
size of char = 1 byte
2. Programm - sizeof() operator
#include<stdio.h>
int main() {
int *p=malloc(5*sizeof(int));
return 0;
}
2. & (addressof) operator: ये ऐसा operator है जो की किसी variable का memory address प्रदान करता किसी variable का address print करने के लिए variable के पहले & symbol को use किया जाता है
Programm & (addressof ) operator :
#include<stdio.h>
int main() {
int a = 15;
printf("Memory Address = %u", &a);
return 0;
}
Output: Memory Address = 1198864492
आपके computer में memory address दूसरा आयगा