티스토리 뷰

반응형

2021.04.16 - [코딩 공부/C 언어] - C 언어 기초 : 연산자 3 - 비트 연산자

 

C 언어 기초 : 연산자 3 - 비트 연산자

2021.04.14 - [코딩 공부/C 언어] - C 언어 기초 : 연산자 1 C 언어 기초 : 연산자 1 2021.02.07 - [코딩 공부/C 언어] - C 언어 기초 : scanf 로 원하는 데이터 입력 받기 C 언어 기초 : scanf 로 원하는 데이터..

hgu-can.tistory.com

 

연산자 파트에서 얘도 같이 설명하고 갔어야 했는데 까먹고 있다가 생각나서 다시 돌아왔어요..ㅎㅎ;;

 

2021.10.05 - [코딩 공부/C 언어] - [C언어 기초] 조건문 if

 

[C언어 기초] 조건문 if

2021.04.16 - [코딩 공부/C 언어] - C 언어 기초 : 연산자 3 - 비트 연산자 C 언어 기초 : 연산자 3 - 비트 연산자 2021.04.14 - [코딩 공부/C 언어] - C 언어 기초 : 연산자 1 C 언어 기초 : 연산자 1 2021.02.07..

hgu-can.tistory.com

 

조건문 if와 비교해서 보시면 좋습니다. 

 


1. 조건 연산자란?

 

조건문 if에 대해 알고 계신다면 조건 연산자의 이름만 봐도 대충 느낌이 오실 거에요. 

주어진 조건이 참인지 거짓인지 알아맞히는 연산을 수행할 수 있는 연산자입니다. 

그렇기 때문에 맞냐 아니냐 와 같은 비교적 간단한 조건 비교에서 쓰면 

코드 한 줄로 간결하게 쓸 수 있습니다. 

그 만큼 알아보기는 조금 힘들지만요..ㅋㅋ(개인적인 의견)

 

 

2. 조건 연산자의 형태

 

조건 ? 참이면 이거 실행 : 거짓이면 이거 실행

 

조건 연산자는 위와 같은 형태로 사용합니다. 

? 앞의 조건이 참이라면 ? 와 : 사이의 식을 실행하고 거짓이라면 : 뒤에 있는 식을 실행합니다. 

 

 

#include <stdio.h>

void main()
{
	int Num1 = 10, Num2 = 5;

	(0 == Num1 % 2) ? printf("%d는 짝수\n", Num1) : printf("%d는 홀수\n", Num1);
	(0 == Num2 % 2) ? printf("%d는 짝수\n", Num2) : printf("%d는 홀수\n", Num2);
}

 

구체적인 예를 든다면 위와 같이 쓸 수 있습니다. 

비주얼 스튜디오에 위의 코드를 적고(손으로 직접 타이핑 해 주세요!)

실행해 봅시다. 

 

 

 

그러면 위와 같은 실행 결과를 볼 수 있습니다. 

 

%가 어떤 수를 나누었을 때의 나머지를 구하는 연산인 거 알고 계시죠?

모듈러 연산이라고도 합니다. 

짝수는 2로 나누면 항상 2로 나누어 떨어지기 때문에 나머지가 항상 없죠? (나머지가 0)

그렇기 때문에 어떤 수의 % 연산 결과가 0이면 그 수는 짝수라고 할 수 있습니다. 

 

Num1 혹은 Num2가 짝수라면 : 의 앞에 있는 짝수입니다 문장을 출력하고

홀수라면 : 뒤에 있는 홀수입니다 문장을 출력하라는 조건을 적었더니

시킨대로 잘 출력하는 것을 볼 수 있었습니다. 

 

 

#include <stdio.h>

void main()
{
    int age;
    scanf("%d", &age);
    
    (20 <= age) ? printf("%d살은 성인입니다.", age) : printf("%d살은 미성년자입니다.\n", age);
}

 

응용한 코드를 하나 더 적어본다면 위와 같이 나이를 입력받아서 성인인지 아닌지를 판별하는 코드도 작성할 수 있습니다. 

 

별 거 없죠?

사실 이게 나중에 조건문 if문을 배우면 그걸로 다 되다 보니까 전 잘 안 쓰는 편입니다. 

그래서 자주 까먹기도 하고요 ㅎㅎ;

일단 제가 봤을 땐 다른 조건문에 비해서 직관적이지 않아서 더 안 쓰는 것도 있습니다. 

그래도 알아두면 가끔 폼나게 쓸 수 있으니까 C 언어를 차근차근 공부하실 것이라면 어떤 것인지 꼭 익히고 넘어가세요~

 

그럼 예습복습 열심히 하시고 다음 포스트에서 만나요~!

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함