JUST GO

[C] 제어문(if문) 본문

C/학습내용

[C] 제어문(if문)

root_go 2022. 10. 5. 10:13

제어문

- 프로그램의 수행 순서를 제어하기 위한 목적의 문장

 

조건문

- if문

 

if의 사용 예

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) 
{
	int score;

	printf("퀴즈 점수를 입력하세요: ");
	scanf("%d", &score);

	if (score < 70)
		printf("재시!!!\n"); // score < 70인 경우에 수행된다.

	// if문 다음 문장에서 실행의 흐름이 다시 만난다.
	printf("다음 수업은 일주일 후입니다.\n");

	return 0;
}
 

복합문

- { }으로 묶인 문장, 블록

- 언제든지 단일문 대신 사용할 수 있다.

 

 

if else문

 

중첩된 if

- if문 안에 포함된 if문

 

중첩된 if의 사용 예

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) 
{
	int age, fee;

	printf("나이? ");
	scanf("%d", &age);

	if (age >= 8) {
		if (age >= 65) {  // if문 안에 다른 if문을 포함할 수 있다.(중첩된 if)
			fee = 5000;
		}
		else {
			fee = 10000;
		}
	}
	else {
		fee = 0;
	}
	printf("입장료: %d원\n", fee);
}
 

else if문

- else의 블록 안에 다른 문장 없이 또 다른 if문만 들어 있을 때

- 여러 가지 조건을 순서대로 검사

 

다중 if

- 서로 독립적인 조건을 여러 개 비교하는 경우

- 각각의 if문은 else if로 연결되지 않는다.

 

if문의 비교

 

else if를 이용한 사칙연산 계산기

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) 
{
	int a, b;
	char op;

	printf("수식? ");
	scanf("%d %c %d", &a, &op, &b);

	if (op == '+'){
		printf("%d + %d = %d\n", a, b, a + b);
	}
	else if (op == '-') {
		printf("%d - %d = %d\n",a,b,a-b);
	}
	else if (op == '*') {
		printf("%d * %d = %d\n", a, b, a * b);
	}
	else if (op == '/') {
		if (b != 0)
			printf("%d / %d = %.2f\n", a, b, (double)a / b);
		printf("0으로 나눌 수 없습니다.\n");
	}
	else {
		printf("잘못된 수식입니다.\n");
	}
	return 0;
}

'C > 학습내용' 카테고리의 다른 글

[C] 반복문  (1) 2022.10.05
[C] 제어문(switch문)  (0) 2022.10.05
[C] 연산자(3)  (1) 2022.10.05
[C] 연산자(2)  (1) 2022.10.05
[C] 연산자(1)  (0) 2022.10.05