FourthWay 2023. 2. 7. 19:51
728x90
반응형

연산자

-연산을 할 시 연산의 순서에 유의해야 한다.

-참(True)와 거짓(False) 프로그램에서 참은 1이고 거짓은 0이다.

 

수의 연산에 사용되는 연산자

연산자기능사용법의미+ (플러스)- (마이너스)* (애프터리스크)/ (슬래시)% (퍼센트)= (등호)

연산자 기능 사용법 의미
+ (플러스) + (덧셈) a = b + c b와 c를 더한값을 a에 대입
- (마이너스) - (뺄셈) a = b - c b에서 c를 뺀 값을 a에 대입
* (애프터리스크) * (곱셈) a = b * c b와 c를 곱한 값을 a에 대입
/ (슬래시) ➗나눗셈 a = b / c b를 c로 나눈값을 a에 대입 (c가 0일때에는 오류)
% (퍼센트) …(나머지) a = b % c b를 c로 나눈 나머지를 a에 대입 (정수형과 실수형에 모두 사용 가능)
= (등호) =(대입) a = b b의 값을 a에 대입

코딩 ex)

using System;

class Calculation
{
  {
    Console.WriteLine("5+5는"+(5+5)+"입니다.");
    Console.WriteLine("5-5는"+(5-5)+"입니다.");
    Console.WriteLine("5x5는"+(5*5)+"입니다.");
    Console.WriteLine("5➗5는"+(5/5)+"입니다.");
    Console.WriteLine("5➗3의 나머지는 "+5%3+"입니다.");
  }
}

/*출력결과
5+5는 10입니다.
5-5는 0입니다.
5x5는 25입니다.
5➗5는 1입니다.
5➗3의 나머지는 2입니다.
*/

 

■대입연산자

ex) a= a+2; // a의 값에 2를 더한 것

또 다른 표현으로 a +=2;

연산자 기능 사용법 의미
+= 더해서 대입 a += b a+b의 결과를 a에 대입(a=a+b 와 같음)
-= 빼서 대입 a -= b a-b의 결과를 a에 대입(a=a-b 와 같음)
*= 곱해서 대입 a *= b a*b의 결과를 a에 대입(a=a*b 와 같음)
/= 나누어서 대입 a /= b a/b의 결과를 a에 대입(a=a/b 와 같음)
%= 나머지를 대입 a %= b a%b의 결과를 a에 대입(a=a%b 와 같음)

 

코딩 ex)

using System;

class Plus
{
   static void Main()
  {
     int a = 90;

     a += 10  // a = a + 10; 으로 기술해도됨
     Console.WriteLine("90 에 10 을 더하면" + a + "입니다.");
  }
}

/*출력결과
90에 10을 더하면 100 입니다.
*/

 

■산술연산자

-증가(덧셈) 연산자, 감소(뺄셈) 연산자는 정수형 변수에서 값을 1 증가 또는 1 감소시킬 경우 사용함

연산자 이름 기능 사용법 의미
++ 증가 연산자 변수 값을 1증가시킴 a++또는 ++a a의 값을 1증가시킴
감소 연산자 변수 값을 1감소시킴 a—또는—a a의 값을 1감소시킴

코딩 ex)

System

class One
{
   static void Main()
   {
      int a = 1;
      Console.WriteLine("시작은" + a + "입니다.");
      a++;
      Console.WriteLine("1증가시켜" + a + "가 되었습니다.");
      a--;
      Console.WriteLine("1감소시켜" + a + "로 돌아왔습니다.");
   }
}

/*출력결과
시작은 1입니다.
1증가시켜 2가 되었습니다.
1감소시켜 1로 돌아왔습니다.
*/

** a++와 ++a의 차이점**

++a,—a 전치 / a++, a— 후치라고 표현한다.

전치는 변수의 참조보다 앞에 연산이 수행되고,

후치는 변수의 참조보다 뒤에 연산이 수행된다.

ex)

int x, a=1;

x= ++a

a에 1을 더한 후 x에 값을 대입합니다. → x의 값은 2가 됩니다.

int x, a=1;

x = a++;

x에 값을 대입한 후 a에 1을 더합니다 → x의 값은 1이 됩니다.

 

코딩 ex)

using System;

class Position
{
   static void Main()
   {
      int a = 1;
      int b = 1;
      Console.WriteLine("전치라면 a는" + ++a + "가 됩니다.")
      Console.WriteLine("전치라면 b는" + b++ + "가 됩니다.")
   }
}

/*출력결과
전치라면 a는 2가 됩니다.
후치라면 b는 1이 됩ㅂ니다
*/

 

■비교 연산자

C#에서 변수의 값이나 수치를 비교하여 조건식을 만들고 그 결과에 따라 처리를 다르게 할 수 있다.

이때 사용하는 연산자를 비교 연산자 라고 한다.

 

조건이 성립할 경우 참(true) 트루 값을 넘겨주고,

조건이 성립하지 않을 경우 거짓(false) 폴스 값을 넘겨준다.

 

연산자 기능 사용법 의미

연산자 기능 사용법 의미
== =(같음) a == b a 와 b 는 같다
< <(보다 작음) a < b a 는 b 보다 작다
> >(보다 큼) a > b a 는 b 보다 크다
< = < =(이하) a < = b a 는 b 보다 작거나 같다
> = > =(이상) a > = b a 는 b 보다 크거나 같다
! = ! = (같지않음) a ! = b a 와 b 는 같지 않다

>>> 두 연산 기호가 하나의 연산기호로 사용될 때는 공백등으로 구분하면 안 된다.

 

■논리형

bool 불이라고 표현한다. true 또는 false 중 하나의 값을 가진 변수형이다.

조건식이나 대입식은 논리형의 값을 가지고 있으므로 bool형을 대입할 수 있다.

bool t = ( a == b);

a==b는 조건이고 t의 값은 a와 b가 같으면 true, 같지 않으면 false이다.

 

코딩 ex)

using System;

class Compare
{
  static void Main()
  {
    int a = 10, b = 20;
    bool c, d, e;

    c = a < b;
    d = a > b;
    e = a == b;
    Console.WriteLine("a=" + a + "b=" +b);
    Console.WriteLine("a<b ... "+c);
    Console.WriteLine("a>b ... "+d);
    Console.WriteLine("a==b ... " +e);
  }
}

/*출력결과
a=10 b=20
a<b ... True
a>b ... False
a==b ... False
*/

 

■조건 연산자

조건 연산자 [? :]는 조선식의 값에 따라 둘 중 하나를 선택한다. 선택 값은 수치나 문자, 변수 등을 지정할 수 있다.

bool set;

int a = sel? 0 : 1 ;

sel - 조건식

0 - 조건식이 true인 경우 ( : 의 왼쪽에 있는 값을 선택함)

1 - 조건이 false인 경우 ( : 의 오른쪽에 있는 값을 선택함)

 

코딩 ex)

using System;

class Judge
{
  static void Main()
  {
     string right = "정답", wrong = "오답";
     bool value;

     value = true;
     string answer = value ? right : wrong;
     Console.WriteLine(answer);

     value = false;
     answer = value ? right : wrong;
     Console.WriteLine(answer);
  }
}

/*출력결과
정답
오답
*/

 

■논리 연산자

복수의 조건을 조합하여 더 복잡한 조건을 나타낼 때 사용하는 것이 논리 연산자이다.

연산자기능사용법의미&, && (a와 b의교집합)\,\\ (a 또는 b)! (조건 a 아닌 모든 조건)

연산자 기능 사용법 의미
&, && (a와b의교집합) 그리고 (a> =10 && (a<50) a는 10이상 50 미만
\,\\ (a 또는 b) 또는 (a==1) \\ (a==100) a는 1 또는 100이다
! (조건 a아닌 모든조건) ~이(가) 아니다 ! (a == 100) a는 100이 아니다

** && , \\ 는 단락평가 연산자 - 결과에 해당하는 true 또는 false 만 평가한다.

** & , \ 는 true 또는 false 외에도 평가가 필요한지 확인한다.

 

논리형의 이용

-조건식은 논리형 값을 가지고 있으므로 조건식으로 bool형의 변수를 이용할 수 있다.

 

c 가 5 또는 9이다.

bool x = ( c = 5 ) … x는 c = 5 이면 true, c ≠ 5 이면 false

bool y = ( c = 9 ) … y는 c = 9 이면 true, c ≠ 9 이면 false

x \\ y … x = true 또는 y = true이다.

 

 

코딩 ex)

using System;

class Or
{
  static void Main()
  {
    int a = 3, b = 4;
    bool x, y;

    x = (a < 0);
    y = (b > 0);
    Console.WriteLine((a==3) && (b==3));
    Console.WriteLine(x\\y);
  }
}

/*출력결과
False
Treu
*/

 

■연산의 우선순위

우선순위연산자 같은 순위일 때의 계산

우선순위 연산자 같은 순위일 때의 계산 방향
1 [ ].(마침표, 대상의 구성원을 선택) ()++(후치)
—(후치) checked unchecked new sizeof typeof
 
2 ++(전치) —(전치) +(부호) - 부호 ~ !
3 * / %
4 + -
5 << >>
6 <> < = > = is as
7 == ! =
8 &
9 ^
10 \
11 &&
12 \\
13 ?:
14 = += -= *= /= %= >> = << = >>> = &= ^= \=

 

728x90
반응형