관리 메뉴

RUBY

[SJCU]1주차. 강의소개 및 프로그래밍 개념과 통합 개발환경 본문

SJCU/프로그래밍기초(C언어)

[SJCU]1주차. 강의소개 및 프로그래밍 개념과 통합 개발환경

ruby-jieun 2023. 3. 12. 19:54

 

 

 

프로그래밍기초(C언어)
1주차. 강의소개 및 프로그래밍 개념과 통합 개발환경


 

 

 

 

학습내용

 

  • 오리엔테이션(강의소개)
  • 프로그램의 개념과 프로그래밍 언어
  • C언어
  • 프로그램 개발과정
  • 통합개발 환경
    (IDE: Integrated Development Environment)

 

 

학습목표

 

  • 본 강의의 목표 및 평가 방법을 이해하고, 이를 통해 한 학기 학습계획을 세울 수 있다.
  • 프로그램의 개념을 이해하고 프로그래밍 언어를 분류할 수 있다.
  • C언어의 특징을 설명할 수 있다.
  • 프로그램의 개발과정을 이해할 수 있다.
  • 통합개발 환경을 이해하고 통합개발 환경 프로그램인 Visual Studio를 설치하고 실행시킬 수 있다.

 

 

 

 

1. 오리엔테이션(강의소개)

 

 

 

1. 교과소개

 

  • C언어의 문법과 여러 가지 기능들을 배우며 이러한 학습을 통해서 컴퓨팅 사고력과 문제해결 능력을 익힘
  • 텍스트 코딩 언어인 C언어를 학습하여 공학적 프로그래밍의 기초적 능력을 키움
    → 논리적 사고 방법 연습 / 창의적 사고력 증진
  • C프로그래밍을 이용한 재미있는 코딩 실습으로 기본 소양으로서 기초적인 구현 능력을 습득함

 

 

2. 교과목표

 

  • 간단한 프로그램 제작을 통해 프로그래밍 학습에 흥미를 체험할 수 있도록 한다.
  • 전공 공부에 도움 및 기초지식을 다질 수 있도록 한다.
  • 자신만의 간단한 프로그램을 기획하고 제작할 수 있다.
  • C언어를 이용하여 논리적 사고를 컴퓨터 언어로 표현할 수 있다.
  • 프로그래밍 심화 학습을 위한 폭넓은 자기주도형 학습의 기초를 다지고 컴퓨팅 사고력을 향상시킨다.

 

 

 

2. 프로그램의 개념

 

 

 

1. 프로그램이란

 

  • 컴퓨터 = 하드웨어 + 소프트웨어(프로그램)
    → 컴퓨터를 범용적으로 만드는 것은 바로 프로그램
    프로그램 : 컴퓨터에게 해야 할 작업의 내용을 알려주는 문서(작업지시서)

 

 

 

2. 프로그래밍 언어

 

  • 프로그램에서 컴퓨터가 수행해야 할 다양한 작업을 기술하는데 사용되는 언어

 

 

 

 

 

3. C언어

 

 

 

1. C언어의 역사

 

  • C언어(1970년대 초)
    AT&T의 Dennis Ritchie에 의하여 개발됨
    B언어 → C언어
    UNIX 운영체제 개발에 필요해서 만들어짐

  • K & R C
    1978년 “C Programming Language” 책 출간
    비공식적인 명세서 역할

  • ANSI C
    1983년 ANSI(American National Standards Institute)는 X3J11이라는 위원회에 의한 표준

  • C99
    1999년 ISO에 의한 표준
    C++에서 사용되는 특징 추가
    점차 많은 컴파일러에서 지원

  • C11
    ISO에 의하여 2011년 12월에 발표된 C언어 표준

 

 

 

 

 

2. C언어의 특징

 

  • 간결한 언어
    꼭 필요한 기능만이 들어 있음
    모든 표기법이 아주 간결하게 되어 있음

  • 효율적인 언어
    C로 작성된 프로그램은 크기가 작음
    실행 속도가 빠름
    메모리를 효과적으로 사용함

  • 뛰어난 이식성
    컴퓨터 기종에 의존하지 않으므로 프로그램의 이식성(Portability)이 높음

  • 저수준 · 고수준의 프로그래밍이 모두 가능
    프로그램을 기계어 명령에 가까운 형태로 작성할 수 있음
    다른 고급 언어에 비하여 하드웨어 대한 보다 확실한 통제가 가능함

  • 풍부한 연산자와 데이터형(Data Type)을 갖고 있음
    범용 프로그래밍 언어로서 널리 보급되어 응용 소프트웨어의 개발에 널리 이용되고 있음
    현재 이용되고 있는 운영체제, 컴파일러, 통합개발환경 등이 대부분 C언어로 개발됨

 

 

 

 

3. C언어의 미래

 

  • C언어는 C++와 Java의 공통적인 부분임
  • 임베디드 시스템에서는 C언어가 많이 사용됨

 

 

 

 

4. 프로그램 개발과정

 

 

 

1. 일반적인 C프로그램의 개발

 

  • 프로그램 설계 → 소스코드 작성 → 컴파일 → 실행

 

  • 컴파일
    소스 프로그램을 오브트 파일로 변환하는 작업
    오브젝트 파일 이름 ex) test.obj

  • 링크
    컴파일된 목적 프로그램을 라이브러리와 연결하여 실행 프로그램을 작성하는 것
    컴파일러에 내장되어 링크를 수행하는 프로그램을 링커라 함
    실행 파일 이름 ex)test.exe

  • 실행 및 디버깅
    실행 시간 오류(run time error)
    0으로 나누는 것
    잘못된 메모리 주소에 접근하는 것
    논리오류(logical error)
    문법은 틀리지 않았으나 논리적으로 정확하지 않은 것

  • 디버깅(debugging)
    소스에 존재하는 오류를 잡는 것

 

 

 

 

5. 통합 개발 환경

 

 

 

1. 통합개발 환경 (IDE: Integrated Development Environment) 

 

  • 프로그램 개발에 필수적인 편집, 컴파일, 실행, 디버깅 기능을 하나로 통합한 도구
  • Visual studio 
    윈도우즈에서의 대표적인 통합 개발 도구(마이크로소프트)

 

2. Visual studio community 설치 및 실행

 

  • 웹 사이트 https://visualstudio.microsoft.com/ko에 접속
  • 화면에서 community 2019를 선택하고 파일 실행
  • 자신이 사용할 프로그래밍 언어와 개발 환경을 선택
    우리는 C++를 사용한 데스크톱 개발을 선택함
    나중에 필요하면 다른 프로그래밍 언어는 추가 설치가 가능함
  • 설치가 완료되면 설치 프로그램을 종료함
  • 윈도우의 [시작] 버튼을 누르고 [Visual Studio 2019]를 찾아서 실행함

 

솔루션(Solution) 
문제해결에 필요한 프로젝트가 들어 있는 컨테이너

프로젝트(Project)
하나의 실행 파일을 만드는데 필요한 여러 가지 항목들이 들어 있는 컨테이너

 

 

 

Q 고급 언어로 작성된 프로그램을 기계어로 바꾸어 주는 도구는?

 - 컴파일러

 

Q C언의 특징

 - 간결한 프로그래밍이 가능하다.

 - 실행 속도가 빠르다.

 - 저수준의 프로그래밍이 가능하다.

 

Q 오류를 찾아 수정하는 일

 - 디버깅

 

Q 프로그램 개발에 필수적인 편집, 컴파일, 실행, 디버깅 기능을 하나로 통합한 도구를 무엇이라고 하는가?

 - 통합 개발 환경(IDE)

 

Q 고급언어

 - C

 - Java

 - Python

Comments