본문 바로가기

C언어23

C언어 // 알아두면 쓸모 있는 지식 1. 조건문에서 범위 나타내기 초보자들이 자주 실수하는 부분이나 흥미를 가질만한 주제를 가지고 이 시리즈를 연재할 예정이다. 전체적인 구조가 정해져 있는 것은 아니고 그때그때 생각나는대로 적을 생각이다. C언어 기초 시리즈와는 별개로 진행된다. 첫 번째로 우리가 하고자 하는 것은 if같은 조건문 안에서 변수 v의 범위를 a < v < b 이런 식으로 정하고 싶을 때 어떻게 해야하는가? 가장 먼저 다음과 같은 코드를 떠올릴 것이다. if (a < v < b) 이 코드는 우연히 원하는 결과를 얻어낼 수 있을 지 몰라도 절대로 맞는 코드가 아니다. 항상 원하는 결과를 얻기 위해서는 다음과 같이 짜야 한다. if (a < v && v < b) 그렇다면 a < v < b는 왜 틀리며 그럼에도 에러가 뜨지 않는 이유는 무엇인가? 편의를 위해 a.. 2019. 7. 27.
C언어 기초 2. C언어 코드 맛 보기 본격적으로 C언어를 공부하기에 앞서 가장 간단한 C언어 코드 하나를 소개하겠다. #include int main(void) { printf("Hello, World!"); return 0; } 글 쓰는 여건상 결과를 출력하지 못 하는 점 양해 바란다. 위 코드의 출력은 다음과 같다. Hello, World! 당장 이 코드를 전부 이해할 필요는 없다. 다만 어떤 구조인지만 대략적으로 살펴보자. 위의 코드는 두 가지 부분으로 나눌 수 있다. #include 부분과 main이라는 이름을 갖고 중괄호{}로 둘러싸여 있는 부분이다. #include 는 이 프로그램이 stdio.h라는 도구를 포함(사용)하겠다는 뜻이다. 입문자들이 자주 오타를 내는 부분으로 studio가 아니라 stdio인 것에 유의하라. (STa.. 2019. 7. 27.
C언어 기초 1. C언어란 무엇인가? 프로그래밍이란 무엇일까? 우리는 컴퓨터를 통해 우리의 일을 보다 쉽게 처리하고 싶다. 컴퓨터는 0과 1로만 이루어진 기계어를 사용하기 때문에 명령을 내릴 때에도 기계어를 사용해야 컴퓨터가 이해할 수 있다. 하지만 사람은 기계어를 이해하기 어렵고 컴퓨터는 사람의 언어를 이해할 수 없다. 그래서 C언어와 같은 프로그래밍 언어를 이용하여 컴퓨터에 명령을 내리는 것이다. 우리가 알아야할 사실이 하나 더 있다. 컴파일러의 존재다. 사실 컴퓨터는 C언어를 이해하지 못 한다. 프로그래밍 언어를 기계어로 변환하는 과정을 컴파일이라고 하고 이를 수행하는 녀석을 컴파일러라고 한다. 그리고 컴파일이 완료되면 우리가 내린 명령에 대한 결과를 보여준다. C언어의 가장 큰 특징은 메모리를 관리할 수 있다는 점이다. 당장은 이해하.. 2019. 7. 14.
C언어 기초 0. content&머리말 머리말 이제는 C언어에 대한 많은 정보가 한글로도 찾을 수 있습니다. 저도 C언어에 대한 지식을 공유하고자 합니다. 이 강의노트(?)를 쓰는 저의 목표는 다음과 같습니다. - 끝까지 작성할 것 - 반드시 필요한 것 위주로 작성할 것 - 되도록 쉽게 작성할 것 - C언어를 배우는 목적과 공부 방향을 제시할 것 글은 먼저 최대한 짧게 쓰고 C언어를 배웠다면 몰라서는 안 될 내용들을 먼저 구성합니다. 그 다음 2차로 쓰게 된다면 사용빈도가 낮으나 알고있어야 할 내용들과 알아두면 유용한 기술들(사실 라이브러리 함수를 말하는 것이나 이것은 지금 이해하지 않아도 됨.) 그리고 공부하면서 풀어보면 실력 향상에 도움이 될 문제들을 소개하고 풀이를 올리도록 하겠습니다. 여러분이 C언어를 배우는 목적이 있을 것입니다. C.. 2019. 7. 14.
C언어 공부, 어떻게 해야할까? C언어는 다음과 같은 특징을 갖고 있다. - 타 언어에 비해 빠르다. - 저수준 언어다. (수준 떨어지는 언어라는 뜻이 아니라 하드웨어, 기계어에 가까울수록 저수준이라고 부른다. 고급 언어다, 저급 언어다 글 쓰는 곳마다 다른데 어셈블리어 - 기계어와 가장 가까운 언어- 로 코딩을 하진 않으니 본인은 저급, 저수준 언어라고 부른다.)- 절차지향적이다.- 버그가 발생하기 쉽다. 첫 언어로 C언어를 공부하는 것도 나쁘지 않은 선택이다. 많은 언어들이 C언어에서 파생되었고 많은 컴퓨터 관련 서적이 C언어를 기반으로 작성되었기 때문이다. (자료구조, 알고리즘, 소켓 프로그래밍은 C언어로 작성된 서적이 많다.) 처음 배울 때에는 낯선 것에 대한 어려움이 있고 뒤로갈수록 내용 자체가 어려워 포기할 수도 있는데 열심.. 2019. 1. 22.