ABOUT ME

-

Today
-
Yesterday
-
Total
-

Post Calendar

«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
  • 정보처리기사 실기 스터디[2022-09-30] - 프로그래밍 언어 활용
    자격증/정보처리기사 2022. 9. 30. 21:23

    📌 Study

    🔸 2022-09-30

    [프로그래밍 언어 활용]

    1. 기본 문법 활용하기

    • 연산자 개념 : 프로그램 실행을 위해 연산을 표현하는 기호

     

    • 연산자 우선순위
      • 증감 연산자
      • 산술 연산자
      • 시프트 연산자
      • 관계 연산자
      • 비트 연산자
      • 논리 연산자
      • 삼항 연산자
      • 대입 연산자

     

    • 증감 연산자 : 피연산자를 1씩 증가 혹은 1씩 감소시킬 때 사용하는 연산자
    ++x 변수 값을 1 증가시킨 후에 해당 변수를 사용하는 연산자
    x++ 변수를 사용한 후에 변수 값을 1 증가시키는 연산자
    --x 변수 값을 1 감소시킨 후에 해당 변수를 사용하는 연산자
    x-- 변수를 사용한 후에 변수 값을 1 감소시키는 연산자

     

    • 증감 연산자 예제
        #include <stdio.h>
        void main() {
            int x = 3, y = 3;
    
        printf("%d \n", x++);       // 3
        printf("%d \n", x);         // 4
        printf("%d \n", ++y);       // 4
        printf("%d \n", y);         // 4
        #include <stdio.h>
        void main() {
            int x = 3, y = 3;
    
        switch(x++) {
            case 3: printf("A: %d \n", x); break;       // A: 4
            case 4: printf("B: %d \n", x);
          }
    
        switch(++y) {
            case 3: printf("C: %d \n", y); break;
            case 4: printf("D: %d \n", y);          // D: 4
          }
        }

     

    • 산술 연산자 : +, -와 같이 가장 일반적으로 사용되는 연산자
    + 양쪽의 값을 더하는 연산자, 문자열일 경우, 연결
    - 왼쪽 값에서 오른쪽 값을 빼는 연산자
    * 두 개의 값을 곱하는 연산자
    / 왼쪽 값을 오른쪽 값으로 나누는 연산자
    % 왼쪽 값을 오른쪽 값으로 나눈 나머지를 계산하는 연산자

     

    • 시프트 연산자 : 비트를 이동시키는 연산자
    << 왼쪽 값에서 오른쪽 값만큼 비트를 왼쪽으로 이동하는 연산자
    >> 왼쪽 값에 오른쪽 값만큼의 비트를 채우면서 오른쪽으로 이동하는 연산자

     

    • 시프트 연산자 예제
      #include <stdio.h>
      void main() {
        printf("%d \n", 3 << 2);    // 12
        printf("%d \n", 8 >> 3);    // 1

     

    • 관계 연산자 : 두 피연산자 사이의 크기를 비교하는 연산자
    > 왼쪽에 있는 값이 오른쪽에 있는 값보다 크면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자
    >= 왼쪽에 있는 값이 오른쪽에 있는 값보다 크거나 같으면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자
    == 왼쪽에 있는 값이 오른쪽에 있는 값과 같으면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자
    != 왼쪽에 있는 값이 오른쪽에 있는 값과 다르면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자

     

    • 관계 연산자 예제
      #include <stdio.h>
      void main() {
        printf("%d \n", 3==3);    // 1
        printf("%d \n", 5==3);    // 0
      class Soojebi {
        public static void main(String[] args) {
          System.out.println(3==3);     // true
          System.out.println(5==3);     // false
        }
      }

     

    • 비트 연산자 : 0과 1의 각 자리에 대한 연산을 수행하는 연산자
    & 두 값을 비트로 연산하여 같은 비트의 값이 모두 1이면 해당 비트 값이 1이 되고, 그렇지 않으면 0이 되는 연산자
    두 값을 비트로 연산하여 같은 비트의 값이 하나라도 1이면 해당 비트 값이 1이 되고, 그렇지 않으면 0이 되는 연산자
    ^ 두 값을 비트로 연산하여 같은 비트이 값이 서로 다르면 해당 비트 값이 1이 되고, 그렇지 않으면 0이 되는 연산자
    ~ 모든 비트 값을 반대로 바꾸는 반전 기능을 하는 연산자

     

    • 비트 연산자 예제
      #include <stdio.h>
      void main() {
        printf("%d \n", 13 & 10);   // 13 => 1101(2), 10 => 1010(2), & 연산하면 1000(2) = 8
        printf("%d \n", 13 | 10);   // | 연산하면 1111(2) = 15
        printf("%d \n", 13 ^ 10);   // ^ 연산하면 111(2) = 7
        printf("%d \n", ~13);   // 13에 -부호 붙이고, -1 연산하면 = -14
      }

     

    • 논리 연산자 : 두 피연산자 사이의 논리적인 관계를 정의하는 연산자

     

    && 두 개의 논리값이 모두 참이면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자
    ㅣㅣ 두 개의 논리값 중 하나가 참이면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자

     

    • 논리 연산자 예제
      #include <stdio.h>
      void main() {
        printf("%d %d \n", 1 && 1, 1 || 1);   // 1, 1
        printf("%d %d \n", 1 && 0, 1 || 0);   // 0, 1
        printf("%d %d \n", 0 && 1, 0 || 1);   // 0, 1
        printf("%d %d \n", 0 && 0, 0 || 0);   // 0, 0

     

    • 삼항 연산자 : 조건 ? 참값 : 거짓값

     

    • 삼항 연산자 예제
      #include <stdio.h>
      void main() {
        int x = 1;
        int y = 2;
        int max;
    
        max = x > y ? x : y;
        printf("%d", max);    // 2 
      int i = 7, j = 9;
      int k;
    
      if(i > j)
        k = i - j;
    
      else
        k = i + j;    
    
      // k = (i > j) ? (i - j) : (i + j);

     

    • 대입 연산자 : 변수에 값을 대입할 때 사용하는 연산자, 오른쪽에 있는 값을 이용해 왼쪽의 변수 값을 대입
    = 왼쪽의 변수에 오른쪽 값을 대입하는 연산자
    += 왼쪽의 변수에 오른쪽 값을 더한 후, 그 결과값을 왼쪽의 변수에 대입하는 연산자
    %= 왼쪽의 변수에 오른쪽 값을 나눈 후, 그 나머지를 왼쪽의 변수에 대입하는 연산자
    , 동시에 여러 개의 값을 대입하는 연산자(파이썬만 지원)

     

    • 대입 연산자 예제
      a, b = 10, 20
      print(a)    // 10
      print(b)    // 20
    
      a,b = b, a
      print(a)    // 20
      print(b)    // 10
      #include <stdio.h>
      int main() {
        int a = 3, b = 4, c = 2;
        int r1, r2, r3;
    
      r1 = b <= 4 || c == 2;    // 1
      r2 = (a > 0) && (b < 5);    // 1
      r3 = !c;    // 0
    
      printf("%d", r1 + r2 + r3);   // 1+1+0 = 2
      return 0;
      }
      public class Soojebi2 {
        public static void main(String[] args) {
          int a = 3, b = 4, c = 3, d = 5;
            if(a == 2 | a == c) & !(c > d) & ( 1 == b ^ c != d)) {    // 1(true)
              a = b + c;    // a = 7, b = 4, c = 3, d = 5
              if(7 == b ^ c != a) {   // 1(true)
                System.out.println(a);    // 7
              }
    
              else {
                System.out.println(b);
              }
    
            else {
              a = c + d;
              if( 7== c ^ d != a) {
                System.out.println(a);
              }
    
              else {
                System.out.println(d);
              }
            }
        }
      }

    댓글

Designed by Tistory.