검수요청.png검수요청.png

조건 (프로그래밍)

위키원
이동: 둘러보기, 검색

조건(條件)은 프로그래밍에서 인지 거짓인지 판단하고 과정이 맞으면 그것에 맞게 수행하는 것이다.

개요[편집]

조건은 컴퓨터과학에서 프로그래머가 명시한 불린 자료형 조건이 참인지 거짓인지에 따라 달라지는 계산이나 상황을 수행하는 프로그래밍 언어의 특징이다. 조건에 따라 둘 또는 그 이상의 실행 경로 중에서 하나를 선택할 수 있는 수단을 제공한다.[1][2]

C언어[편집]

설정한 조건식에 따라서 실행될 코드 블록과 실행되지 않을 블록을 설정할 수 있다. 조건의 종류는 주로 if, if else, if else if, switch가 있다.[3]

if[편집]

조건식이 참인 경우에만 사용하는 대표 조건이며 형태와 의미는 다음과 같다.

형태
if (조건) {A}
의미
(조건) = 참이면 {A} 실행, (조건) = 거짓이면 if문 탈출
예시1
#include<stdio.h>
void main() {
	int x = 1;
	int y = 2;

	if (x < y)
	{
		printf("x가 y보다 작습니다. \n"); //if문 내부 실행문
	}

	printf("종료 \n"); //if문 외부 실행문

}
결과
x가 y보다 작습니다.
종료
예시2
#include<stdio.h>
void main() {
	int x = 3;
	int y = 2;

	if (x < y)
	{
		printf("x가 y보다 작습니다. \n"); //if문 내부 실행문
	}

	printf("종료 \n"); //if문 외부 실행문

}
결과
종료[3]

if else[편집]

if else는 2가지의 조건식을 쓸 때 가정이 참이면 참인 가정을 실행하고 아니면 거짓 가정을 실행하게 하는 것으로 사용하는 것으로, 형식은 다음과 같다.

형태
if (조건) {A} else {B}
의미
(조건) = 참이면 {A} 실행, (조건) = 거짓이면 {B} 실행
예시1
#include<stdio.h>
void main() {
	int x = 1;
	int y = 2;

	if (x < y)
	{
		printf("x가 y보다 작습니다. \n"); //if문 내부 실행문
	}
	else
	{
		printf("x가 더 크거나 같습니다. \n"); //else문 내부 실행문
	}

	printf("종료 \n"); //if문, else문과 무관하게 실행

}
결과
x가 y보다 작습니다.
종료
예시
#include<stdio.h>
void main() {
	int x = 3;
	int y = 2;

	if (x < y)
	{
		printf("x가 y보다 작습니다. \n"); //if문 내부 실행문
	}
	else
	{
		printf("x가 y보다 크거나 같습니다. \n"); //else문 내부 실행문
	}

	printf("종료 \n"); //if문, else문과 무관하게 실행
}
결과
x가 y보다 크거나 같습니다.
종료[3]

if else if[편집]

3가지 이상의 조건식일 때 사용한다.

형식
if (조건 a) {A} else if (조건 b) {B} else {C}
의미
(조건 a) = 참이면 {A} 실행, (조건 a) = 거짓 & (조건 b) = 참이면 {B} 실행, (조건 a) = 거짓 & (조건 b) = 거짓이면 {C} 실행
#include
void main() {
	int x = 1;
	int y = 2;

	if (x < y)
	{
		printf("x가 y보다 작습니다. \n"); //if(조건식)이 참이면, 실행
	}
	else if (x == y)
	{
		printf("x가 y와 같습니다. \n"); //if(조건식)이 거짓, else if(조건식)이 참이면, 실행
	}
	else
	{
		printf("x가 y보다 큽니다. \n"); //if(조건식)이 거짓, else if(조건식)이 거짓이면, 실행
	}

	printf("종료 \n"); //조건문 밖의 코드는 조건과 무관하게 실행

}
결과
x가 y보다 작습니다.
종료[3]

switch[편집]

switch문은 여러 경우의 수를 선택할 때 사용하고 case정수(int) 및 단일 문자(char) 자료형만 올 수 있다. 즉 case 뒤에는 변수명도 올 수 없다.

형식
switch (x) case (a) {A} default {C}
의미
x = a이면 {A} 실행, x != a이면, {C} 실행
예시1
#include<stdio.h>
void main() {
	int x = 1;
	int y;

	switch (x)
	{
		case 0 : //x = 0 일 때 실행
		{
			y = 33; //y = 33 대입
			printf("y값은 %d \n", y); //y값 출력
		}
		break; //switch문 밖으로 탈출

		case 1 : //x != 0 이고, x = 1 일 때 실행
		{
			y = 44; //y = 44 대입
			printf("y값은 %d \n", y); //y값 출력
		}
		break; //switch문 밖으로 탈출

		default : //x != 0 이고, x != 1 일 때, 실행
		{
			y = 99; // y = 99 대입
			printf("y값은 %d \n", y); //y값 출력
		}
	}

	printf ("종료"); //switch문 밖의 외부 코드는 switch문과 무관하게 실행
}
결과
y값은 44
종료
예시2
#include<stdio.h>
void main() {
	int x = 99;
	int y;

	switch (x)
	{
		case 0 : //x = 0 일 때 실행
		{
			y = 33; //y = 33 대입
			printf("y값은 %d \n", y); //y값 출력
		}
		break; //switch문 밖으로 탈출

		case 1 : //x != 0 이고, x = 1 일 때 실행
		{
			y = 44; //y = 44 대입
			printf("y값은 %d \n", y); //y값 출력
		}
		break; //switch문 밖으로 탈출

		default : //x != 0 이고, x != 1 일 때, 실행
		{
			y = 99; // y = 99 대입
			printf("y값은 %d \n", y); //y값 출력
		}
	}

	printf ("종료"); //switch문 밖의 외부 코드는 switch문과 무관하게 실행
}
결과
y값은 99
종료[3]

자바[편집]

자바도 C언어처럼 형태는 비슷하며 종류는 if, if else, if else if이다.[4]

if[편집]

조건식이 true이면 블록을 실행하고 false이면 실행하지 않는 조건을 통해 프로그램을 제어한다.

예시
public class practice {
public static void main(String[] args) {
int score = 85;

	if (score >= 90) {    //score = 85이므로 score >= 90 조건은 false
			System.out.println("점수가 90보다 큽니다.");
			System.out.println("등급은 A 입니다.");
		} 
	if (score < 90) {     //score = 85이므로 score < 90 조건은 true
			System.out.println("점수가 90보다 작습니다.");  
	System.out.println("등급은 B 입니다.");
	}
}
}
실행 결과
점수가 90보다 작습니다.
등급은 B 입니다.[4]

if else[편집]

if문의 조건식이 true이면 if문의 블록이 실행되고, 조건식이 false이면 else 블록이 실행된다.

예시
public class practice {
public static void main(String[] args) {
int score = 85;

	if (score >= 90) {
		System.out.println("점수가 90보다 큽니다.");
		System.out.println("등급은 A 입니다.");
	} else {  // score<90일 경우
		System.out.println("점수가 90보다 작습니다.");
		System.out.println("등급은 B 입니다.");
	}
}
}
실행 결과
점수가 90보다 작습니다.
등급은 B 입니다.[4]

if else[편집]

여러 개의 조건식을 사용해야 하는 경우 if else를 활용하여 false인 조건식들은 건너뛰고 true가 되는 블록만 실행한다.

예시
public class practice {
public static void main(String[] args) {
	int score = 83;

	if (score >= 90) {
		System.out.println("점수가 100-90 입니다.");
		System.out.println("등급은 A 입니다.");
	} 
	else if (score >= 80) { // 80 <= score <90
		System.out.println("점수가 80-89 입니다.");
		System.out.println("등급은 B 입니다.");
	} 
	else if (score >= 70) { // 70 <= score <80
		System.out.println("점수가 70-79 입니다.");
		System.out.println("등급은 C 입니다.");
	} else { // 60 <= score <70
		System.out.println("점수가 60-69 입니다.");
		System.out.println("등급은 D 입니다.");
	}
}
}
실행 결과
점수가 80-90 입니다.
등급은 B 입니다.[4]

파이썬[편집]

파이썬C언어, 자바와 다른 형태의 조건들이 나오며 대표적으로 if, elif 등이 있다. 비록 형태는 조금 다르지만 구동하는 방식은 거의 비슷하다.

if[편집]

C와 자바같이 작용한다.

예시1
>>> money = True
>>> if money:
...     print("택시를 타고 가라")
... else:
...     print("걸어 가라")
...
택시를 타고 가라[5]
예사2
>>> money = 2000
>>> if money >= 3000:
...     print("택시를 타고 가라")
... else:
...     print("걸어가라")
...
걸어가라

elif[편집]

if와 else만으로는 다양한 조건을 판단하기 어려울 때 사용하는 것이며 다음과 같다.

예시
>>> pocket = ['paper', 'cellphone']
>>> card = True
>>> if 'money' in pocket:
...      print("택시를 타고가라")
... elif card: 
...      print("택시를 타고가라")
... else:
...      print("걸어가라")
...
택시를 타고가라[5]

각주[편집]

  1. 조건문〉, 《위키백과》
  2. 조건문〉, 《네이버 지식백과》
  3. 3.0 3.1 3.2 3.3 3.4 C언어 조건문 if, switch 간단한 예제 모음〉, 《다시마》
  4. 4.0 4.1 4.2 4.3 Hyun-Taek Hong, 〈(Java 02) 자바 조건문 (if문, else문, if-else문)〉, 《깃허브》, 2020-08-16
  5. 5.0 5.1 점프 투 파이썬〉, 《위키독스》

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 조건 (프로그래밍) 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.