본문 바로가기
C 프로그래밍

독학으로 배우는 C언어 020 조건문 단일 if문

by 솔토지빈 2024. 9. 6.
반응형

독학으로 배우는 C언어 020 조건문 단일 if

 

1. if

1) 형식

IF(조건식)
실행문;

 

- 주어진 조건식이 참이면 실행문을 실행한다.

- 주어진 조건식이 거짓이면 실행문을 실행하지 않고 다음 문장을 실행한다.

- 조건식에서 사용하는 관계연산자는 아래와 같다.

 

연산자 기능
== 같다 (= 는 대입연산자이며 사용하지 못한다.)
!= 같지 않다.
> 보다 크다
>= 보다 크거나 같다( => 거꾸로 사용할수 없다.)
< 보다 작다.
<= 보다 작거나 같다( =< 사용할수 없다.)

 

실습 1: if1

다음의 프로그램을 작성하여 if001.c 저장하고 실행해 보자.

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void main() { ​​​​int n; ​​​​printf(" 점수를 입력하세요 "); ​​​​scanf("%d", &n); ​​​​if (n >= 90) ​​​​​​​​printf("%d 우등생 이군요.\n", n); ​​​​return 0; }

 

설명 : 행 설명

입력받은 점수가 90 보다 크면 Then 다음의 문을 수행한다.

만약 90보다 작은 수가 입력되면 If 문을 수행하지 않는다.

 

 

2. 단문 if

조건식이 참일 경우 if 문 뒤에 하나의 문장만 처리하는 경우이다.

 

실습 1: 단문 if

다음의 프로그램을 작성하여 if002.c 저장하고 실행해 보자.

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void main() { ​​​​int res; ​​​​printf("정수를 입력하세요. \n"); ​​​​scanf("%d", &res); ​​​​if (res == 1) ​​​​​​​​printf("1이 입력되었습니다. \n"); ​​​​printf("처리를 종료하겠습니다. \n"); ​​​​return 0; }

 

설명 : 행 설명

1이 아닌 수가 입력되면 if문의 다음 문장을 수행한다.

 

3. 복문 if

조건식이 참일 경우 if 문 뒤에 여러개의 문장을 처리하는 경우이며 이때는 대괄호‘{ }’를 사용한다.

 

실습 1: 복문 if

다음의 프로그램을 작성하여 if003.c 저장하고 실행해 보자.

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void main() { ​​​​int res; ​​​​printf("정수를 입력하세요. \n"); ​​​​scanf("%d", &res); ​​​​if (res == 1) { ​​​​​​​​printf("1이 입력되었습니다. \n"); ​​​​​​​​printf("1을 선택했습니다. \n"); ​​​​} ​​​​printf("처리를 종료하겠습니다. \n"); ​​​​return 0; }

 

설명 : 행 설명

if (res == 1)
{
실행문1;
실행문2;
}
다음 문장
조건이 참이면 실행문1과 실행문2를 수행하고 조건이 참이 아니면 { } 다음의 문을 수행한다.

 

- 만일 res 라는 변수에 1 이 대입되어 있다면 if (res == 1) 은 결과가 참이므로 { } 안의 문을 실행한다.

- 형식에서 보면 실행문1 과 실행문2 는 각각 {} 으로 쌓여 있는데 {} 사이를 블록이라고 한다. 즉 블록이란 여러 개의 문장이 모여있는 그룹을 의미하며 블록 내의 문장이 2개 이상 있을시 복문, 1개만 있을 때를 단문이라 한다.

- 단문이란 1개의 문장을 말하며 if 에서는 단문인 경우와 복문인 경우를 분명히 구별해야 한다.

- if 문에 복문이 들어있는 경우에는 반드시 { }으로 둘러 쌓여야 하지만 단문인 경우에는 { }를 생략할 수 있다.

 

- 만약 if003.c에서 { }를 제거하면 어떤 결과가 나올지 예측해 보자.

 

4. 다양한 단일 if 문 응용

 

실습 1: 조건에 만족할 때만 덧셈

입력받은 수가 100보다 크거나 같으면 100에 입력받은 수를 더하고 100보다 작은 값이 입력되면 100이 출력되는 프로그램을 작성해 보자. (if004.c)

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void main() { ​​​​int a, sum = 100; ​​​​printf(" 수를 입력하세요 "); ​​​​scanf("%d", &a); ​​​​if (a >= 100) ​​​​​​​​sum += a; ​​​​printf("%d\n", sum); ​​​​return 0; }

 

실습 2: 절댓값 구하기

수를 입력하여 음수이면 1을 곱하여 출력하고 양수이면 그대로 출력하는 프로그램을 작성해 보자. (if005.c)

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void main() { ​​​​int su; ​​​​printf("숫자를 입력하세요 : "); ​​​​scanf("%d", &su); ​​​​if (su < 0) { ​​​​​​​​su *= -1; ​​​​​​​​printf("음수를 양수로 바꾸었습니다.\n"); ​​​​} ​​​​printf("결과는 %d입니다.\n", su); ​​​​return 0; }

 

실습 3: 소문자를 대문자로 출력하기

영문자를 입력받아 소문자이면 대문자로 출력하고 대문자가 입력되면 그대로 대문자로 출력하는 프로그램을 작성해 보자. (if006.c)

 

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void main() { ​​​​char c; ​​​​printf("문자를 입력하세요 : "); ​​​​scanf("%c", &c); ​​​​if (c >= 97) ​​​​​​​​c -= 32; ​​​​printf("입력한 문자의 대문자는 %c입니다.", c); ​​​​return 0; }

 

실습 4: 입력된 두수를 비교하기

두수를 입력받아 두 수가 같은 수가 아니면 다른 수라고 출력하는 프로그램을 작성해 보자. (if007.c)

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void main() { ​​​​int a, b; ​​​​printf(" a, b 두 수를 입력하세요: "); ​​​​scanf("%d, %d", &a, &b); ​​​​if (a != b) ​​​​​​​​printf("%d 와 %d는 다르다 \n", a, b); ​​​​printf(" 그리고 끝! \n"); ​​​​return 0; }

 

설명 : 행 설명

scanf("%d, %d", &a, &b); 으로 입력받을 때 두 수를 구분하는 구분자로 , 를 사용하였다.

 

실습 5: 짝수와 홀수 구분하기

수를 입력받아 짝수인 경우에만 짝수라고 출력하는 프로그램을 작성해 보자. (if008.c)

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void main() { ​​​​int n; ​​​​printf(" 수를 입력하세요 "); ​​​​scanf("%d", &n); ​​​​if (n % 2 == 0) ​​​​​​​​printf(" %d 짝수.\n", n); ​​​​return 0; }

 

실습 6: 배수와 몫과 나머지 구하기

입력된 수를 4로 나누어 몫과 나머지를 구하여 출력하고 입력받은 수의 다음번 4의 배수를 구하여 출력하고 수고했습니다.”를 출력해보자. 4의 배수가 입력된 경우에는 수고했습니다.”를 출력해 보자. (if009.c)

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void main() { ​​​​int n; ​​​​printf(" 수를 입력하세요 "); ​​​​scanf("%d", &n); ​​​​if (n % 4 != 0) ​​​​{ ​​​​​​​​printf("몫은 %d 나머지는 %d \n", n / 4, n % 4); ​​​​​​​​n += 4 - (n % 4); ​​​​​​​​printf("다음의 4의 배수는 %d\n", n); ​​​​} ​​​​printf("수고했습니다."); ​​​​return 0; }

 

설명 : 행 설명

n += 4 - (n%4)

(n%4)는 나머지 값이므로 4에서 나머지 값을 뺀 값을 n에 더하면 다음번 4의 배수가 된다,

 

반응형

댓글