티스토리 뷰
C언어 소개
- 1970년대 운영체제의 개발을 위해서 대니스리치와
켄 톰슨애 의해 개발된 시스템
- B언어 -> C언어
프로그래밍 언어 분류
- 저급 언어
기계어:
컴퓨터에 대한 명령어를 의미하고 있는
이진수 표현
어셈블리어:
CPU에 대한 명령어들을 영어 약자인
기계어 형태로 표현
- 고급언어
일정 문법 체계에 따른 언어 표현
종류: C,C++,java....
컴파일러:고급 언어 문장을 기계어로 변환
C언어의 특성
- 절차지향적
- C언어로 작성된 프로그램은 좋은 성능
- C언어는 이식성이 뛰어남
- 간결하고 효율적
프로그래밍 개발 과정
요구사항분석->알고리즘의 개발->코딩->컴파일과 링크
->실행과 디버깅->유지보수
소스 작성
- 알고리즘의 각 단계를 프로그래밍 언어를 이용하여 기술
- 알고리즘을 프로그래밍 언어의 문법에 맞추어
기술한 것을 소스 프로그램(source program)
- 소스 프로그램은 주로 텍스트 에디터나 통합 개발
환경을 이용하여 작성
- 소스 파일 이름:(예) text.c
컴파일
- 소스 프로그램을 오브젝트 프로그램으로 변환하는 작업
- 오브젝트 파일 이름:(예) text.obj
- 컴파일러가 수행
- 컴파일 오류(compile error):문법 오류
-(예) He go to school;
- 오류가 발생하면 소스 프로그램을 수정한 후에 다시 컴파일
링크
- 컴파일된 목적 프로그램을 라이브러리와 연결하여 실행
프로그램을 작성하는 것
- 실행 파일 이름:(예) text.exe
- 라이브러리(library): 프로그래머들이 많이 사용되는
기능을 미리 작성해 놓은 것
- (예) 입출력 기능, 파일 처리, 수학 함수 계산
- 링크를 수행하는 프로그램을 링커(linker)라고 한다.
실행 및 디버깅
- 실행 시간 오류(run time error):
-(예) 0으로 나누는 것
- 잘못된 메모리 주소에 접근하는 것
- 논리 오류(logical error):
- 문법은 틀리지 않았으나 논리적으로
정확하지 않은 것
-(예) 1.그릇1과 그릇2를 준비한다.
2.그릇1에 밀가루,우유,계란을 넣고 잘섞는다.
3.그릇2를 오븐에 넣고 30분 동안 350도로 굽는다.
디버깅
- 소스에 존재하는 오류를 잡는 것
소프트웨어 유지 보수
- 소프트웨어의 유지 보수가 필요한 이유
- 디버깅 후에도 버그가 남아 있을 수 있기 때문
- 소프트웨어가 개발된 다음에 사용자의 요구가
추가될 수 있기 때문
- 유지 보수 비용이 전체 비용의 50% 이상을 차지
통합 개발 환경(IDE: Integrated development environment)
- 에디터 + 컴파일러 + 디버거
- Visual C++: 마이크로소프트 제작
- 이클립스(eclipse): 오픈 소스 프로젝트
- Dev-C++: 오픈 소스 프로젝트
워크스페이스와 프로젝트
- 솔루션(solution): 문제 해결에 필요한 프로젝트가
들어 있는 컨테이너
- 프로젝트(project): 하나의 실해 파일을 만드는데
필요한 여러 가지 항목들이 들어있는 컨테이너
간략한 소스 설명(사진)
#include<stdio.h>
- #include는 소스 코드 안에 특정 파일을 현재의 위치에 포 함
- 헤더 파일(header file): 컴파일러가 필요로 하는 정보를
가지고 있는 파일
- stdio.h: standard input output header file
- 주의!: 전처리기 지시자 문장 끝에는 세미콜론(;)을 붙이면 안된다.
함수
- 함수(function): 특정 기능을 수행하는 처리 단계들을
괄호로 묶어서 이름을 붙인 것
- 함수는 프로그램을 구성하는 기본적인 단위(부품)
함수의 구조
int main (void)
출력타입 이름 입력타입(void는 입력이 없다는 의미)
함수의 시작->{ 함수의
몸
체
}<- 함수의 종료
문장
- 함수는 여러 개의 문장으로 이루어진다.
- 문장들은 순차적으로 실행된다.
- 문장의 끝에는 반드시;(세미콜론)이 있어야 한다.
return 0;
- returndms 함수의 결과값을 외부로 반환한다.
printf()
- printf()는 컴파일러가 제공하는 함수로서 출력을 담당한다.
큰 따옴표 안의 문자열을 화면에 출력한다.
주석(comment)
- 주석은 코드를 설명하는글
3가지 방법의 주석
- // 여기서부터 줄의 끝까지 주석
- /* 한줄로 된 주석*/
- /* 여러
줄로
된 주석*/
'C언어' 카테고리의 다른 글
6day.c if문 정리 (0) | 2017.03.09 |
---|---|
5day.c 기호상수, 형변환, scanf() 정리 (0) | 2017.03.09 |
3day.c 변수 정리 (0) | 2017.03.09 |
4day.c 연산자 정리 (0) | 2017.03.09 |
C언어 2일차 (0) | 2017.02.18 |