본문 바로가기

Programming/C language

Chapter 06, 07. 제어문, 반복문 (내용 요약)

제어문 

Program의 흐름을 (조건식을 근거로 하여) 변경하는 구문 


if문의 중첩 


다중 if 문  ->  비교횟수 증가  ->  처리 시간 감소  

즉, 성능 감소를 유발한다.  


해결책)

1. 2분할 (BinarySearch 처럼 반씩 자르는 방식, 정렬이 필요하다) 

2. Lookup-table ( p.315 )


goto

예외처리에 종종 사용하기도 한다. 


식별자 우선순위 

stack을 그려보자 



BreakPoint 


1. Position break point : 특정 위치에 break를 하는 break point 

2. Condition break point : 특정 조건을 만족할 때 break를 하는 break point



반복문

일정구간 code를 반복적으로 실행 

반복에서 가장 중요한 것은 '반복을 멈추기 위한 조건'이다. 


while vs for 

while - 조건 기반 반복문

for - 계수 기반 반복문 ( 반복 횟수가 구문 하나에서 완벽히 드러난다는 장점을 가짐 )


break vs continue 

break - 반복문 밖으로 빠져나가기 위한 키워드

continue - 이번 반복을 무시하고 다음 반복을 시작하는 키워드 

제어로직의 겹침(knot)이 증가함 (흐름의 복잡도가 증가) 

가급적 사용하지 말자. 


반복문 안에서 변수를 선언하지 말자. 



scanf에서 같은 자료형의 데이터를 여러번 입력받는다면 "%d %d"처럼 띄워도 되지만 

서로 다른 문자열을 입력받는다면 띄우면 안된다.




- 출처 : 독하게 시작하는 C 프로그래밍 (최호성, 루비 페이퍼)