4-1 컴퓨터의 데이터 표현방식

- 컴퓨터는 모든 데이터의 표현 및 연산을 2진수로 처리한다.

- 비트 : 컴퓨터가 나타내는 데이터의 최소 단위. 2진수 값 하나를 저장할 수 있는 메모리 공간.
- 바이트 : 비트가 8개 모여서 이루어진 데이터 단위.

- 숫자 앞에 0x를 붙이면 16진수, 0을 붙이면 8진수로 표현했다는 의미이다.


4-2 정수와 실수의 표현 방식

1) 정수의 표현 방식

- 가장 왼쪽에 있는 비트는 부호 비트이다. 양수면 0, 음수면 1
- 음수를 표현할 때에는 2의 보수로 표현한다.
- 2의 보수는 모든 비트를 반전시킨 뒤, 1을 더함으로써 구할 수 있다.


2) 실수의 표현 방식

- 컴퓨터는 넓은 범위의 실수를 표현할 수 있다는 장점을 지니는 대신, 오차가 존재한다.
- 근사치를 계산해서 실수를 표현하기 때문에 오차가 있는 것이고, 이것을 부동소수점 오차라고 한다.


3) 비트 단위 연산

 - &(AND) 연산자의 진리표 - 두 개의 비트가 모두 1일때 1을 반환.
0
&
0
=>
0
0
1
0
1
0
0
1
1
1

- |(OR) 연산자의 진리표 - 두 개의 비트중 하나라도 1이면 1을 반환.

0
&
0
=>
0
0
1
1
1
0
1
1
1
1

- ^(XOR) 연산자의 진리표 - 두 개의 비트가 서로 다를 경우에 1을 반환.

0
&
0
=>
0
0
1
1
1
0
1
1
1
0


- ~(NOT),연산자- 모든 비트를 반전시킴

~0 -> 1
~1 -> 0


- <<(왼쪽 쉬프트), >>(오른쪽 쉬프트)

a << b : a의 비트를 b만큼 왼쪽 쉬프트
a >> b : a의 비트를 b만큼 오른쪽 쉬프트



'학부 전공 > C' 카테고리의 다른 글

6. printf함수와 scanf함수  (0) 2010.07.08
5. 상수와 기본 자료형  (0) 2010.07.08
3. 변수와 연산자  (0) 2010.07.06
2. 프로그램의 기본 구성  (0) 2010.07.06
1. C언어  (0) 2010.07.02

3-1 변수

- 변수 : 데이터를 저장할 수 있는 메모리 공간에 붙여진 이름

 *변수의 자료형(데이터 타입)
- 정수형 변수 : char, int, long
- 실수형 변수 : float, double

- 변수를 선언하고 초기화하지 않으면 의미없는 값이 들어가게 되는데, 그 값을 "쓰레기 값"이라 한다.

- 변수의 선언은 함수에서 제일 위에 나와야 한다.(C++에서는 상관 없음)

 * 변수 이름의 규칙
1. 알파벳, 숫자, 언더바로만 구성된다.
2. 대소문자를 구분한다.
3. 숫자로 시작할 수 없다.

그리고 키워드와 동일한 이름을 쓰는 것도 불가능하다.



3-2 연산자


1) 대입 연산자( = ), 산술 연산자 ( +, -, *, /, %)

2) 기타 대입 연산자 ( +=, -=, *=, /=, %=)

3) 단항 연산자 ( +, - )

4) 증가, 감소 연산자 ( ++, -- )

5) 비교 연산자 ( >, <, == )

6) 논리 연산자 ( &&, ||, ! )

7) 비트 단위 연산자 ( ~, &, ^, |, <<, >> )

8) 콤마 연산자 ( , )

- 여러 개의 연산자가 있을 경우 우선순위가 높은 순서대로 실행된다.

- 컴퓨터는 0이 아닌 모든 값을 true로 인식한다. 



3-3 키보드로부터 입력받는 scanf

- scanf 함수를 쓸 때에는 인자 중에서 입력받는 변수 이름 앞에 &를 붙여야 한다.

- scanf 함수는 데이터의 경계를 공백(스페이스 바, tab키, enter키)으로 구분한다.



3-4 키워드

- int, void 등의 단어들은 이미 기능적 의미가 정해져 있다. 그러한 단어를 예약어 또는 키워드라고 한다.

- 이러한 키워드들은 변수나 함수의 이름으로 사용할 수 없다.



'학부 전공 > C' 카테고리의 다른 글

6. printf함수와 scanf함수  (0) 2010.07.08
5. 상수와 기본 자료형  (0) 2010.07.08
4. 데이터의 표현방식  (0) 2010.07.07
2. 프로그램의 기본 구성  (0) 2010.07.06
1. C언어  (0) 2010.07.02

2-1 기본적인 프로그램

1) 함수 : 적절한 입력과 그에 따른 출력이 존재하는 것.

- 입력을 전달하는 것을 인자 전달이라 하며, 함수의 실행을 요구하는 것을 함수 호출이라 한다. 둘은 동시에 일어난다.

- 함수의 특성 : 함수의 이름, 입력 형태, 출력 형태


2) 연산을 수행하는 모든 문장들은 세미콜론으로 끝난다.

3) 표준 라이브러리 함수의 사용을 위해서 헤더 파일을 include 한다.

4) return은 함수 종료와 값의 반환이라는 두 가지 의미를 지닌다.


2-2 주석

// 내용 : 한줄 주석

/*
 내용
*/ : 여러줄 주석

-컴파일러는 주석을 무시함. 즉, 주석은 프로그램에 전혀 영향을 끼치지 않음.


2-3 printf함수

- printf함수는 첫번째 인자를 출력한다.
- 첫번째 인자에 출력 대상의 형태를 지정하는 서식문자가 올 수 있다. ex) %d, %f




'학부 전공 > C' 카테고리의 다른 글

6. printf함수와 scanf함수  (0) 2010.07.08
5. 상수와 기본 자료형  (0) 2010.07.08
4. 데이터의 표현방식  (0) 2010.07.07
3. 변수와 연산자  (0) 2010.07.06
1. C언어  (0) 2010.07.02

1-1 C언어 개론


1. C는 프로그래밍 언어이다.

-프로그래밍 언어란 사람과 컴파일러가 이해할 수 있는 약속된 언어.

-컴파일러의 역할은 프로그래밍언어로 작성된 프로그램을 컴퓨터가 이해할 수 있도록 기계어로 번역해주는 역할

// 기계어는 0과 1로 이루어진 비트열이다.


2. C언어의 특징

- Low-Level 언어 : 컴퓨터가 이해하기 쉬운 언어. ex) 어셈블리어
- High-Level 언어 : 사람이 이해하기 쉬운 언어. ex) C언어

- Low-Level 언어는 하드웨어 의존도가 높으며, 프로그래밍하기가 어려운 편이지만 그만큼 하드웨어에 최적화를 시킬 수 있어서 효율적이다.


3. C언어의 장점

1) 절차지향적이라 이해하기 쉽다.
2) 이식성이 좋다.
3) 효율성이 높다.

- C언어는 Low-Level 언어의 특성을 가지고 있다.


1-2 프로그램의 완성 과정

- 프로그램 작성 -> 컴파일 -> 링크 -> 실행파일 생성

1) 프로그램 작성 과정에서 프로그래머는 C언어로 소스코드를 작성한다.( = 코딩 )
2) 컴파일 과정에서 컴파일러는 소스코드를 기계어로 변환한다. 그 결과가 object file 이다.
3) 링크 과정에서는 컴파일된 코드를 라이브러리 파일과 연결시켜준다. 그 결과가 실행 파일(exe file)이 된다.

'학부 전공 > C' 카테고리의 다른 글

6. printf함수와 scanf함수  (0) 2010.07.08
5. 상수와 기본 자료형  (0) 2010.07.08
4. 데이터의 표현방식  (0) 2010.07.07
3. 변수와 연산자  (0) 2010.07.06
2. 프로그램의 기본 구성  (0) 2010.07.06

+ Recent posts