본문 바로가기
코딩공부/C

C언어프로그래밍 정리_1

by 달빗슈 2020. 2. 27.

1. 프로그래밍언어

인간과 컴퓨터의 대화에 사용되는 의사소통 수단

 

2. 컴파일러(compiler)

프로그래밍 언어로 작성딘 프로그램을 컴퓨터가 이해할 수 있도록 기계어로 번역해주는 번역기

 

→ 어셈블러(assembler)

기호로 표현도니 어셈블리 코드를 기계어로 번역하는 번역기

→인터프리터(interpreter)

소스 프로그램을 한번에 기계어로 변환시키는 컴파일러와 달리

프로그램을 한단계씩 기계어로 해석하여 실행하는 '언어처리 프로그램'

 

3. 고급언어, 저급언어

인간이 이해하기 쉬운 언어에 가까울수록 고급언어(high-level language) : C언어

컴퓨터가 이해하기 쉬운 언어에 가까울수록 저급언어(low-level language) : 어셈블리 언어

 

4. C언어의 특징

  • 논리적이며 구조적
  • 하드웨어 제어가 가능
  • 프로그램 이식성이 높음
  • 간략한 문법 표현으로 함축적인 프로그램 작성이 용이
  • 저급언어 특성을 가진 고급언어

5. 에디터 (editor)

소스코드(source code)를 보다 쉽게 작성하여 기억장치에 저장할 수 있도록 도와주는 도구

 

6. 프로그램 개발 단계

프로그램 목적 정의 : 요구 분석과 시스템 분석을 통하여 프로그램이 가져야 할 기능 정의
프로그램 설계 : 분석된 기능을 처리할 수 있도록 프로그램 구조를 설계
소스 코드 작성 : 작성된 프로그램 설계를 기반으로 에디터를 사용하여 작성
컴파일 / 링킹 : 소스 코드를 실행 가능한 코드로 변환하고 문법 검사
프로그램 실행 : 프로그램 실행
테스트와 디버깅 : 에러를 검사하고 디버깅
유지 보수 : 사용 중 발생되는 에러나 추가적인 변경 사항을 처리

7. C프로그램의 완성 과정

  • 코딩단계는 주어진 문제에 대한 설계를 바탕으로 소스코드를 작성하여 소스파일(source file)을 생성하는 과정(.C 확장자)
  • 컴파일단계는 소스파일이 목적파일(object file)로 변환되는 과정 (.obj 확장자)
  • 링킹단계는 목적파일을 실행파일로 변환하는 과정이다(.exe 확장자) 
  • 링킹단계는 컴파일된 목적 파일들을 라이브러리 파일과 연결하여 실행파일을 만든다. 링커(linker)가 도구
  • 보통 컴파일과 링킹 과정이 하나로 통합돼, Dev-C++에서는 '컴파일',Visual Studio에서는 '빌드'라는 명령으로 진행

8. 프로그램 기본구조

(1) 도입부

프로그램전체에 적용되는 사항을 기술함

ex) #include <stdio.h>

     int add(int x, int y);

 

(2) main () 함수 부분

가장 먼저 호출되는 함수로 모든 프로그램에 반드시 존재해야함

ex)

void main() {

int i, j, sum;

printf("함수의 호출 \n");

i=10, j=20;

sum=add(i,j);

printf("%d+%d=%d", i, j, sum);

}

 

(3) 호출되는 함수 부분

main()함수에서 호출된 함수를 정의하는 부분

ex)

int add(int x, int y) {

int tot;

tot=x+y;

return tot;

}

 

9. C프로그램 작성시 일반적인 규칙

  • 반드시 하나 이상의 main함수를 포함해야한다
  • main 함수가 반드시 존재해야한다.
  • 함수의 시작과 끝을 알리는 중괄호{}를 사용해야 한다.
  • 중괄호 안에는 변수 선언문, 치환문, 연산문, 함수 등의 명령을 기입한다.
  • 선행처리기(preprocessor)를 제외하고 문자의 끝에는 세미콜론(;)을 붙인다.

10. c프로그램의 구성요소

(1) 예약어(reserved word) 

C언어에서 미리 정의되어 있는 의미 있는 단어

(2) 명칭

변수명, 매크로명, 자료형 이름, 배열명, 함수명 등 필요에 따라 이름을 만들어 사용

이름을 나타내는 문자열을 사용자 정의 명칭(identifier)이라 함

  • 영문자와 숫자의 조합으로 만든다.
  • 명칭의 첫문자는 영문자나 밑줄(_)이어야 한다.
  • 특수문자를 사용해서는 안된다(밑줄은 사용가능)
  • 문자 사이에 공백이 있어서는 안 된다.
  • 예약어를 사용할 수 없다.
  • 영문자 대문자와 소문자는 서로 구별하여 사용한다.

(3) 상수(constant)

수치 상수,문자상수, 문자열 상수

(4) 연산자(operator)

연산 수행

(5) 설명문(comment)

  • 여러 줄에 걸친 설명문을 넣으려면 /*와*/를 사용
  • 한 줄짜리 설명문을 넣으려면 보통 //를 사용
  • 프로그램 어느 부분에도 위치 할수 있다.
  • 2개이상의 라인으로 계속 될수 있다.

11. 에러(error)

C언어의 문법상 명백하게 잘못된 점이 있어 컴파일을 할수 없는 경우 에러메시지를 출력하고

컴파일을 거부하게 된다.

 

12. 경고(warning)

코드의 내용이 의심스러워 보이기는 하지만 일단 컴파일이 가능한 경우에 발생.

 

반응형

댓글