팔만코딩경
/
Library DB
/
C언어 기초문법(?)
/
C언어 3강. 프로그래밍의 시작과 진행과정
/
프로그래밍
Search
Share
프로그래밍
Gallery view
Search
폰노이만 아키텍쳐 (von Neumann architecture)
•
과거의 컴퓨터
ENIAC
기계식으로 사람을 모든 것을 처리
(배선 변경, 스위치 조작, 천공카드 등)
•
1945년에 수학자 존 포이노만이 컴퓨터 모델 제안
◦
프로그램 내장식 컴퓨터
stored program computer
→ 컴퓨터 내부에서 프로그램과 데이터를 저장 / 처리
•
폰노이만 아키텍처의 구성 요소
◦
CPU : 명령어를 해석, 데이터 처리 → 함수 등
◦
메모리 : 명령어와 데이터 저장 → 포인터
◦
입출력장치 : 데이터 입출력
컴퓨터 구조
•
프로그래밍 → 순서 → 나열? (논리)
개념적인 나열을 하기 위한 방법?
•
언어
기계어, C언어
•
기계어?
CPU가 직접 실행하는 비트 단위 언어(0, 1)
•
기계어의 단점
◦
명령어를 사용하기 어려움
◦
수정이 어려움
00036 8b f4
00038 8b 45 f8
0003b 50
0003c 68 00 00
000051 ff 15 00
•
기계어의 단점을 보완
◦
인간의 언어와 유사한 언어사용
#include <stdio.h>
int main(){
int i;
for(i = 0; i < 3; i++){
}
return 0;
}
•
언어의 종류
C언어 → C++언어(객체지향) → Java 언어 등
프로그래밍 표현
작성한 원시 소스의 코드 변환
•
컴파일러 compiler
◦
고급 언어로 작성된 코드를 컴파일 compile 과정을 통해 목적코드(기계어, *.obj)로 변환하는 프로그램
◦
문법적인 오류 발견 (error, warning)
•
링커 linker
◦
목적코드와 소스 코드 안에 사용한 함수 코드(미리 만들어논 조각프로그램)를 라이브러리와 연결하는 역할
◦
실행 파일 *.exe 을 생성 → 프로그램 완성
원시 코드에서부터 실행파일까지 과정
•
디버깅 (debugging)
•
실행파일을 만드는 과정
위의 일련의 과정을 보고 "디버깅한다." 라고 한다.
프로그래밍의 진행과정
C언어 키워드
•
총 32개 중 28개 사용 (20개가 주 키워드 + 8개는 가끔)
auto
, break, case, char,
const
, continue, default,
do
,
double
, else, enum, extern, float, for,
goto
, if, int,
long
,
register
, return,
short
,
signed
, sizeof, static, struct, switch, typedef,
union
,
unsigned
, void,
volatile
, while
◦
빨간색은 보편적으로 거의 사용을 안한다고 생각하면 된다.
◦
노란색은 많이는 사용하지 않지만 가끔 필요시에 사용을 한다.
◦
일반 검정색의 키워드는 많이많이 사용하는 키워드들이다.
•
사실상 C언어를 배운다는 것은 위의 키워드를 배우는 것 과 같다.
C언어 기본 구조
•
기본 구조에는 규칙이 있다
•
프로그램의 시작 or 진입점 or 시작 코드를 모아둔 곳
main 구조
C언어의 시작