C/C++ - 특징
C언어,C++의 특징
C언어와 C++은 같은 형제지간이지만 엄연히 특징은 다릅니다.
J.K 스나이퍼님의 말씀대로 배우는데 혼돈이 생길 수 있으니
확실히 둘의 특징과 차이점을 집고 넘어가겠습니다.
C언어는 절차지향 언어 이고 C++은 객체지향 언어 입니다.
지금은 저게 무슨 뜻인지 모르겠지만 나중에 공부하다보면 이해를 하시게 될겁니다.
그래도 간단한 설명은 있어야하니..
절차지향 언어는 프로그램을 작성할 떄 실행 순서를 지정하게 되는 작성언어로써
문제의 해결 순서와 절차의 표현과 해결이 쉽도록 설계 되었다.
객체지향 언어는 캡슐화 다형성 상속성 등의 특징으로 방대한 코드를 한 번에
묶어버리고 내부의 정보를 외부에 보이지 않게하는 알약의 특성을 가지고 있고
연관이 있는 두가지 이상의 용도로 하나의 이름을 사용할 수 있게하고
하나의 객체에 정의된 코드를 다른 객체에 이어받는 것(상속하는것)도 가능하다.
각자의 특징들
C언어 는 1970년대 유닉스 운영체제를 만들 때 구현,사용 용도로 만들어졌습니다.
- 고급언어와 저급언어의 장점을 골고루 포함했다.
- 함수의 집합으로 구성되어 구조적 프로그램에 적합하다.
- 다양한 자료구조의 표현에 적합하다.
- 다른 시스템으로의 호환,이식성이 좋다.
C++ 은 C언어에서 OOP(객체 지향)을 접목시켜 보완을 하고 만들어 졌습니다.
- 데이터 추상화를 지원한다
- C언어의 특징을 물려받았다.
- 기존 C문법이 사용하기 편하게 개선되었다.
- 객체 지향 프로그래밍을 지원한다.
설명은 부족했지만 두 언어는 프로그래밍하는 방식부터가 다르다는 걸
꼭 아셔야 공부하실 때 해깔리는 일이 없으실겁니다.
'C/C++' 카테고리의 다른 글
C언어 - scanf 함수,주석문 (0) | 2013.08.31 |
---|---|
C언어 - 변수,형식지정문자 (0) | 2013.08.31 |
C언어 - main,printf 함수 (0) | 2013.08.31 |
C/C++ <- 대체 이것들은 뭐지?! (0) | 2013.08.25 |
C/C++ - 시작하기 전 (0) | 2013.08.25 |
정보기초 - 데이터 표현방법(1)
어떻게 데이터를 표현할까?
우리들은 계산이든 표현이든 결과값이든 모든 것을 0~9까지 10개의 숫자로
표현을 다 해냅니다.
그런데 컴퓨터는 우리들처럼 손가락이 10개도 아니고 생각하는 생물체가 아니기 때문에
오직 컴퓨터가 아는 것이라면
(전류가 들어오는 상태) 1 과 (전류가 없는 상태) 0 이 두 개의 숫자 밖에
알지 못한다고 하는데 그런 컴퓨터는 신기하게도 0과 1로만으로 사칙연산은 물론이고
이 모든 데이터 표현을 다 할 수 있습니다.
※ 비트와 바이트
비트는 컴퓨터가 나타내는 데이터 중 가장 최소의 단위인데 1아님 0만 담을수 있는 데이터입니다.
그것들이 8개가 모이면 그 묶음이 바이트가 됩니다.
사용하는 진법의 종류
2진법
0~1 2개의 숫자를 사용
컴퓨터가 유일하게 알아들을 수 있는 진법
8진법
0~7 8개의 숫자를 사용
10진법
0~9 10개의 숫자를 사용
우리들이 쓰고있는 대표적인 진법
16진법
0~F 16개의 숫자를 사용
메모리나 어셈블리어나 등등 장치에서 씀
2진수 |
8진수 |
10진수 |
16진수 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
10 |
2 |
2 |
2 |
11 |
3 |
3 |
3 |
100 |
4 |
4 |
4 |
101 |
5 |
5 |
5 |
110 |
6 |
6 |
6 |
111 |
7 |
7 |
7 |
1000 |
10 |
8 |
8 |
1001 |
11 |
9 |
9 |
1010 |
12 |
10 |
A |
1011 |
13 |
11 |
B |
1100 |
14 |
12 |
C |
1101 |
15 |
13 |
D |
1110 |
16 |
14 |
E |
1111 |
17 |
15 |
F |
각자 진법마다 끝에 다다르면 올림이 발생합니다.
첫째자리는 다시 0 이 되고 둘째자리부터 1 씩 올림이 됩니다.
죄송합니다 설명이 빈약하고 이상할수도 있습니다.
어디서부터 설명해야할지 몰라서..
'컴퓨터구조/정보기초' 카테고리의 다른 글
정보기초 - 언어 번역 프로그램 (0) | 2013.09.01 |
---|---|
정보기초 - 데이터 표현방법(2) (0) | 2013.08.31 |
컴퓨터구조 - CPU(중앙처리장치) (0) | 2013.08.27 |
컴퓨터구조 - 기억장치의 종류 (0) | 2013.08.25 |
컴퓨터구조 - 하드웨어 5대 장치 (0) | 2013.08.25 |
어셈블리어 - PUSH,POP 함수
PUSH POP
스택 : 스택이란 쌓아 올린 더미를 의미하는데 자료구조에서 기억 장치에 데이터를 일시적으로 겹쳐 쌓아 두었다가 필요할 때에 꺼내서 사용할 수 있게 주기억장치(main memory)나 레지스터(register)의 일부를 할당하여 사용하는 임시 기억장치를 말한다.
라고 네이버백과사전에 나와있었습니다. 스택을.. 어떻게 설명할까 고민중에 그냥 지식백과를 봤습니다.ㅋ
제가 좀 간추려보면 데이터를 임시적으로 저장했다가 필요할 때 꺼내쓰는 임시기억장치입니다.
알아야할점은 먼저 저장되는 데이터는 마지막에 나온다는 것입니다.
조잡하게 만들긴 했지만 ... 저런 구조를 띄고 있습니다.
무튼 PUSH POP은 스택에 관련된 명령어입니다.
PUSH
예제 : PUSH 인자1
스택에 인자1를 넣습니다(저장)
인자는 하나만 가지며 그자리에 레지스터,정수가 들어갈 수 있습니다
POP
예제 : POP 인자1
스택에서 인자1을 빼냅니다.
스택에 인자1이 저장되 있어야 빼낼 수 있습니다.
'어셈블리어' 카테고리의 다른 글
어셈블리어 - CALL,CMP,JMP 함수 (1) | 2013.08.27 |
---|---|
어셈블리어 - INC,DEC,NOP (3) | 2013.08.27 |
어셈블리어 - ADD,SUB 함수 (1) | 2013.08.27 |
어셈블리어 - MOV,LEA 명령어 (1) | 2013.08.27 |
어셈블리어 - 레지스터* (0) | 2013.08.27 |