본문 바로가기
프로그램

[C언어]관계, 논리연산자와 조건문(if~else) 기초예시 6강

by y은광 2024. 8. 27.
728x90

C언어는 코드 안의 프로그램을 순서대로 처리하는 것뿐 아니라 복잡한 문제를 처리할 수 있습니다. 특정한 상황에 따라 복잡하고 다양한 문제를 처리하기 위한 제어문이 있습니다. 제어문 중 조건을 만드는 데 사용하는 기호인 관계, 논리연산자와 조건문을 알아보고 기초예시를 배워보겠습니다.

 

1. 관계연산자(relational operator)

연산 의미 결과 예시 결과
a==b  a와 b는 같다 거짓 4==4
a!=b a와 b는 다르다 4!=4 거짓
a>b a는 b보다 크다 거짓 3<4
a>=b a는 b보다 크거나 같다 3>=4 거짓

 

2. 논리연산자(logical operator) AND, OR, NOT

연산 의미 예시 결과 예시 예시
a && b a와 b모두 참일 때 참 AND 연산 4>2 && 3>1  4>2 && 3<1 거짓
a || b a와 b 둘 중 하나라도 참 OR 연산 5>2 || 4<1 5<=2 || 4<1 거짓
!a  a의 부정  not 예) a=4 NOT 연산 !(a==4) 거짓 !(a>4)

 

3. 조건문 if ~ else

if~else 문은 조건에 따라 특정 블록의 코드를 실행하는 데 사용하는 제어문입니다. 주어진 조건이 참일 경우에만 실행되는 코드이며 거짓일 때 블록을 건너뜁니다. 또한 두 가지 이상의 조건을 판단해서 처리하는 경우 다중, if~else 문을 사용합니다. 아래의 다양한 기초예시를 통해 if~else 조건문을 배울 수 있습니다.

  • 짝수 홀수 기초예시
#include <stdio.h>
int main(void)
{
  int result;
  printf(" 정수를 입력하세요.\n");
  scanf("%d", &result);  
  if ((result % 2) == 0)  // % 함수는 나머지를 구하는 함수 2로 나눈 나머지가 0가 같을 때 실행
      printf( "%d는 짝수입니다.\n", result);
 else
     printf("%d는 홀수입니다.\n", result); // 거짓일 때 실행문
 return 0;
}

 

짝수홀수구분

 

  • 두수 중 큰 값 기초예시
#include <stdio.h>
int main(void)
{
  int a, b, max;
  printf("첫 번째 값입력 :   ");
  scanf("%d", &a);

  printf("두 번째 값입력 :   ");
  scanf("%d", &b);
  
  if (a>b) 
    max = a;
  else
     max = b;
  printf("두 개의 정수 중 큰 값은 :  % d입니다.\n", max);
  return 0;
}

 

최대값 구하기

 

  • 다중 if문과 논리연산으로 성별구별 기초예시
#include <stdio.h>
int main(void)
{
  char result; //문자형 선언

  printf("당신은 남성인가요?\n");
  printf("Y 또는 N을 입력하세요.\n");

  result = getchar(); //표준입력함수 
  if (result == 'Y' || result == 'y')
   printf("당신은 남성이군요\n"); //남성일 때 대문자 Y 또는 소문자 y일 때 실행함
}
 else if(result =='N' || result == 'n') {
   printf("당신은 여성이군요\n"); //여성일 때 대문자 N 또는 소문자 n일 때 실행함
}
else {
    printf("Y 또는 N을 입력하세요. \n"); //Y, y, N, n 이외에 문자입력 시 실행함
}
  return 0;
}

 

성별구하기

 

  • 다중 if문과 관계연산으로 학점 기초예시
#include <stdio.h>
int main(void)
{
  int score;
  printf("성적은 몇 점인가요? :      \n ");
  scanf("%d", &score); //점수를 키보드로 입력합니다.
  if(score >= 90)
    printf("A학점입니다 최우수! 정말 잘했어요.\n");
  else if(score >= 80)
    printf("B학점입니다 우수한 성적이에요. \n");
  else if(score >= 70)
    printf("C학점입니다 수고했습니다.\n");
  else if(score >= 60)
    printf("D학점입니다 조금 더 분발하세요.\n");
  else
    printf("F학점입니다. 다시 도전해 보세요. \n");
  return 0;

 

성적 구하기

 

감사합니다