개정판 누구나 즐기는 C언어 콘서트 제1장 프로그래밍 소개 출처: pixabay
프로그램을 작성하기에 앞서서 중요한 개념들을 살펴봅니다.. 이번 장에서 학습할 내용 프로그램을 작성하기에 앞서서 중요한 개념들을 살펴봅니다.. 프로그램이란 무엇인지 이해한다. 프로그래밍 언어가 왜 필요한지 이해한다. 알고리즘이 무엇인지 이해한다. 프로그램의 개발 과정을 이해한다. 비주얼 스튜디오를 성공적으로 설치한다.
이번 장에서 만들 프로그램 "Hello World!"는 많은 사람들이 프로그래밍을 학습할 때, 가장 먼저 작성하는 프로그램이다.
프로그램이란? 프로그램 안에는 무엇이 들어 있을까?
명령어란? 로봇을 움직이는 프로그램이라면 로봇을 움직이기 위한 명령어들이 프로그램 안에 나열되어 있다.
컴퓨터와 인간 컴퓨터는 강인공지능이 아니라면 프로그래머가 지시한 대로만 행동 한다.
Lab: 로보트 움직이기 비봇(bee-bot)을 A 지점에서 B 지점으로 이동하게 하려면 어떤 명 령어들을 어떤 순서로 입력해야 할까?
Sol: 로보트 움직이기 비봇에 대한 프로그램
컴퓨터가 이해하는 언어 한국어나 영어 등으로 작업을 지시한다면 컴퓨터는 전혀 이해할 수 없을 것이다.
컴퓨터가 이해하는 언어 0과 1로 구성되어 “001101110001010...”과 같은 이진수로 된 기계 어(machine language)이다. 전선을 연결하여 프로그래밍하고 있다.
프로그래밍 언어의 역할
프로그래밍 언어의 분류 기계어(machine language) 어셈블리어(assembly language) 고급 언어(high-level language) 기계어 어셈블리어 고급언어 컴퓨터 인간
C언어 1970년대 초 AT&T의 Dennis Ritchie 에 의하여 개발 B언어->C언어 UNIX 운영 체제 개발에 필요해서 만들어짐 처음부터 전문가용 언어로 출발 Ken Thomson과 Dennis Ritchie가 클린턴 대통령으로부터 National Medal of Technology상을 받는 장면
C언어의 특징 간결하다. 효율적이다. C 언어는 하드웨어를 직접 제어하는 하는 저수준의 프로그래밍도 가능하고 고수준의 프로그래밍도 가능하다. C언어는 이식성이 뛰어나다. 초보자가 배우기가 어렵다.
C언어의 특징
알고리즘 Q) 오븐의 사용법만 배우고 음식 재료만 있으면 누구나 요리가 가능한가? A) 요리법을 알아야 한다.
알고리즘 문제를 풀기 위하여 컴퓨터가 수행하여야 할 단계적인 절차를 알고 리즘(algorithm)이라고 한다. (예) 전화번호부에서 친구인 “박철수”의 전화번호를 찾는 문제
빵을 만드는 알고리즘 ① 빈 그릇을 준비한다. ② 이스트를 밀가루, 우유에 넣고 저어준다. ③ 버터, 설탕, 계란을 추가로 넣고 섞는다. ④ 따뜻한 곳에 놓아두어 발효시킨다 ⑤ 170~180도의 오븐에서 굽는다
알고리즘의 기술 순서도(flow chart): 프로그램에서의 논리 순서 또는 작업 순서를 그 림으로 표현하는 방법
순서도의 예
중간 점검 프린터의 고장을 해결하는 알고리즘을 만들어보라. 친구에게 전화를 거는 알고리즘을 만들어보라. 세탁기를 이용하여서 세탁을 하는 알고리즘을 만들어보라.
프로그램 작성 과정
프로그램 작성 단계 편집 (edit) 컴파일 (compile) 링크(link) 에디터를 이용하여 원하는 작업의 내용을 기술하여 소스 코드 작성 소스 파일(source file): 소스 코드가 들어 있는 텍스트 파일 (예) test.c 컴파일 (compile) 소스 파일->기계어로 변환 오브젝트 파일(object file) : 기계어로 변환된 파일 (예) test.obj 링크(link) 오브젝트 파일들을 라이브러리 파일들과 연결하여 하나의 실행 파일 생성 실행 파일 (executable file): 실행이 가능한 파일 (예) test.exe
통합 개발 환경 통합 개발 환경(IDE: integrated development environment): 에디터 + 컴파일러 + 디버거
비주얼 스튜디오 마이크로소프트사의 제품 윈도우 기반의 거의 모든 형태의 응용 프로그램 제작 가능 우리가 사용할 버전: 비주얼 스튜디오 2017 http://www.visualstudio.com/ko
비주얼 스튜디오의 설치
비주얼 스튜디오의 설치
비주얼 스튜디오의 설치
비주얼 스튜디오의 실행
솔루션과 프로젝트 솔루션(solution); 하나의 애플리케이션을 만들기 위한 프로젝트의 그룹. 프로젝트(project): 하나의 실행 파일을 만들기 위하여 필요한 파일 들의 그룹 솔루션 프로젝트 프로젝트 프로젝트
[파일]→[새로 만들기]→[프로젝트] 메뉴를 선택하여 새로운 프로젝트를 생성한다.
대화 상자에서 [Visual C++] 템플릿을 선택한다.
Win32 응용 프로그램 마법사
소스 파일 작성
소스 파일 추가
소스 코드 입력
소스 코드 입력 한글자도 틀리면 안됨!
컴파일과 링크
프로그램 실행
오류가 있었다면?
우리가 작성한 프로그램 다음 장에서 자세히 설명할 것입니다. Hello World! /* 첫번째 프로그램*/ #include <stdio.h> int main(void) { printf("Hello World!"); return 0; } 다음 장에서 자세히 설명할 것입니다. Hello World!
중간 점검 1. 새로운 프로젝트를 생성하고 프로젝트에 소스 파일을 추가하는 메 뉴는 무엇인가? 2. 프로젝트에 속하는 소스 파일을 컴파일하여 실행하는 메뉴는 무엇 인가? 3. C 언어에서는 대문자와 소문자를 구별하는가?
Q & A