소프트웨어/C 언어 38

[C언어]18. 헤더파일이란 무엇인가 ( 헤더파일을 만드는 법 )

안녕하십니까. 리습입니다. 지금까지 프로그램을 만들면서 간단한 기능은 만들거나 #include 를 이용해서 헤더파일을 불러오는 방식으로 새로운 기능을 쓸 수 있었습니다. 하지만 아직 헤더파일이 어떤것인지 잘 알고 있지 못합니다. 필요한 기능이 있다면 손쉽게 불러와 사용하던 헤더파일. 이번시간엔 헤더파일에 대하여 알아보도록 하겠습니다. 헤더파일은 메뉴판이다. 우리가 음식점에 가게되면 처음 보는 것은 메뉴판입니다. 처음 음식점에 가게되면 어떤 음식이 있는 지도 모르고 어떻게 나올지도 모르기때문에 메뉴판을 보고 음식을 고르게됩니다. 그리고 종업원에게 선택한 음식을 말해주게 되죠. 이런 과정은 음식점의 입장에서도 소비자의 입장에서도 매우 좋습니다. 메뉴판만 있다면 다른 부가적인 설명이나 표현을 안해도 된다는 것..

[C언어]17. 변수의 계산방법, 연산자에 대하여 알아보자. -5- ( 연산자 우선순위 )

안녕하십니까. 리습입니다. 지금까지 다양한 연산자를 알아보았습니다. 또한 연산자는 공구와도 같다 라고 말씀드렸습니다. 그런데 여러가지 연산자를 한거번에 쓸경우 사용한 사람과 컴파일러가 다르게 이해할 수도 있습니다. 예를 들어 우리가 2 * 3 + 1 이라고 입력하였을 때 컴파일러는 2 와 3을 곱한후 다음에 1을 더할 것입니다. 하지만 우리의 의도가 3과 1을 더한후 2를 곱하는 것이였다면 우리가 원하는 결과 값을 얻지 못하게 되는 것이지요. 이렇게 컴파일러가 우선적으로 처리하는 연산자의 순서가 있습니다.그것을 연산자 우선순위라고 합니다. 연산자 우선순위 우리가 곱하기를 더하기보다 먼저 계산하고 생각하는 것 처럼 프로그램에서도 연산자에대한 우선순위가 존재합니다. 이 연산자의 순서는 우리가 알고있는 수학적..

[C언어]16. 변수의 계산방법, 연산자에 대하여 알아보자. -4- ( 삼항연산자, 조건연산자 )

안녕하십니까. 리습입니다. 이제 연산자에 대한 것도 마지막입니다. 마지막으로 삼항연산자에 대하여 알아보도록 하겠습니다. 삼항연산자는 연산을 하는데 3개의 항이 필요하다고 해서 붙여진 이름입니다. 또한 많은 종류가 존재하지도 않습니다. 조건연산자 ( ? : ) 조건 연산자는 특정 조건에 대하여 맞는지 틀린지 판독을 한후 그 값을 내보내주는 연산자입니다. 조건식을 쓴후 ? 를 한후에 맞을경우 : 앞의것을 보내주고, 틀릴경우 : 뒤의 것을 보내주는 것입니다. ? : 우리가 질문 하는 것처럼 직관적으로 ? 를 쓰기 때문에 매우 보기에도 좋습니다. 간단한 조건문에는 if문을 쓰는것보다 조건연산자를 쓰는것이 보기 좋을때도 많습니다. ( 절대값을 return 하는 구문이다. 매우 직관적이고 읽기 좋다. ) 연산자는 ..

[C언어]15. 변수의 계산방법, 연산자에 대하여 알아보자. -3- ( 이항연산자 )

안녕하십니까. 리습입니다. 이번엔 연산자 중 이항연산자에 대하여 알아보도록 하겠습니다. 이항연산자는 연산을 할때 필요한 항이 2개 인 연산자를 뜻합니다. 즉 하나의 피연산자만으론 연산이 불가능 하다는 것이죠. 하나씩 알아보도록 하겠습니다. 산술 연산자 ( + - * / % ) 산술 연산자는 말 그대로 기본적인 수학 연산을 위해 있는 것입니다. +는 더하기 - 는 빼기 * 곱하기, / 나누기 중 몫, % 나누기 중 나머지 값을 의미합니다. 즉 3+2 는 5라는 값을 의미하고 3 - 2 는 1을 의미하며 3 * 2 는 6을 의미하고 3 / 2 는 몫 1을 의미하며 3 % 2 는 나머지 1을 의미합니다. 산술연산자는 매우 직관적이고 우리가 일상적으로 사용하는 수식과 닮았기 때문에 매우 쉬운 편입니다. 또한 가..

[C언어]14. 변수의 계산방법, 연산자에 대하여 알아보자. -2- ( 단항연산자 )

안녕하십니까. 리습입니다. 이제 연산자에 대하여 상세하게 알아보도록 하겠습니다. 우선 단항연산자입니다. 단항연산자는 하나의 요소만을 가지고 특정한 작업을 하도록 하는 연산기호 입니다. 즉 단항연산자가 영향을 주는 대상은 단 한가지 라는 것입니다. 그럼 단항연산자를 하나하나 알아보도록 하겠습니다. 이중 아직 우리가 배우지 않은 부분은 간단하게 개념만 설명하도록 하겠습니다. 부호연산자 ( + - ) 부호연산자는 변수를 양의 값을 가질지 음의값을 가질지 결정해주는 연산자입니다. 이렇게 말로 써놓으면 어렵지만 우리는 이미 흔하게 사용하고 있습니다. 변수 A 에 음의 값 -1 을 넣기 위해서 우리는 1의 앞에 - 표시를 해주었습니다. 이것과 마찬가지입니다. 부호연산자를 사용하기 위해선 앞에 -를 넣어주기만 하면되..

[C언어]13. 변수의 계산방법, 연산자에 대하여 알아보자. -1- ( 연산자의 종류 )

안녕하십니까. 리습입니다. 지금까지는 논리의 전개방식, 화면에 데이터 출력, 데이터 입력받기 등을 알아보았습니다. 그런데 이렇게 단순히 데이터를 입력받고 화면에 출력하기 뿐만 아니라 컴퓨터가 할 수 있는 일은 더 많습니다. 그래서 이젠 컴퓨터에게 색다른 일을 시키는 법을 배워보도록 하겠습니다. 바로 연산자 입니다. 연산자라고 말하니 어려워 보입니다. 뭐지? 라고 의문을 가질수도 있으실겁니다. 그럼 한번 우리가 일상적으로 하는 돈계산을 예로 생각해보죠 . 1,200 원 짜리 아이스크림 3개를 사먹는데 저한텐 만원짜리가 하나 있습니다. 이때 거스름돈은 얼마일까요? 바로 계산이 가능하시죠? 10000 - (3 X 1200) 입니다. 이때 우리가 사용한 ' - ', ' X ' 가 연산자 입니다. 어떤 계산을 하..

[C언어]12. [실습] 반복문을 이용한 프로그램 만들기. - 트리, 피라미드 모양 출력하기 -

안녕하십니까. 리습입니다. 반복문은 매우 강력한 무기입니다. 사람이 하기 어렵고 컴퓨터가 가장 잘하는 반복을 시키는 명령문이기 때문이죠. 그렇다면 이런 반복문을 사용하는 간단한 프로그램을 만들어보도록 하겠습니다. 이번에 만들어볼 프로그램은 도스 콘솔화면에 트리, 피라미드를 출력하는 프로그램입니다. 1. 트리모양 출력하기 ********************* 먼저 트리 모양 출력입니다. 화면에 ' * ' 을 이용하여 점을 찍어내는 것입니다. 자 그렇다면 이러한 점을 어떻게 찍어낼수 있을까요? 우선 우리는 첫째줄에선 한번 둘째줄에선 2번 셋째 줄에선 3번 이런식으로 증가시켜가면서 ' * ' 을 출력해야 할 것 입니다. 그리고 ' * ' 을 출력한 뒤에는 한줄을 띄어야만 하죠. 이 화면에 출력하는 동작은 여..

[C언어]11. 반복된 일을 계속해주는 반복문에 대하여 알아보자 -3- (do while 문)

안녕하십니까. 리습입니다. 저번가지 반복문중 2개 for , while 을 알아보았고 이번엔 do while 문에 대해서 배워보도록 하겠습니다. 지금까지 알아보았던 for 이나 while 의 경우 조건을 먼저 검사한후 시행을 결정하는 구조를 가지고 있었습니다. 때문에 반복문 맨앞에 조건을 써주었고 그에 따라서 실행되었습니다. 하지만 항상 조건을 먼저 검사할 수는 없습니다. 때에 따라서 한번 실행 한 후 조건을 검사하는 것이 더욱더 좋을 수가 있습니다. 그래서 만들어 진것이 do while 문입니다. do while 의 형태는 다음과 같습니다. 1. 조건식 : while문을 한번더 실행시킬 조건인지 확인한다. 조건식이 참일 경우 한번더 실행된다. 조건식에 TRUE 를 뜻하는 1을 적어서 무한으로 반복시킬수..

[C언어]10. 반복된 일을 계속해주는 반복문에 대하여 알아보자 -2- (while 문)

안녕하십니까. 리습입니다. 지난번엔 컴퓨터에게 반복하는 일을 시키는 for 이라는 것을 배웠습니다. 그렇다면 또다른 반복하는 일 시키는 법을 알아보도록 하겠습니다. for같은 경우 초기값, 조건식, 증감식 을 모두 갖추고 있으므로 for 하나로만으로도 몇번의 반복을 편하게 만들수 있었죠. 하지만 조건이 복잡해지거나 단순한 숫자의 조건이 아닐 경우엔 어떻게 하시겠습니까? 경우를 하나하나 따져서 for문을 전부다 만들순 없으니까요. 그래서 있는 것이 while 반복문 입니다. while문은 단지 증감식으로 횟수를 세는 거니 아니라 반복할때마다 조건을 따지는 반복문입니다. while 의 형태를 보도록 하겠습니다. 1. : 이 while 문이 실행될 조건을 적어준다. 조건이 맞을 경우 밑에 을 수행하게 되고 그..

[C언어]09. 반복된 일을 계속해주는 반복문에 대하여 알아보자 -1- ( for 문, 이중 for 문)

안녕하십니까. 리습입니다. 이제 우리는 컴퓨터에게 일을 시킬 때 "~을 ~할때 해라!" 라고 말할 수 있게 되었습니다. " if "와 함수를 이용해서 말입니다. 그런데 또 일을 시키다보니 문제가 생겼습니다. 모두들 알고 계시듯이 컴퓨터는 반복하는 작업을 가장 잘하는 기계입니다. 그런데 몇번해라! 라고 반복을 시키려고 하니 타이핑을 몇 줄 해야하는지 막막 하실겁니다. 한두번은 써서라도 하겠지만 그 숫자가 100단위를 넘어가고 1000단위로 가게 되면 어떻게 할까요? 그래서 만들어 진것이 반복문입니다. C언어에서는 반복문에는 종류가 3가지 for, do while, while 세가지가 있습니다. 일단 이번엔 for부터 알아보도록 하겠습니다. for 은 숫자로 반복하는 횟수를 제어하는 쉬운 반복문입니다. 명시..