안녕하세요, 어서 오세요 새 섹션을 시작해 컨트롤에
관해 얘기할 거예요 흐름 제어 흐름은 기본적으로
조건문, 문, if문과 프로그램에서의
결정을 다룹니다 그리고 반복 코드도 다루는데 그건 반복문이죠
이건 중요한 섹션입니다 이건 대부분의 언어에서 사용되는 근본적인
프로그래밍 테크닉이죠 어떻게 c에 구체적인지 얘기할 거예요
개요를 설명하기
위해 구문과 예제로 넘어가기 전에
프로그램 관점에서 제어 흐름이 뭔지 말씀드리죠
소스 파일 내의 구문은 일반적으로 보이는 순서대로 위에서 아래로
실행됩니다 순차적이라고 하죠
이런 진술이 있잖아요 문장 안팎의 표현에 대해
배웠지만 처음부터 끝까지 읽어야 해요
지금까지 알아낸 건 그게 다예요
한 번도 뛰어본 적 없어요 처음부터 끝까지 자동으로 반복되는 작업은
처음이에요
하지만 제어 흐름문은 실행 흐름을 분산시킵니다 의사
결정, 질문, 반복 코드, 루프링 그리고
분기를 추가해서요
프로그램이 특정 코드 블록을 조건부로
실행할 수 있게 해주죠
주요 기능의 상단에서 시작해 하단으로 가는 게 아니죠
왔다 갔다 하시네요
확장할 수도 있고 코드 블록 안팎으로 점프할
수도 있죠 프로그램의 코드는
좀 더 복잡해질 거예요
제어 흐름 의사 결정 문에서 우리가
얘기했던 거죠 여기서 질문을
하면 참 혹은 거짓 대답을 듣게 되죠
C#에서 지원되는 건 if decision
문과 if else가 있고 switch
문과 go 문도 있어요
전부 의사 결정 발언이에요 C에 있기 때문에 여기에
놓을게요.
사용하고 싶지 않을 거예요 간략하게 말씀드릴게요
프로그래머가 레이블에 하드 코딩할 그런 거죠
C 언어에서 지원되는 반복문도 있어요
키워드 4개, while 키워드 do while 키워드요
그게 세 가지 유형의 루프예요 루프는 코드를 반복해요
분기점도 비슷해요 보통 루프나
결정 안에서 사용되죠
브레이크 계속하기 리턴 같은 거죠
그래서 이 섹션에서는 강의의 결정과 루핑에 관해 집중적으로 살펴볼
겁니다 브레이킹에 관해서도 잠시 얘기할 거고요
아주 중요한 강의죠
결정을 내려야 해요 프로그램 안에서 이게 무슨 의미일까요?
지금까지는 기본적으로 변수를 만들고 선언하고
계산을 수행했죠
하지만 논리적으로 결정하진 않았어요
의사 결정 개념은 프로그래머가 한 가지 이상의
조건을 프로그램에 의해 평가 및 테스트하도록
요구하는 거죠
본질적으로 발생하는 일은 프로그램 안에서 질문을 하는 거죠 그게 논리예요
그 질문에 대한 조건이나 답이 참이면 몇
가지 코드를 실행합니다
몇 가지 문장을요 그 질문에 대한 답이 거짓이면
다른 구호를 실행할 수도 있고 아무것도 안 할 수도 있어요
여기 데이터 흐름 다이어그램이 있습니다 프로그램에서 의사
결정의 개념을 보여주고 있죠 당신에겐 병이 있어요
조건에 대한 대답에 따라 참이든 거짓이든 코드를
실행하거나 하지 않게 되죠
그때그때 달라요 좀 더 복잡해지지만 이게 여러분이 프로그램에서
결정을 내릴 수 있는 기본 구조예요
이게 의미하는 건 소스 코드 안에서 코드를 생략할 수도 있다는 거죠
질문에 대한 답에 따라 참인지
거짓인지에 따라서요
그래서 c에 의해 지원되는 문은 if 문이죠
if문에는 특별한 키워드가 있어요
이것에 관해 상세히 얘기하고 예제를 제공할
건데 이 구문은 근본적으로 그 질문을 할 거예요
괄호 안에 불리언 식을 넣을 거예요
불 표식이 뭔지 알아요
기본적으로 참 또는 거짓 값을 반환할
수 있어요 식을 제외하고
참 또는 거짓 값을 반환하는 문이죠 하나 이상의
문을 본문 안에 가질 수 있어요 if 문이요
다른 방법도 있어요
이건 if문이고 그 다음에 옵션 else가 있어요
사실이면 이렇게 해요 거짓이면 다른 걸 해요
그리고 중첩된 if문도 있어요
다른 if문 안에 if문이 있을 때죠
질문을 여러 개 할 수도 있어요
구체적인 예제와 문법에 대해
상세히 알려드릴게요 현재로선 개요를 설명하려는 거예요
반복 코드는 또 다른 통제 흐름 메커니즘이죠 더는 순차적으로
진행되는 게 아니니까요
반복 코드는 같은 코드를 여러 번 실행하게 되죠
코드 블록을 여러 번 실행해야 하는 상황이 발생할 수 있습니다 구문은
순차적으로 실행됩니다 함수에서
첫 번째 구문이 먼저 실행되고 그 다음이 다음이죠
상황에 따라 다르죠 루프 본체의 코드 블록 같은 거죠
루프 문은 구문이나 그룹 구문을 여러 번 실행하게 해줍니다
각 구문이 그렇게 여러 번 반복되지 않더라도요
루프 제어문은 실행을 일반 시퀀스에서 바꾸죠
실행이 범위를 벗어나면
그 범위에서 생성된 모든 자동 개체는 파괴돼요
변수와 관련해 범위를 정하는
거예요 기본적으로 루프 본부에서 로컬
변수가 있을 땐 루프 외에는
접근 못 한다는 거죠
조건이 거짓이 되지 않으면 루프는 무한 루프가 되죠
그 말은 여러분의 프로그램이 멈춘다는 거죠 코드를 계속 반복해서
실행할 테니까요 실제로 종료하지 않죠
가끔은 그렇게 해야 해요
뭔가를 관찰하거나 귀를 기울일 때요
그걸 실제로 구현하는 방법은 for 루프를 이용하는 거죠 while
루프도 사용할 수 있어요
무한 루프가 왜 필요한지 그 의미는 다음 강의에서
다루죠
루프의 데이터 흐름은 이렇게 생겼어요
상태를 확인해야죠 조건이 참이면 코드를
실행합니다 그런 다음 조건이 거짓으로 판명될 때까지
몇 번이고 반복하는 거죠
조건이 거짓으로 판명되면 루프에서 빠져나오죠
c에서 지원되는 루프는 while 루프와 for 루프, do while 루프죠
특별 키워드요
while 루프는 한 문장이나 문장 그룹을 반복하는 겁니다
주어진 조건이 참인 동안에요 조건은 괄호 맨 위에 있어요
조건은 루프 바디를 실행하기 전 상단에서 테스트하는 거죠
서로 다른 세 가지 유형의 루프가 지원된다고 해도 다른 것보다
하나를 더 사용할 수 있죠 while 루프는 거의 같습니다
다른 구문만 있을 뿐이죠 여러 가지를 다르게 할 수 있어요
Do while 루프는 달라요 하단에
테스트가 있으니까요 적어도 한 번은 루프를 실행할 것을 보장합니다
루프의 본질은 말이죠
나중에 또 얘기하겠지만요 루프는 특수 키워드죠 시퀀스 문을
여러 번 실행해요 기본적으로 더
쉬운 구문을 갖고 있죠 루프 컨트롤 변수와 조건을 한 문장에서
초기화할 수 있어요
while 루프는 말씀드린 대로 약간 달라요
테스트 후 루프거든요 종료 통제 루프죠 루프의 본체에
적어도 한 번은 들어가야 한다는 뜻이에요
중첩된 루프도 얘기할 거예요 이건 다시 루프 안의 루프입니다
if문에 중첩된 것처럼요 if문 안의 if문처럼요 루프에도
똑같이 적용됩니다 때때로 이게 요구되고 복잡해질 수
있다는 걸 알게 될 거예요 하지만 프로그래밍엔
필수죠
다양한 제어 흐름 메커니즘에 대한
간략한 개요와 C#이 지원하는 키워드가
실제로 구현되죠
이제 예제를 들면서 의사 결정에 대해 얘기해보죠
고마워요