• 프로그래밍 언어 활용 part 1 - 컴퓨터 프로그래밍 이해

    2021. 7. 25.

    by. 고구마달랭이

    컴퓨터 프로그래밍 이해

    [학습내용] [학습목표]
    · 프로그래밍 개요
    · 통합개발환경(IDE) 구축
    · 컴퓨터 언어의 필요성과 사용 목적에 대해 설명할 수 있다.
    · C언어의 특징을 설명할 수 있다.
    · 프로그램 개발을 위한 환경을 구축할 수 있다.

    프로그래밍 개요

     

    1. 프로그래밍의 정의

     

    프로그램(Program) : 하드웨어를 동작시켜 특정 작업을 수행하는 소프트웨어

    다양한 종류의 컴퓨터 프로그램, 스마트폰 앱 등

     

    프로그래밍(Programming) : 인간이 컴퓨터에 명령하는 작업지시서를 만드는 작업

     

    프로그래밍 언어 : 작업 지시에 사용되는 언어

     

    저급언어(Low Level Language) : 
    기계어,어셈블리어
    고급언어(High Level Language) : 
    C, C++, C#, JAVA, Pascal, Fortran, Cobol, Python
    CPU가 처리하는 명령어와 1:1로 대응

    - CPU마다 사용하는 명령어가 다름
    - CPU 내부 동작을 이해해야 프로그래밍이 가능
    - 하드웨어에 따른 별도 프로그래밍이 요구됨
    해당 하드웨어에 맞게 번역하는 프로그램을 이용

    - 유지보수가 비교적 쉬움
    - CPU 동작을 자세히 알아야 할 필요 없음
    - 하드웨어마다 별도의 프로그래밍 불필요

     


     

    2. 프로그래밍 절차

    - 다른 언어를 사용하는 사람 간의 대화에 통역사가 필요

    - 컴퓨터는 인간의 언어를 이해할 수 없기 때문에 컴퓨터 언어로 번역 필요

     

    컴파일러(Compiler) : 컴퓨터가 이해하는 언어로 번역하는 프로그램

     

    C언어 프로그래밍 절차 :

       소스파일.c    Compiler
       오브젝트파일.obj    Linker
     ➡
       실행파일.exe   
    #include <stdio.h>
    in main()
    {
      printf("print result");
      ………
      ………
    }
    0100100101
    1010000101
    0101111010
    ………
    ………
    ………
    ………
    0100100101
    1010000101
    0101111010
    ………
    ………
    ………
    ………

     


     

     

    3. C언어의 특징

    - 1972년 AT&T의 벨연구소의 데니스리치와 켄톰슨에 의해 개발

    - B언어를 기반으로 하여 개발

    - 고급언어인 C언어로 작성된 최초의 운영체제가 UNIX

    - C언어의 표준 : ANSI(American National Standard Institute)C

     

    [간결하고 효율적인 언어]

    • 포인터와 메모리 관리 기능

    • 작은 크기의 프로그램

    • 빠른 실행 속도

     

    [우수한 이식성]

    다양한 CPU와 플랫폼의 컴파일러를 지원

     

    [다소 배우기가 어려움]

    • 비트 포인터 메모리 할당 해제 등의 관리

     

    통합개발환경(IDE) 구축

     

    1. 통합개발환경 소개

     

    프로그램 개발에 필요한 S/W

    텍스트 에디터 컴파일러
    • 메모장
    • editplus
    • notepadd++

    • GNU C/C++ compile
    • Boland Turbo C
    • 온라인 컴파일러
    • 비쥬얼 스튜디오 C 컴파일러

     


     

    평가하기

     

    Q1. 다음 중 고급언어가 아닌 것은 무엇인가?


    ① C
    ② JAVA
    ③ Assembler 
    ④ FORTRAN

    어셈블리어는 기계어에 심볼릭 기호 등을 사용한 것으로 저급언어로 분류됩니다.




    Q2. C 언어와 관련한 설명으로 옳지 않은 것은 무엇인가?


    ① C언어는 저급언어이다. 
    ② C언어는 메모리 할당과 해제와 같은 프로그램이 가능하다.
    ③ C언어는 B언어 기반으로 개발된 언어이다.
    ④ C언어는 이식성이 우수하다.

     

    C 언어는 인간 중심의 고급언어입니다.

     



    Q3. 다음 중 C언어의 특징에 대한 설명으로 옳지 않은 것은 무엇인가?


    ① 이식성이 높은 언어이다.
    ② 포인터와 같은 주소 액세스 문장 기술이 가능하다.
    ③ 메모리 할당과 해제를 할 수 있다.
    ④ 프로그램이 크고 무거운 편이다. 

    C 언어는 비교적 간결하고 작은 프로그램이며 속도가 빠른 장점이 있습니다.

     

     


     

     

    학습정리

     

    1. 프로그래밍 개요

    컴퓨터 언어는 인간과 컴퓨터 간의 커뮤니케이션 수단

    컴퓨터 언어는 고급 언어와 저급언어로 구분됨

    소스코드를 기계어로 번역하는 것을 컴파일이라고 함

    C언어의 개발 절차는 코드 작성 컴파일 링크 실행 순서임

    C언어는 1972년 개발된 고급 언어로, 작고 빠르면서 하드웨어 제어도 가능한 특징이 있음

     

    2. 통합개발환경(IDE) 구축

    통합개발환경이란 프로그램 개발에 필요한 코드 작성, 컴파일, 링크, 실행, 디버깅과 같은 작업을 하나의 환경에서 수행 가능하도록 구성된 프로그램을 말함

     

     

     

     

     

     

     

     

     

    댓글