프로그래밍
[C언어 강좌-9] 반복문 (Loop)
안녕하세요 피터입니다.오늘은 C언어의 반복문에 대해 알려드리겠습니다. 개요 반복문은 어떠한 동작을 반복적으로 수행하고자 할 때 사용합니다. 주로 처리해야 하는 데이터가 여러 개인 경우에 효율적으로 처리하기 위해서 씁니다. 순환구조를 갖기 때문에 루프(Loop)라고 부르기도 합니다. 많이 사용되는 표현 중에 영원히 순환하는 루프를 무한루프(infinite loop)라고 하는데 한자와 영어의 합성어로 재미있는 표현입니다. 루프는 대부분의 프로그램에서 필수적으로 들어가는 요소 중에 하나입니다. 일회성으로 기능하고 바로 종료되는 프로그램을 제외하면 사용자가 별도로 종료를 시키기 전까지 계속 실행되는 프로그램들이 훨씬 더 많기 때문입니다. 그러면 지금부터 C언어에서 루프가 어떤식으로 사용되는지 알려드리겠습니다.C..
[C언어 강좌-8] 조건문 (IF, SWITCH)
안녕하세요 피터입니다.오늘은 C언어의 조건문에 대해 알려드리겠습니다. 주어진 조건에 따라 분기한다고 해서 분기문이라고도 하는데요, 아래와 같이 크게 세가지 종류가 있습니다. If / ElseSwitch / Case? operator 동작 원리는 거의 같지만 가독성이나 코드의 유연성을 고려하여 상황에 따라 적절하게 사용하시면 됩니다. 1. If / Else if 구문의 기본적인 문법은 다음과 같습니다.if(condition) statement;위 코드를 "만일(if) 조건이 만족하면 statement를 실행하시오." 라고 이해하시면 됩니다. 조건이 만족하는 기준은 condition이 참(true)가 되는 경우입니다. C언어에서 조건문의 참(true)은 0이 아닌 모든 수가 해당되며, 반대가 되는 거짓(fa..
[Vim] 범위 지정하기
안녕하세요 피터입니다.오늘은 vim에서 범위를 지정하는 방법을 소개해드리겠습니다.앞어 강좌에서 복사, 붙여넣기, 삭제 등의 기능을 살펴봤는데요. 이 기능들을 좀 더 효과적으로 사용하기 위해서는 범위 지정에 대해 알고 있어야 합니다. 범위 지정하기vim에서 범위를 지정하는 방법은 크게 두 가지 방법이 있습니다. 첫 번째 방법은 명령행 모드에서 명령어를 입력할 때 범위를 지정하는 방법이고, 두 번째 방법은 비주얼 모드에서 범위를 선택해서 지정하는 방법입니다. 명령어를 특정 범위에 적용하는 동작은 같지만 사용하는 방법이 다릅니다. 한 가지 방법만 알고 있어도 사용하는데 크게 문제는 없으나, 상황에 따라 더 편리한 방법이 존재하고 별로 어렵지도 않으니 두 가지 방법 모두 익혀두시고 사용하시기 바랍니다. 명령행 ..
![[Vim] 이전 명령어 반복 수행](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuW2pr%2FbtqznQDH9Tl%2FZKO9OijFS5hmzj87zLOKfk%2Fimg.png)
[Vim] 이전 명령어 반복 수행
안녕하세요 Peter입니다. 오늘은 Vim에서 이전에 했던 동작을 반복하는 명령어를 소개해드리겠습니다. 바로 마침표(.) 명령인데요. 이 명령어를 통해 이전 작업을 계속 반복시킬 수 있습니다. 반복되는 이전 작업은 다음과 같습니다. 동작모드 반복되는 이전 작업 일반모드 바로 전에 실행된 명령어 키 반복 입력모드 키를 누르기 전까지 입력된 내용 반복 예를들면 일반모드에서 o 키를 눌러 입력모드로 전환한 뒤 "test" 라고 입력하고 키를 눌러 일반모드로 돌아온 뒤, 마침표 '.' 키를 누르면 한 행이 개행되면서 "test"라고 입력되는 것을 볼 수 있습니다. 마찬가지로 일반모드에서 dd 를 눌러서 한 행을 삭제 한 다음 마침표 '.' 를 누르면 dd 명령을 실행했을 때와 마찬가지로 한 행씩 삭제되는 것을 ..
[Vim] 복사(Copy), 붙여넣기(Paste), 삭제(Delete), 실행취소(Undo)
안녕하세요 피터입니다.오늘은 문서 편집시 필수 기능이라고 할 수 있는 복사, 붙여넣기, 삭제, 실행취소 기능에 대해서 설명드리겠습니다. Vim 의 편집 기능코딩을 포함해서 문서 작업을 하다 보면 이전에 썼던 내용을 재사용해야 하는 일이 비일비재하게 일어납니다. 매번 같은 문장을 타이핑하기에는 에너지와 시간이 많이 낭비되죠. 그래서 대부분의 문서 편집기에는 일명 복붙이라고 칭하는 복사, 붙여넣기 기능이 존재합니다. 여러 행을 한번에 삭제하는 기능도 필수적이구요. 또한 작업을 하다가 실수로 잘못 지우거나 덮어쓰는 경우 이전 상태로 돌아가는 기능이 필요할 때가 많습니다. 실행취소 기능 또한 대부분의 문서 편집기에 포함되어 있습니다. (심지어 이런 기능은 메모장에도 있습니다) 그런데 텍스트 에디터계의 조상뻘인 ..
[C언어 강좌-7] 연산자 (Operator)
안녕하세요 피터입니다.오늘은 C언어에서 사용되는 연산자(Operator)에 대해서 알려드리겠습니다. 연산자란 컴파일러에게 특정한 수학적 or 논리적 동작을 수행하도록 알려주는 기호(Symbol)입니다. C언어에는 아래와 같은 다양한 연산자들이 제공되고 있습니다. 연산자의 종류별 설명과 쓰임새에 대해 다루고 각 연산자들이 갖는 우선순위에 대해 설명드리겠습니다. 1. 연산자 종류1.1. 산술 연산자 (Arithmetic Operator)가장 익숙한 산술 연산자부터 살펴보겠습니다. 산술 연산자는 말 그대로 수학적인 계산을 하는데 필요한 연산자들입니다. C언어에서는 다음과 같이 사칙연산을 포함한 다양한 산술 연산자를 제공합니다. 예제는 A = 10, B = 20 일때 결과입니다. 연산자 설명 예제 + 두 값을 ..
[C언어 강좌-6] 기억 영역 분류 (Storage Class: auto, register, static, extern)
안녕하세요 피터입니다.오늘은 C언어에서 사용되는 Storage Class에 대해 설명드리겠습니다.기억 영역 분류 (Storage Class) Storage Class는 C언어에서 기억 영역을 분류하기 위해서 사용되는 용어입니다. 이 용어는 한글로 번역하기가 애매한 부분이 있는데 일반적으로 기억 영역 분류 또는 기억류 라고 번역되어 쓰이고 있습니다. 이 stroage class는 class 라는 단어가 들어있습니다만, 여기서의 쓰임새는 C++ 의 'class' 키워드와는 전혀 관련이 없습니다. 단지 어떤 것의 종류를 의미하는 사전적인 의미로 class가 쓰인 것입니다. C언어의 storage class에는 auto, register, static, extern 4가지 종류가 있습니다.각각의 class는 상..
[Vim] 커서 이동
vim에서 커서 이동하기vim가 개발된 시기에는 마우스가 없었기 때문에 커서를 조작하기 위해서는 키보드를 이용해야 합니다. 일반적으로 키보드의 화살표 키나 PageUP/Down, Home, End 키 등을 사용해서 커서이동을 할 수 있습니다. 그런데 vim에서는 이 밖에도 별도의 영문 키로 커서 이동이 가능한데요, 이것은 vim이 개발되던 당시의 키보드는 텐키(키보드 우측에 숫자가 있는 부분)나 화살표 키 등이 없는 형태였기 때문에 별도의 키로 구현이 된 것입니다. 요즘 나오는 키보드에 화살표키가 없는 경우는 굉장히 드물지만 오른손의 동선을 최소화할 수 있고 향후 포스팅할 자동화 매크로 기능에서도 영문자 키를 이용한 커서 이동이 활용되기 때문에 알아두시는게 좋습니다. vim 에서 사용되는 모든 명령은 대..