조건 (프로그래밍)
조건(條件)은 프로그래밍에서 참인지 거짓인지 판단하고 과정이 맞으면 그것에 맞게 수행하는 것이다.
목차
개요[편집]
조건은 컴퓨터과학에서 프로그래머가 명시한 불린 자료형 조건이 참인지 거짓인지에 따라 달라지는 계산이나 상황을 수행하는 프로그래밍 언어의 특징이다. 조건에 따라 둘 또는 그 이상의 실행 경로 중에서 하나를 선택할 수 있는 수단을 제공한다.[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]
각주[편집]
참고자료[편집]
- 〈조건문〉, 《위키백과》
- 〈조건문〉, 《네이버 지식백과》
- 〈다중 프로그래밍 요구 조건〉, 《네이버 지식백과》
- 〈C언어 조건문 if, switch 간단한 예제 모음〉, 《다시마》
- Hyun-Taek Hong, 〈(Java 02) 자바 조건문 (if문, else문, if-else문)〉, 《깃허브》, 2020-08-16
- 〈점프 투 파이썬〉, 《위키독스》
같이 보기[편집]