Programming Lecture 4. conditional statement(if else) ~ shift operator (>> <<)
2018년 1월 15일
이번주 월요일에 나는 마이크로소프트 한국지사로 TIPS 4차시 수업을 들으러 갔습니다. 강사는 Tipssoft의 대표이사 김성엽 이사님 이십니다. 대표님은 마이크로소프트 C++프로그래밍 부문 MVP로 활동 하고 계십니다.
이번 수업에서는 조건문 if else 부터 shift연산자 까지 배웠습니다.
If else 조건문 : if문은 기계어가 처리하기 매우 무거운 명령작업 입니다. 따라서 if문법을 여러 번 쓰면 처리 효율이 매우 비효율적이게 됩니다. 이런 단점을 보완하고자 반대의 경우를 else로 묶게 되었습니다. 또한 if와 else의 구조로 한눈에 조건이 들어와서 가독성의 효율도 상승하였습니다.
지금까지의 알고리즘과 다르게 if~else문법을 사용하면서 프로그램의 분기점이 생겼습니다.
예를 들어 아래 그림과 같은 코드가 있다면
아래와 같이 알고리즘 순서도를 생각할 수가 있습니다.
이는 앞으로 프로그래밍을 공부하는데 매우 중요한 사고방식으로, 프로그래밍을 순차적으로 할 수 있도록 도와줍니다.
If~else문법과 비슷한 역할을 하는 연산자가 있습니다. 조건 수식 연산자 입니다.
조건 수식연산자는 단일 명령만 내릴 수 있는데 if~else문보다 간단하게 쓸 수 있다는 장점이 있습니다.
If~else문법이 만약 꼬리에 꼬리를 물게 된다면 else와 if가 이어지는 부분을 else if(조건)으로 줄여 쓸 수 있습니다. 이는 보통 중첩 if문에서 많이 사용하게 되는데 이를 사용하면 구조적으로 많이 간단해지는 장점이 있습니다.
Switch 조건문 : if문보다 상수의 case에 한해서 가독성과, 처리속도가 조금 더 빠릅니다.. case마다 break;를 마지막에 붙여주지 않으면 다음case를 넘어가게 되고 break;가 나오거나 마지막까지 가면 switch문을 탈출하게 됩니다.
===========================================================
반복문 : 지정한 작업을 반복해서 수행시키는 문법
반복문에 반드시 필요한 요소 : 시작조건, 조건변화, 종결조건
반복문의 구성방법 3단계
(ex. for문을 이용한 구구단 출력 프로그램 만들기(중첩 반복문))
1단계 : 변수의 개수 파악하기
구구단은 두 숫자가 곱하여서 하나의 숫자가 나옵니다. 두 숫자는 2~9까지 변화하여야 합니다.
따라서 곱셈에 사용될 변수2개, 결과를 저장할 변수 1개가 필요합니다.
2단계 : 중복된 변수 제거하기
결과를 저장할 변수는 곱셈에 사용될 변수2개를 곱한 값으로 출력을 하면 사용하지 않을 수 있습니다. 따라서 결과를 저장할 변수 1개는 사용하지 않아도 됩니다.
3단계 : 반복문 구성하기
reference. 반복의 흐름을 제어하는 문법
break문 : break가 소속되어있는 반복문을 탈출시킨다.
Continue문 : continue가 소속되어있는 반복문을 한번 아무 명령도 내리지 않고 loop한다.
비트연산자 : 숫자상수를 2진수로 전환했을 때 (비트로 변환했을 때) 각 비트를 제어할 수 있는 연산자 입니다.