티스토리 뷰

C언어

C언어 연산자/조건문

블로그 강승 2021. 3. 11. 17:14

C언어 연산자/조건문

C언어 연산자/조건문에 대한 요약이다. Do it! C언어 입문(저자:김성엽) 이란 책을 통해 공부했으며, 책의 카테고리를 바탕으로 필자가 이해한 내용을 요약하는 글이다. 내용이 궁금하거나 찾아야 할 내용이 있으면, 필자가 정리한 글을 다시 보면서 복습하기위해 작성했다. 바로 아래에서 글을 확인하도록 하자.

 

대입 연산자

'=' 임
※ 같다의 의미는 '=='임.

 

나머지 구하는 법

'%'를 사용하면 됨.

int result;

result = 5%3
printf("나머지는 %d 입니다.",result);
/*결과출력 : 나머지는 2 입니다. */

 

증감 연산자

int i=5;

i=i+1;
i++;
/*둘다 같지만 i++;가 한번만 처리하는거라 
1씩 증가하거나 감소할땐 증감연산자를 쓰면좋음*/ 

 

전위형과 후위형

int i=5;

result=i++ + 1;
/* 결과값 : result=6 , i=6 */

i=5;
result =++i + 1;
/* 결과값 : result=7, i=6 */

 

관계 연산자

결과 값이 참과 거짓으로 나온다. '참'은 1, '거짓'은 0으로 처리

관계 연산자 연산 특성 관계 연산자 연산 특성
A<B A가 B보다 작으면 참 A>B A가 B보다 크면 참
A<=B A가 B보다 작거나 같으면 참 A>=B A가 B보다 크거나 같으면 참
A==B A와 B가 같으면 참 A!=B A와 B가 같지 않으면 참

!(논리 연산자)는 부정(Not)을 의미함.

 

논리연산자

A B A&&B A||B !A
거짓 거짓 거짓 거짓
거짓 거짓
거짓 거짓 거짓

'&&' 는 A와A 둘 다 참이어야 참. 그 외엔 다 거짓임.
'||'는 A와B 둘 다 거짓이어야 거짓. 그 외엔 다 참.
※A와B 두 개를 판단하기 전에 A만으로도 참 거짓을 판단할 수 있는 상황이면 B는 아예 보지 않음.

data>3 && data++;
/* data가 2라는 가정을 하면 왼쪽이 거짓이되고
오른쪽 항을 볼 필요도 없이 &&은 거짓이기 때문에 data++는 실행이 안됨. */

 

if 조건문

if(조건문) 명령문1;

if(조건문){
명령문1; 명령문2;
}

if(조건문){
명령문1;
명령문2;
}else{
명령문1;
명령문2;
}

if(조건문) 명령문1;
else if(조건문) 명령문2;

/*이런식으로 단항, 복합문({}이용) 모두 가능하다 */

 

조건 수식 연산자

결과값 = (조건수식) ? 수식1: 수식2;

조건 수식이 참이면(1) 수식1이 결과값에 대입,
조건수식이 거짓(0)이면 수식 2가 결과값에 대입.

 

switch 조건문

일반적으로 if문을 많이 쓰지만 변수 값이 이미 정해져 있는 상수들과 비교할 때는 switch 조건문이 훨씬 효율적이다.

switch( 수식 또는 변수){
case 상수1 : /* 상수1인 경우 명령문2;를 실행하고 break를 만났으므로 switch를 빠저나감 */
명령문2;
break;
case 상수2 : /* 상수2인 경우 명령문3;을 실행하고 break가 없으니 */
명령문3;    /* 바로 아래의 명령문4;까지 실행하고 break를 만나서 switch를 빠저나감 */
case 상수3 :
명령문4;
break;
dafault : /* case에 해당하는 상수가 없는경우 dafault로 가서 명령문5;를 실행하고 빠저나감*/
명령문5; /* 마지막엔 break가 없어도 빠저나가짐 */
break;
}

 

글을 마음대로 배포하셔도 되지만, 출처(링크)는 반드시 남겨주시기 바랍니다.

'C언어' 카테고리의 다른 글

C언어 지역 변수/전역 변수  (0) 2021.03.12
C언어 반복문/시프트 연산자/비트 연산자  (0) 2021.03.11
C언어 함수/표준출력함수  (0) 2021.03.11
C언어 자료형/상수  (0) 2021.03.10
C언어와 프로그램  (0) 2021.03.10
댓글