C/C++ 학습 · 5 min read · Oct 12, 2025

C/C++ 단계별 학습 - 페이지 4

04. 단계별 C/C++ — C 프로그래밍 - 조건문

| | 1. 조건문의 소개:

  1. if..else
  2. switch |

1. 조건문의 소개:

컴퓨터는 산술 연산과 논리적 결정을 수행할 수 있는 전자 장치입니다.

이 시점에서 컴퓨터는 단순히 산술 연산만 수행할 수 있는 일반 계산기와는 거리가 멉니다.

우리는 if-else, switch와 같은 조건문을 사용하여 주어진 두 값 중에서 가장 큰 값을 요청할 수 있습니다.

2. if..else

두 표현식 간의 차이를 찾기 위한 조건문입니다.

| |
구문:
if ( <조건> )
{ ; }
else
{ ; } |

모든 if에는 조건과 두 개의 문 블록이 있습니다. 조건이 참이면 첫 번째 st.block을 실행하고 그 반대의 경우에는 두 번째 블록을 실행합니다.

| | 예.
If( a>b )
printf(“A가 큽니다”);
else
printf(“B가 큽니다”); |

참고: 단일 문에 대한 블록은 필요하지 않습니다.

  1. 2 값 중 가장 큰 값을 찾는 프로그램

/ 12_if.c /
#include
int main()
{      / 시작 /
int a, b;      / 변수 선언 /
printf(“\nA 값을 입력하세요 : “); scanf(“%d”, &a);      / A 값 읽기 /
printf(“\nB 값을 입력하세요 : “); scanf(“%d”, &b);      / B 값 읽기 /
if( a>b )      / 두 값 비교 /
printf(“A가 큽니다”);
else
printf(“B가 큽니다”);      / 결과 출력 /
return 0;
}      //

이것은 C++ 및 C 프로그래밍 언어의 연산자 목록입니다. 나열된 모든 연산자는 C++에 존재합니다.

Ref: http://en.wikipedia.org/wiki/Operators_in_C_and_C++

산술 연산자

연산자목적
+덧셈
-뺄셈
*곱셈
/나눗셈
%정수 나눗셈 후 나머지 (모듈러스)

단항 연산자

연산자목적
-마이너스 (음수)
++증가 (1 증가)
감소 (1 감소)
sizeof크기, 바이트 단위
( type)형 변환

관계 연산자

연산자목적
<미만
<=이하
>초과
>=이상

동등 연산자

연산자목적
==같다
!=같지 않다

논리 연산자

연산자목적
&&AND

| || | OR | | ! | NOT |

비트 조작 연산자

연산자목적
&AND

| | | OR | | ~ | NOT | | ^ | XOR | | << | 왼쪽 시프트 | | >> | 오른쪽 시프트 |

연산자 우선 순위 그룹

연산자 범주연산자결합성
단항 연산자- ++ – ! sizeof ( type)R to L
산술 곱셈, 나눗셈 및 나머지* / %L to R
산술 덧셈 및 뺄셈+ -L to R
관계 연산자< <= > >=L to R
동등 연산자== !=L to R

| 논리 연산자 | && || | L to R | | 조건 연산자 | ? : | R to L | | 대입 연산자 | = += -= *= /= %= | R to L |

더 많은 연습 문제

더 많은 연습 문제의 이유는 배운 문에 익숙해지기 위함입니다. 자신이 확신이 있다면 다음 프로그램을 실행할 필요는 없습니다.

/ 01. 다음 세부정보에서 사람의 나이를 찾는 프로그램 /
/ 나이 <= 12 아동 나이
나이 >= 13 및 나이 <= 19 청소년 나이
나이 >= 20 및 나이 <= 35 젊은 나이
나이 >= 36 및 나이 < 50 중년 나이
나이 >= 50 노인 나이
/

/ 13_age.c /
#include
int main()
{
char name[20];
int age;
clrscr();
print “당신의 이름을 입력하세요 “; input name;
print “당신의 나이를 입력하세요 “; input age;
printf(“\n%s 당신은 “);
if ( age <= 12 ) printf(“아동 나이”);
if ( age >= 13 and age <= 19 ) printf(“청소년 나이”);
if ( age >= 20 and age <= 35 ) printf(“젊은 나이”);
if ( age >= 36 and age < 50 ) printf(“중년 나이”);
if ( age >= 50 ) printf(“노인 나이”);
return 0;
}

/ 02. 3 값 중 가장 큰 값을 찾는 프로그램 /

/ 14_big3.c /
#include
#include
int main()
{
int a, b, c;
clrscr();
printf(“A 값을 입력하세요 “); scanf(“%d”, &a);
printf(“B 값을 입력하세요 “); scanf(“%d”, &b);
printf(“C 값을 입력하세요 “); scanf(“%d”, &c);
if( a > b && a > c ) printf( “A가 큽니다 “ );
if( b > a && b > c ) printf( “B가 큽니다 “ );
if( c > a && c > b ) printf( “C가 큽니다 “ );
return 0;
}

/ 03. if..else를 사용하여 3 값 중 가장 큰 값을 찾는 프로그램 /

/ 15_big3.c /
#include
#include
int main()
{
int a, b, c;
clrscr();
printf(“A 값을 입력하세요 “); scanf(“%d”, &a);
printf(“B 값을 입력하세요 “); scanf(“%d”, &b);
printf(“C 값을 입력하세요 “); scanf(“%d”, &c);
if( a > b && a > c )
printf( “A가 큽니다 “ );
else
if ( b > c )
printf( “B가 큽니다 “ );
else
printf( “C가 큽니다 “ );
return 0;
}

/ 04. 중첩 if를 사용하여 3 값 중 가장 큰 값을 찾는 프로그램 /

/ 16_big3.c /
#include
#include
int main()
{
int a, b, c;
clrscr();
printf(“A 값을 입력하세요 “); scanf(“%d”, &a);
printf(“B 값을 입력하세요 “); scanf(“%d”, &b);
printf(“C 값을 입력하세요 “); scanf(“%d”, &c);
if( a > b )
if( a > c )
printf(“ A가 큽니다 “);
else
printf(“ C가 큽니다 “);
else
if( b > c )
printf(“ B가 큽니다 “);
else
printf(“ C가 큽니다 “);
return 0;
}

/ 05. 주어진 숫자의 요일을 찾는 프로그램 /

/ 17_week.c /
#include
int main()
{
int week;
printf(“주 번호를 입력하세요 “); scanf(“%d”, &week);
if (week == 1 ) printf (“일요일”);
if (week == 2 ) printf (“월요일”);
if (week == 3 ) printf (“화요일”);
if (week == 4 ) printf (“수요일”);
if (week == 5 ) printf (“목요일”);
if (week == 6 ) printf (“금요일”);
if (week == 7 ) printf (“토요일”);
if ( week < 1 || week > 7 ) printf(“잘못된 날”);
return 0;
}

3. Switch

다중 조건문은 하나 이상의 표현식의 변화를 확인할 수 있는 능력이 있습니다.

구문:

| | switch()
{
case : ; break;
case : ; break;
……
Default : ;
} |

예.

| | switch(week)
{
case 1 : printf( “일요일”); break;
case 2 : printf(“월요일”); break;
.
.
case 7: printf(“토요일”); break;
default : printf(“잘못된 입력”);
} |

/ 06. switch 문을 사용하여 주어진 숫자의 요일을 찾는 프로그램 /

/ 18_switch.c /
#include
int main()
{
int week;
printf(“주 번호를 입력하세요 “); scanf(“%d”, &week);
switch(week)
{
case 1 : printf (“일요일”); break;
case 2 : printf (“월요일”); break;
case 3 : printf (“화요일”); break;
case 4 : printf (“수요일”); break;
case 5 : printf (“목요일”); break;
case 6 : printf (“금요일”); break;
case 7 : printf (“토요일”); break;
default : printf(“잘못된 입력”);
}
return 0;
}

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.