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

1. if문
1) 형식
IF(조건식) 실행문; |
- 주어진 조건식이 참이면 실행문을 실행한다.
- 주어진 조건식이 거짓이면 실행문을 실행하지 않고 다음 문장을 실행한다.
- 조건식에서 사용하는 관계연산자는 아래와 같다.
연산자 | 기능 |
== | 같다 (= 는 대입연산자이며 사용하지 못한다.) |
!= | 같지 않다. |
> | ~ 보다 크다 |
>= | ~ 보다 크거나 같다( => 거꾸로 사용할수 없다.) |
< | ~ 보다 작다. |
<= | ~ 보다 작거나 같다( =< 사용할수 없다.) |
실습 1: if문 1
다음의 프로그램을 작성하여 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의 배수가 된다,
'C 프로그래밍' 카테고리의 다른 글
독학으로 배우는 C언어 022 조건문 다중 if 문 (4) | 2024.12.05 |
---|---|
독학으로 배우는 C언어 021 조건문 if else 문 (2) | 2024.12.02 |
독학으로 배우는 C언어 019 대입 연산자 (0) | 2024.08.28 |
독학으로 배우는 C언어 018 8진수와 16진수의 표시 (0) | 2024.08.15 |
독학으로 배우는 C언어 017 다양한 입력 함수 (0) | 2024.07.30 |
댓글