C언어

· C언어
1. 프로그램 만들기 1.1 컴파일 과정 3단계 1) 1단계 전처리 사용자가 작성한 소스파일을 처음에 가공하는 과정이다. #include가 전처리 지시자이며 이후에 작성하는 등의 헤더 파일, 즉 라이브러리를 불러올 수 있다. 이로써 외부에 있는 함수를 직접 정의하지 않아도 사용할 수 있다. 전처리 과정은 주로 소스 파일을 컴퓨터에 맞게 편집하는 일이므로 파일의 형태에는 변화가 없습니다. 2) 2단계 컴파일 전처리가 된 소스 파일은 컴파일 과정을 거쳐 기계어로 변환된다. 변환된 것은 개체 파일이라고 하며, CPU가 해석할 수 있는 기계어로 된 명령어들로 이루어져 있지만 바로 실행할 수는 없다. 프로그램은 운영체제에 의해 실행되어서 설치된 운영체제가 인식할 수 있는 형태로 바꿔야 한다. 3) 3단계 링크 이..
· C언어
2. 기억 상자 만들기 - 변수 2.1 숫자 상자 만들기 우리는 어질러진 방을 청소할 때 빈 상자를 찾는다.(제발 찾아줘..) 그리고 장난감, 봄 옷, 가을 옷 등 라벨링(눈 관리)을 하게 되는데 이는 다음에 쉽게 찾기 위해 하는 행동이다. 프로그래밍에서도 비슷한 행동을 하게 되는데 이는 변수를 사용할 때이다. 변수란 변할 수 있는 값이다. 즉, 여러 가지 값을 변수 안에 넣을 수 있다. 이런 개념에서 봤을 때 변수는 빈 상자로, 여러 가지 값을 장난감, 봄 옷, 가을 옷 등에 비유할 수 있다. 그리고 장난감이 들어가는 상자라고 알리기 위해 라벨링 하는 것은 변수의 자료형을 지정하고, 변수의 이름을 지정하는 것과 같은 맥락이라고 이해할 수 있다. 2.2 메모리 상자에 숫자 저장하기: 변수 선언과 초기화 ..
· C언어
1. C 프로그래밍 속으로 1.3 나의 첫 C 프로그래밍 Hello, World 출력하기 #include main(){ printf("Hello, World"); } stdio.h은 h(헤더)라는 이름의 확장자를 가진 파일이다. stdio는 Standard input/output을 의미한다. #include는 이런 헤더 파일을 자신이 작성하고 있는 코드에 포함한다는 의미로 이해해도 된다. 헤더 파일명을 작성해주는 이유는 바로 아래의 printf라는 명령어들을 라이브러리에서 가져오는 것처럼 쉽게 사용하기 위해서다. C언어에서 이런 명령어들을 쉽게 사용할 수 있는 이유는 이 헤더 파일 안에 명령어들의 기능을 누군가 만들어뒀기 때문이다. 1.4 컴파일과 실행: 프로그램의 일생 컴퓨터는 많은 사람들이 똑똑하다고..
· C언어
3.1 구조적 프로그래밍과 함수 구조적 프로그래밍의 특징은 네 가지가 있다. 1) 프로그래밍의 흐름이 순차적이다. 즉 진행 순서가 위에서 아래로 흘러가면서 순서대로 실행된다. 2) 조건에 따른 분기를 통해 흐름을 제어할 수 있어야 한다. 즉 순차적으로 진행하다가 조건을 만나면 흐름이 바뀌기도 하고, 다시 합쳐지기도 하는 프로그래밍이 가능해야한다. 3) 반복문을 사용해서 프로그래밍의 흐름을 반복하여 수행할 수 있다는 것이다. 4) 기능을 모듈화 할 수 있어야 한다. 이는 별도의 기능을 함수로 구현한다는 의미이다. 3.2 함수를 사용하는 이유 매번 수행 방법은 같지만 입력은 다른 일을할 때 함수를 사용하면 입력이 달라지더라도 쉽게 모듈을 재사용할 수 있다. 3.3 함수의 선언 함수의 선언 형식으로는 '출력 ..
· C언어
작은 수만을 다루는 변수를 선언할 때 굳이 8바이트를 다루는 자료형인 long, float, double을 사용할 필요가 없다. 메모리가 충분하다고 생각하면서 소프트웨어를 개발하는 것은 좋은 프로그래머라 할 수 없다. 왜냐면 우리가 사용하는 각각의 제품은 사용하는 사양이 다르기 때문에 냉장고, TV 등 높은 사양이 필요 없는 곳에는 조금이라도 메모리 공간을 절약하려고 애쓸 것이다. 따라서 변수 하나를 선언하더라도 저장하고자 하는 값의 범위를 생각하고, 그에 맞는 자료형을 선택하여 메모리 사용을 최소화하는 쪽으로 코딩을 해야 한다.
· C언어
변수 값을 출력하기 위해선 꼭 변수 선언과 값 초기화를 해줘야 한다. 선언과 동시에 초기화를 해도 되고, 선언 뒤에 초기화를 해도 되지만 꼭 초기화를 해야한다는 이야기이다. 아래는 변수 이름을 정할 때의 규칙을 소개해드려고 한다. 이 규칙들을 지키지 않으면 컴파일 단계에서 에러가 발생하므로 꼭 주의하길 바란다. 1. 변수 이름은 문자나 숫자 또는 _(밑줄)로 구성할 수 있으나 숫자로 시작할 수는 없다. ex) int _3a; (가능), int 3a; (불가능) 2. 변수 이름은 대/소문자를 구분한다. ex) int a;와 int A;는 서로 다르다. 3. C 언어에서 예약어 키워드는 사용할 수 없다. ex) int float;과 double int;는 불가능하다. 4. 특수 문자는 변수 이름에 들어갈 수..
· C언어
지금까지 변수를 선언하고, 정수나 실수 등 숫자로 초기화하는 것들만 다뤄봤는데 이번엔 문자로 초기화하는 것을 다뤄보겠다. 컴퓨터는 2진법만 이해할 수 있으므로 문자도 2진법으로 표현해준다면 충분히 표현할 수 있다. 그래서 공통적으로 모두 하나의 규격으로 사용하자라고 만든 것이 아스키 코드이다. 이는 따로 외우지 않아도, 표를 보면서 사용할 수도 있고, 숫자로 초기화하는 것 뿐 아니라 직접 문자를 넣을 수 있다. 직접 확인해보자. 이 때 문자형은 새로운 자료형 변수 선언 형태를 띄는데 char(character variable)을 사용한다. 이 값은 아래와 같이 나온다. 문자 자료형에 숫자로 입력하면 그에 해당하는 문자가 출력이 되고, 작은 따옴표(') 안에 사용하고자 하는 문자를 직접 넣어도 변수 초기화..
· C언어
1. 변수의 저장 범위 int는 정수를 저장하는 데 필요한 메모리 공간을 4바이트 사용한다. 컴퓨터는 2진수로만 정보를 처리하고, 이때 0과 1을 저장할 수 있는 메모리 공간을 비트라고 한다. 비트는 컴퓨터가 정보를 저장하는 최소 공간으로, 8개의 비트가 모인 공간을 바이트라고 한다. 그러므로 4바이트는 32비트와 같다. 정리하면 n비트로 저장 가능한 숫자의 범위는 0 개부터 (2^n-1) 개까지 이다. 예를 들어 4바이트는 32비트이므로 n = 32이다. 2^32 = 4,294,967,296 이고, 모든 정수는 양수와 0 그리고 음수까지 표현하기 때문에 2로 나눈 -2,147,483,648 부터 2,147,483,647까지 나타낼 수 있다. 다시 말해 이 범위를 벗어나면 int 자료형을 사용해서 저장할..
jayoon
'C언어' 카테고리의 글 목록 (3 Page)