14
1 Intelligent Robotics Lab. Ch2. 프로그램의 기본 구성과 출력함수 Topics and Objectives 프로그램의 기본 구성 및 printf 함수의 기능 확인 C Program의 기본 틀(frame) printf 함수를 이용한 문자열 구성 및 출력 printf 함수를 이용한 숫자 구성 및 출력 서식문자, 변수 및 연산자에 대한 기본 사항 메모리 공간 할당 및 활용 주석문 소스 코드에 대한 설명

Ch2. 프로그램의기본구성과출력함수ks.ac.kr/kimbh/KSU-Lectures/Lecture2020-1/Ch02-CPro... · 2020-03-24 · 1 Intelligent Robotics Lab. Ch2. 프로그램의기본구성과출력함수

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ch2. 프로그램의기본구성과출력함수ks.ac.kr/kimbh/KSU-Lectures/Lecture2020-1/Ch02-CPro... · 2020-03-24 · 1 Intelligent Robotics Lab. Ch2. 프로그램의기본구성과출력함수

1

Intelligent Robotics Lab.

Ch2. 프로그램의 기본 구성과 출력함수

Topics and Objectives프로그램의 기본 구성 및 printf 함수의 기능 확인

C Program의 기본 틀(frame)printf 함수를 이용한 문자열 구성 및 출력printf 함수를 이용한 숫자 구성 및 출력

서식문자, 변수 및 연산자에 대한 기본 사항메모리 공간 할당 및 활용

주석문

소스 코드에 대한 설명

Page 2: Ch2. 프로그램의기본구성과출력함수ks.ac.kr/kimbh/KSU-Lectures/Lecture2020-1/Ch02-CPro... · 2020-03-24 · 1 Intelligent Robotics Lab. Ch2. 프로그램의기본구성과출력함수

2

Intelligent Robotics Lab.

프로그램의 기본 구성 및 printf 함수의 기능

C Program의 기본 틀(frame)

main 함수 : ex) 2-1.c, p.21~23

프로그램의 시작점 and 종료 지점

Page 3: Ch2. 프로그램의기본구성과출력함수ks.ac.kr/kimbh/KSU-Lectures/Lecture2020-1/Ch02-CPro... · 2020-03-24 · 1 Intelligent Robotics Lab. Ch2. 프로그램의기본구성과출력함수

3

Intelligent Robotics Lab.

printf 함수를 이용한 문자열 출력: ex) 2-2.c, p.23~24문자열

프로그램상에서 큰 따옴표로 묶어서 표현

printf 함수의 기능큰 따옴표로 묶여서 표현되는 문자열 출력

printf 함수의 호출을 위해 필요한 것#include <stdio.h> 삽입

ex) 2-2.c

#include <stdio.h>

int main(void)

{

printf("사과 \n ");printf("토마토 \n");printf("파인애플 \n") ;return 0;

}

'\n'은 개행의 의미를 지니는 “escape sequence"

C 프로그램을 구성하는 명령문의 끝을 표시

Header file

Page 4: Ch2. 프로그램의기본구성과출력함수ks.ac.kr/kimbh/KSU-Lectures/Lecture2020-1/Ch02-CPro... · 2020-03-24 · 1 Intelligent Robotics Lab. Ch2. 프로그램의기본구성과출력함수

4

Intelligent Robotics Lab.

Escape Sequence의 의미와 종류: 표 2-1단순히 출력되는 문자가 아닌, 다른 의미로 해석되는 문자

Escape Sequence 활용 예: ex) 2-3.c, 2-4.c, p.27~28

Page 5: Ch2. 프로그램의기본구성과출력함수ks.ac.kr/kimbh/KSU-Lectures/Lecture2020-1/Ch02-CPro... · 2020-03-24 · 1 Intelligent Robotics Lab. Ch2. 프로그램의기본구성과출력함수

5

Intelligent Robotics Lab.

ex) 2-3.c

#include <stdio.h>

int main(void)

{

printf("boy\tapple\n");

printf("mornimk\b\bng\n");

printf("up\rdown\n");

printf("sound!\a\a\a\n");

return 0;

}ex) 2-4.c

#include <stdio.h>

int main(void)

{

printf(" \"Double quotation mark\" \n");

printf(" \\backslash\\ \n");

printf(" \' \? \n");

return 0;

}

Page 6: Ch2. 프로그램의기본구성과출력함수ks.ac.kr/kimbh/KSU-Lectures/Lecture2020-1/Ch02-CPro... · 2020-03-24 · 1 Intelligent Robotics Lab. Ch2. 프로그램의기본구성과출력함수

6

Intelligent Robotics Lab.

printf 함수를 이용한 문자열 구성

printf 함수를 이용한 숫자 출력: 그림 2-2, ex) 2-6.c%d와 같은 문자를 가리켜 '서식문자’라 하며10진수 정수의 출력을 의미

ex) 2-6.c

#include <stdio.h>

int main(void)

{

printf("Apple %d \n", 100);

printf("Apple %d Orange %d \n", 100, 200);

printf("Apple %d Orange %d Kiwi %d \n", 100, 200, 300);

return 0;

}

%d의 개수만큼 printf문에 추가로 데이터가 삽입되어야 함

Page 7: Ch2. 프로그램의기본구성과출력함수ks.ac.kr/kimbh/KSU-Lectures/Lecture2020-1/Ch02-CPro... · 2020-03-24 · 1 Intelligent Robotics Lab. Ch2. 프로그램의기본구성과출력함수

7

Intelligent Robotics Lab.

서식문자, 변수 및 연산자에 대한 기본 사항

메모리 공간의 할당과 활용: 그림 2-3

메모리 공간

데이터의 저장과 참조를 위한 물리적 장치

메모리 공간의 활용

물리적 저장 장치에 대한 데이터의 저장 및 참조를 의미함

Page 8: Ch2. 프로그램의기본구성과출력함수ks.ac.kr/kimbh/KSU-Lectures/Lecture2020-1/Ch02-CPro... · 2020-03-24 · 1 Intelligent Robotics Lab. Ch2. 프로그램의기본구성과출력함수

8

Intelligent Robotics Lab.

변수(Variable)에 대한 이해: 그림 2-4

메모리 공간의 활용을 위해 필요한 것 두 가지

메모리 공간의 할당 및 할당된 메모리 공간으로의 접근

변수의 도입

메모리 공간의 할당과 접근 방법을 제공

int num1;

int num2;

10진수 정수를 저장할 두 개의 메모리 공간 할당

각각의 메모리 공간에 접근하기 위한 이름 부여(num1, num2)

변수 선언

Page 9: Ch2. 프로그램의기본구성과출력함수ks.ac.kr/kimbh/KSU-Lectures/Lecture2020-1/Ch02-CPro... · 2020-03-24 · 1 Intelligent Robotics Lab. Ch2. 프로그램의기본구성과출력함수

9

Intelligent Robotics Lab.

변수 선언 및 초기화: ex) 2-7.cint num=0;

num이라는 이름의 변수 선언 및 0으로 초기화= 기호는 오른쪽에 있는 값을 왼쪽에 저장하라는 의미int는 변수 num에 정수를 저장하겠다는 의미

Page 10: Ch2. 프로그램의기본구성과출력함수ks.ac.kr/kimbh/KSU-Lectures/Lecture2020-1/Ch02-CPro... · 2020-03-24 · 1 Intelligent Robotics Lab. Ch2. 프로그램의기본구성과출력함수

10

Intelligent Robotics Lab.

변수의 출력을 위하여 사용되는 서식문자

1. = 기호는 오른쪽의 값을 왼쪽 저장

2. 변수 val을 선언과 동시에 0으로 초기화#include <stdio.h>

int main(void)

{

int val=0;

val=1+2;

printf("1+2=%d \n", val);

val=2+3;

printf("2+3=%d \n", val);

return 0;

}

Page 11: Ch2. 프로그램의기본구성과출력함수ks.ac.kr/kimbh/KSU-Lectures/Lecture2020-1/Ch02-CPro... · 2020-03-24 · 1 Intelligent Robotics Lab. Ch2. 프로그램의기본구성과출력함수

11

Intelligent Robotics Lab.

주석문

주석문

주석문은 소스 코드 내에 삽입하는 메모로서 코드와 관련된 설명 삽입

프로그램 이해가 용이함

주석문은 컴파일의 대상에서 제외됨

블록 단위 주석 (ex) 2-8.c) : /* ~ */

행 단위 주석 (ex) 2-9.c) : // 주석내용

Page 12: Ch2. 프로그램의기본구성과출력함수ks.ac.kr/kimbh/KSU-Lectures/Lecture2020-1/Ch02-CPro... · 2020-03-24 · 1 Intelligent Robotics Lab. Ch2. 프로그램의기본구성과출력함수

12

Intelligent Robotics Lab.

Page 13: Ch2. 프로그램의기본구성과출력함수ks.ac.kr/kimbh/KSU-Lectures/Lecture2020-1/Ch02-CPro... · 2020-03-24 · 1 Intelligent Robotics Lab. Ch2. 프로그램의기본구성과출력함수

13

Intelligent Robotics Lab.

Page 14: Ch2. 프로그램의기본구성과출력함수ks.ac.kr/kimbh/KSU-Lectures/Lecture2020-1/Ch02-CPro... · 2020-03-24 · 1 Intelligent Robotics Lab. Ch2. 프로그램의기본구성과출력함수

14

Intelligent Robotics Lab.

들여쓰기(Indentation)프로그램 소스 코드의 구조적인 이해를 위하여 매우 중요한 요소

Home WorkPage 29에 있는 문제 1, 문제 2에 해당하는 프로그램(problem1.c, problem2.c)을 작성하고, 프로그램을 구성하는 중요한 사항에 대하여자세히 설명하라. 실행결과를 첨부하라. 여기서, 각 프로그램의 project 및 solution name은 각각 problem1과problem2를 사용하라.

Page 39, 문제 2-2를 해결하라.