C에서는 동작하는 과정을 나눠지는 기능으로 제공하는 '조건문'이 있다.
참과 거짓으로 처리하는 if문과 특정 값에서 이동하는 switch문이 있다.
if문
if문은 if( 조건 ) 으로 구성되며, 조건이 참(0이외의 값)과 거짓(0)으로 적용된다.
1
2
3
|
if( a ){
// a가 1이상일경우.
}
|
cs |
이렇게 되면, // a가 1이상일 경우에 관련된 동작을 작업할 수 있다.
조건에 맞지 않을 경우엔 else을 사용한다.
1
2
3
4
5
|
if( a ){
// a가 1이상일경우.
}else{
// a가 0일 경우.
}
|
cs |
여기서 조건이 맞지 않았지만, 다른 조건일때 처리하는 방법으론 else뒤에 if(조건)을 넣는다.
1
2
3
4
5
6
7
|
if( a ){
// a가 1이상일경우.
}else if( b ){
// a가 0이지만, b는 1이상일 경우.
}else{
// a와 b가 모두 다 0일 경우.
}
|
cs |
여기서 이런 경우가 있을 수 있다.
a가 1, 2, ,3 ,4가 될 경우가 있다고 해보자.
그러면, if문을 사용할 경우엔 다음과 같아진다.
1
2
3
4
5
6
7
8
9
|
if( a == 1 ){
// a가 1일때
}else if( a == 2 ){
// a가 2일때
}else if( a == 3 ){
// a가 3일때
}else if( a == 4 ){
// a가 4일때
}
|
cs |
이럴때, if else로 조건문을 매번 확인해서 이동하는 것이 아니라.
특정 값에만 이동하도록 만드는 방법이 있는데.
그것이 바로 switch문이다.
switch문은 다음과 같이 적용된다.
1
2
3
4
5
6
7
8
9
|
switch( 값 ){
case 특정값:{
break;
}
default:{
// 값이 프로그래머가 정의 내리지 않는 값일 경우.
break;
}
}
|
cs |
이걸 전체적으로 다 적용한다면, 다음과 같이 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv){
unsigned int a = 0;
unsigned char steps = atoi(argv[1]);
if(steps > 3){
a = 100;
}else{
switch(steps){
case 0:{
a++;
break;
}
case 1:
case 2:{
a = 5;
break;
}
case 3:{
a = 15;
break;
}
}
}
printf("a: %d", a);
return 0;
}
|
cs |
이렇게 하면,
실행파일 뒤에 추가적으로 넣은 argv의 값을 보고(숫자가 들어가야된다.), 그 값에 맞춰서 a의 값을 정하여 값이 출력하게 된다.
'프로그래밍 > C 언어' 카테고리의 다른 글
[C] 연산자 (0) | 2024.02.16 |
---|---|
[C] 상수와 변수 (0) | 2024.02.15 |
[C] 기본적으로 지원해주는 출력 (0) | 2024.02.14 |
[C] 기본 구조 (1) | 2024.02.13 |