-
[C/C++] 조건문기초/C,C++ 2017. 2. 16. 10:55
조건문
말 그대로 조건에 맞는 값만 처리하는데요.
참 거짓을 나눌때 사용합니다.
조건문은
if~else
switch case
2가지 방법으로 사용할 수 있어요
#1 if ~ else
예를 들어 회사내에서 실적이 10개 이상인 사원들에게 보너스를 지급한다고 할때 사용 할 수 있을 것 같네요!
[사용법]
if(조건){
처리내용..
처리내용..
}
처리내용이 오로지 한줄일때는 대괄호의 생략이 가능해요.
하지만 if문의 골격자체를 판단하기 어려우니 대괄호를 쓰는걸 권해드려요.
하지만 이것도 문제가 있습니다.
코딩이 순차적으로 내려올때 if문 3개를 다 걸쳐진다는겁니다.
그래서 나온 문장이 else입니다.
[사용법]
if(조건){
처리..
}
else if(조건{
처리 2..
}
else {
처리 ..
}
처음 if문을 걸쳐서 조건이 맞지않을때 아래에 else if문이 있으면 2번째 조건을 찾습니다. 계속 else if문이 있으면 계속 처리하다가
모든 조건에 맞지않으면 else문에서 처리가 됩니다.
else문은 모든 조건에 맞지 않을때 실행되는 문장이기 때문에
조건을 입력해주지 않아요.
또한 else if문과 else문은 가장 가까이에 있는 if문과 짝을 이뤄요
[사용법]
if(조건){
처리
}else{
}
else if문은 갯수에 상관없이 추가해주시면 되고 생략도 가능해요!
생략을 해주실때는 오로지 참 거짓만있을때 사용해요.
예를 들어 자격증 취득여부시 60점이상이면 합격이고 나머지는 불합격이라는 결과를 출력하고 싶을때 사용해요.
논리 연산자를 활용하는것도 좋은 방법입니다 ^^
조건문으로 만 만든!
[계산기]
여기서 왜 res만 초기화를 해줬을까요 ?
scanf를 통해서 num1, num2, op라는 변수는 입력 값을 받습니다.
하지만 op값이 사칙연산이 아닐경우 조건문을 통해서 가면
printf("기호 잘못입력");
만 처리가 되고 res값은 쓰레기 값으로 그대로 남아있게 됩니다.
이때 에러를 발생시키는겁니다.
이런 에러를 예방하려면 모든 변수에 초기화 하는 습관을 가지는 것이 좋을것 같네요.
#2 switch ~ case
switch case문은 입력된 값과 동일한 case값을 가진 곳으로 가서 실행하는 조건문이예요.
입력되는 값에는 정수, 문자(문자열 X) 변수, 관계연산자,논리연산자에 의한 결과값이 정수인 것만 올수 있어요 --> 위치지정자
정리해보면 switch case문은 딱 알맞은 값을 비교할 때 사용하는 문장이예요!
switch(조건){
case 비교값 1 : 처리.... break;
case 비교값 2 : 처리 .... break;
...
...
...
default : 처리... break;
}
언어자체가 순차적으로 내려오기 때문에
처리를 하고 break;를 해주지 않으면
내려오면서 아래있는 처리를 계속 하는데요.
이러면 조건문을 쓰는 의미가 없잖아요!
따라서 처리를 해주고 case뒤에 break; 명령어를 붙여줘야해요.
[break의 기능]
#1 멈춤의 기능
#2 경우의 수의 영역을 표시
[계산기]
=> switch문으로 바꾸기
연습을 할때는 if문을 switch문으로 바꿔서
switch문을 if문으로 바꿔서 연습을 꾸준히 하시는게 좋아요!
이렇게 조건문을 사용하면 조건에 맞게 처리값이나 출력을 다르게 할 수 있습니다.
다음에 포스팅에서는 반복문을 할텐데 반복문과 조건문을 알맞게 사용한다면 초기값, 연산을 보다 쉽게 간단한 코딩으로 하실수있어요^^
'기초 > C,C++' 카테고리의 다른 글
[C/C++] ★찍기 //별찍기 (0) 2017.02.20 [C/C++] 반복문 (0) 2017.02.20 [C/C++] scanf (0) 2017.02.15 [C/C++] 형변환 (0) 2017.02.15 [C/C++] C언어 키워드 (0) 2017.02.15