컴퓨터/정보처리기사

연산자 우선순위

수제녹차 2025. 4. 22. 22:36
728x90
반응형
  • C언어

후위 > 전위

곱셈 > 덧셈 > 비교

산시관비논

포인터 > 산술

!(논리 NOT) ~(비트 NOT) > 산술( * / % 우선순위 동일) >(시프트)> 관계 > 비트 연산(⭐️& > ^ > | 순서) > 논리 > 삼항 > 대입(다 끝나고 대입한다)

논리: &&(AND) > ||(OR)

 

ex. a=b=c=2

hap = ++a | b— & c—; // 3

 

SQL도 프로그래밍 언어와 마찬가지로 AND 연산자의 우선순위가 OR 연산자보다 높다

 

  • 8진수는 숫자 앞에 0 (ex. 035), 파이썬은 0o
  • 16진수는 숫자앞에 0x (ex. 0x35)

 

(1) 

#include<stdio.h>

 

int main() {

int a = 21;

int b = 6;

int c = 3;

int d = 10;

 

int result = d%b+ ++a*c--;

printf("결과값: %d\n", result); // 70

printf("a의 값: %d\n", a); // 22

printf("c의 값: %d\n", c); //2

    

 

return 0;

}

 

(2)

int a = 1, b = 0, c = 1;

printf(“%d\n”, a || b && c); // 1

 

(3)

*(ptr+1) => 메모리 주소 1 증가시키고 값을 가져온다

(*ptr)+1 => 메모리 주소에서 값을 가져오고 1을 증가시킨다

 

#include<stdio.h>

 

int main() {

int arr[] = {10,20,30};

int *ptr = arr;

 

printf("값: %d\n", *++ptr); // 20, 포인터를 먼저 증가시키고 그 후의 값을 취함

printf("다음값: %d\n", *ptr); // 20

    

 

return 0;

}

 

(4)

int x = 7;

int y = 14;

int z = 2;

int result = x*y <= z+100; // 산술 연산자 먼저, 그 다음 관계 연산자. 따라서 1

 

 

연산자

 

  • //

C, java에서는 주석이 됨

python에서는 몫 구하는 연산자

C에는 // 연산자가 없고, /로 정수 나눗셈을 하면 자동으로 몫만 남음.

Java에도 // 연산자가 없고, /를 사용하면 정수형에서는 몫만 남고, 실수형에서는 나눗셈 결과가 그대로 나옴.

파이썬에서는 //가 몫 연산자로 사용됨.

 

C에서 % 출력하려면 두 번 써야 한다

 

#include <stdio.h>

int main() {

prinf(“a %% b = %d\n”, remainder_result);

}

 

 

  • 가지고 있는 돈이 4620원일 때,

1000원, 500원, 100원, 10원의 지폐와 동전을 출력하라

        

class HelloWorld {

  public static void main(String[] args) {

    int m = 4620;

 

    int a = m / 1000;

    int b = (m % 1000) / 500;

    int c = (m % 500) / 100;

    int d = (m % 100) / 10;

 

    System.out.println(a);

    System.out.println(b);

    System.out.println(c);

    System.out.println(d);

  }

}

 

#include <stdio.h>

#include <string.h> // 전처리기

 

int main() {

  char str[50] = "Hello";

  strcat(str, " World"); // C언어에는 내장 기능으로 문자열을 붙이는 기능이 있다

 

  printf("str = %s\n", str); // str = Hello World

  

  return 0;

}

 

반응형