26
전전전전전전전 전전전 : 전 전전 2004 전전 전전전전 전전전전 C 전전전전전 전전

2004 년도 여름방학 영재교육 C 프로그래밍 과정

  • Upload
    maris

  • View
    71

  • Download
    2

Embed Size (px)

DESCRIPTION

2004 년도 여름방학 영재교육 C 프로그래밍 과정. 발표자 : 김 진성. Contents. C 언어 기초 암호화 시스템 암호화 시스템의 종류 전자문서 암호화 및 복화화 과정 C 언어의 비트 연산자 XOR C 언어를 이용한 전자문서 암호화 C 언어를 이용한 전자문서 복화화. 1.2 첫 프로그램. Visual C 실행 시키기. 4. 마우스 클릭. 3. 마우스 포인트 위치시킴. 2. 마우스 포인트 위치시킴. 1. 마우스 클릭. 1.2 첫 프로그램. - PowerPoint PPT Presentation

Citation preview

Page 1: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

전자정보공학부

발표자 : 김 진성

2004 년도 여름방학 영재교육C 프로그래밍 과정

Page 2: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

전자정보공학부

Contents C 언어 기초 암호화 시스템 암호화 시스템의 종류 전자문서 암호화 및 복화화 과정 C 언어의 비트 연산자 XOR C 언어를 이용한 전자문서 암호화 C 언어를 이용한 전자문서 복화화

Page 3: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

3전자정보공학부

1.2 첫 프로그램 Visual C 실행 시키기

마우스클릭

마우스 포인트위치시킴

마우스 포인트위치시킴

마우스클릭

1

2

3

4

Page 4: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

4전자정보공학부

1.2 첫 프로그램 Visual C 실행 화면 메뉴 툴바

문서 창프로그램 작성

결과 창

컴파일 및디버깅 결과

보여줌

프로젝트 창(프로젝트가포함하고 있는File 보여줌 )

Page 5: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

5전자정보공학부

1.2 프로젝트 만들기

<- 새 프로젝트 열기

마우스클릭

프로젝트 이름 입력(작성 프로그램 이름 )

파일 메뉴 – New 선택 (클릭 )

마우스 클릭하여작성 프로그램폴더 선택

(컴퓨터의 파일 위치 )마우스클릭

마우스클릭

1

2

3

4

5

6

Page 6: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

6전자정보공학부

1.2 첫 프로그램 프로젝트 작성과정 완료

마우스클릭

Page 7: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

7전자정보공학부

1.2 첫 프로그램 Visual C 에서 프로젝트 ( 작성을 위한 프로그램 ) 가 열린 상태

마우스 클릭

소스파일 표시(편집 위함 )

해더파일 표시(편집 위함 )

Page 8: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

8전자정보공학부

1.2 소스 파일 만들기

<- 새 소스파일 만들기

마우스클릭

체크 확인

파일 메뉴 – New 선택 (클릭 )

소스파일 (hello.c) 이름 입력하기 (5)

마우스클릭

마우스클릭

1

2

3

4

5

6

Page 9: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

9전자정보공학부

1.2 소스파일 (hello.c) 편집

마우스 클릭

마우스 더블클릭( 빠르게 두번 연속 )

소스 코드 편집

소스파일 저장

1

2

3

4

Page 10: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

10전자정보공학부

소스파일 컴파일

마우스 클릭

Page 11: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

11전자정보공학부

소스파일 컴파일

컴파일 완료컴파일 과정에서

컴파일 에러 발생하면소스코드 수정함

Hello.obj 파일 만들어짐

Page 12: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

12전자정보공학부

프로그램 실행시키기

마우스 클릭

마우스 클릭

1

2

Page 13: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

13전자정보공학부

프로그램 실행 결과 하면

중요

다음 작업을하기 전에반드시 실행창을닫을 것

실행창이 활성화된상태에서 키보드의아무키나 누르면 됨

실행창 활성화란

요 부분의 색이파란색임

First ProgramEnd

Page 14: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

14전자정보공학부

배열

배열 이란 ?– 메모리에 순차적으로 임시 기억장소를 지정함 .

– 배열의 각 원소들은 인덱스 (index) 라고도 부르는 첨자를 사용

– int grade[3];

• grade[0], grade[1], grade[2] : 세 개의 저장 공간 확보됨

• grade[3] = 3; /* ERROR 배열의 범위 벗어남 */

Page 15: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

15전자정보공학부

배열

배열 a 에 값이 저장된 모습– a[0] 의 시작 주소는 1000 번 에 저장됨

– a[0] = 7

– a[1] = 8

– a[2] = 11

– a[3] = 16

– a[4] = 23

Page 16: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

16전자정보공학부

포인터 변수 와 & 연산자– 주소를 저장할 수 있는 변수 .

– 변수의 주소 값을 얻을 수 있음 .

– 예 ))

포인터 선언 및 할당

int *p;int month=3;p = &month;

int *p;int month=3;p = &month;

포인터 변수 p 에 month의 메모리 주소 저장

포인터 변수 선언

Page 17: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

17전자정보공학부

포인터 연산자– 포인터 변수 선언을 위한 * 와는 다른 의미

– 포인터 변수가 가르키는 값을 의미

– 예

포인터 연산자

int month=3;int *p;p = &monthprintf(“month = %d”, *p);

int month=3;int *p;p = &monthprintf(“month = %d”, *p);

포인터 변수 선언

수식에서 사용된 포인트 연산자

p 가 month 의 주소 값을 가지고 있으므로 *p 는 p 가 가르키는 month 의 값 3 을 의미

Page 18: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

18전자정보공학부

예 1

예 2

예 3

포인터 선언 및 할당

p a

?

b

? ?

p b

7

p a

3

7

a

7

b

int a, b; int *p; int a, b; int *p;

a = b = 7; p = &a;

a = b = 7; p = &a;

*p = 3; *p = 3;

printf("*p = %d\n", *p);: 실행 결과로 7 이 출력

Page 19: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

전자정보공학부

암호화 란 ?

– 암호화란 전자문서의 내용을 정당한 권한이 없는 자가 볼 수 없도록

암호키를 사용하여 암호문을 만드는 과정을 말합니다 .

복호화 란 ?

– 정당한 권한을 가진 자가 암호키를 사용하여 전자문서의 내용을

복원하는 과정을 말합니다 .

암호화 시스템

Page 20: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

전자정보공학부

단일 키 암호화

– 암호화와 복호화 과정에서

동일한 키를 사용 .

공개 키 암호화

– 암호화와 복호화 과정에서

서로 다른 키를 사용 .

( 개인키 / 공개키 )

암호화 시스템의 종류

Page 21: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

21전자정보공학부

전자문서

암호문서

암호 키

( 송신자 )

( 수신자 )문서 내용 해독불가능

맞으면

틀리면

암호문서

암호 키전자문서

문서 내용 해독가능

인터넷

전자문서 암호화 및 복호화 과정

단일 키

Page 22: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

22전자정보공학부

C 언어의 비트 연산자 XOR

비트연산자 XOR 를 이용한 암호화 원리

비트 연산자 XOR 를 이용한 복호화 원리

e d c b

1 2 3 4

f f f f

1110 1101 1100 1011

0001 0010 0011 0100

1111 1111 1111 1111

^ ^

==원문

키값

암호

f f f f

1 2 3 4

1111 1111 1111 1111

0001 0010 0011 0100^ ^

==

암호

키값

e d c b 1110 1101 1100 1011원문

Page 23: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

23전자정보공학부

C 언어의 비트 연산자 XOR 비트연산자 XOR 를 이용한 암호화 원리

Page 24: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

24전자정보공학부

C 언어를 이용한 전자문서 암호화

Page 25: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

25전자정보공학부

C 언어를 이용한 전자문서 복호화

Page 26: 2004 년도 여름방학  영재교육 C 프로그래밍 과정

26전자정보공학부

C 언어를 이용한 전자문서 복호화