1 / 38

Chapter 2

Chapter 2. 기 초 사 항. 목차. 2.1 첫 번째 프로그램 2.2 화면 출력 2.3 연산이 있는 프로그램 2.4 입력과 출력이 있는 프로그램 2.5 오류 수정 및 디버깅 2.6 응용 프로그램. 2.1 첫 번째 프로그램. 주석. 헤더파일 포함. 함수의 시작. 실행되는 문장. 함수의 종료. 2.1.1 주석 (Comment). 주석 (Comment) : 프로그램에 대한 설명 /* 한 줄로 된 주석 */ /* 여러 줄로 된 주석 */ 이중 슬래시를 이용한 편리한 주석

Télécharger la présentation

Chapter 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 2 기 초 사 항

  2. 목차 2.1 첫 번째 프로그램 2.2 화면 출력 2.3 연산이 있는 프로그램 2.4 입력과 출력이 있는 프로그램 2.5 오류 수정 및 디버깅 2.6 응용 프로그램

  3. 2.1 첫 번째 프로그램 주석 헤더파일 포함 함수의 시작 실행되는 문장 함수의 종료

  4. 2.1.1 주석(Comment) • 주석(Comment) : 프로그램에 대한 설명 • /* 한 줄로 된 주석 */ • /* 여러 줄로 된 주석 */ • 이중 슬래시를 이용한 편리한 주석 • // 이 줄은 전체가 주석 • printf(“Hello World!”); // 문자열을화면으로 출력

  5. 2.1.2 헤더 파일 포함 • #include <stdio.h> • #include는 소스 코드 안에 특정 파일을 현재의 위치에 포함 • 헤더 파일(header file) : 컴파일러가 필요로 하는 정보를 가지고 있는 파일 • stdio.h : STanDart Input Output Header file • 전처리기 지사자 문장 끝에는 세미콜론을 붙이지 않음 stdio.h … int printf(char *,...); … printf()문은 stdio.h 헤더 파일 안에 원형이 있어 stdio.h 헤더 파일을 포함 하면 곧바로 호출 해서 사용 가능

  6. 2.1.3 줄 바꿈 및 들여쓰기 줄 바꿈을 하여 의미 별로 구분 같은 내용의 처리이면 탭이나 공백을 넣어 들여쓰기를 하는 것이 효과적 좋은 방법 나쁜 방법

  7. 2.1.4 함수 • 함수(function) : 특정한 작업을 수행하기 위하여 작성된 독립적인 코드 3 7 int add (int x, int y) { int sum; sum = x + y; return sum; } 10 함수 ※ 함수는 특정한 작업을 수행하기 위하여 main()함수 바깥 부분에 정의 미리 정의된 함수의 원형을 프로토타입이라고 함 add()

  8. 2.1.4 함수 모든 C 프로그램에는 반드시 하나의 main() 함수가 있어야 함 입력은 없음 int main(void) { printf(“Hello World!”); return 0; } 출력은 int형 함수의 출력 타입 0 함수의 이름 함수의 입력 타입 int main ( void ) 함수의 시작 { printf(“Hello World!”); main() 함수의 몸체 return 0; } 함수의 끝

  9. 운영 체제 main() printf(“Hello World!”); return 0; 운영 체제 2.1.5 문장 • 함수는 여러 개의 문장으로 구성 • 문장들은 순차적으로 실행 • 문장은 『;』(세미콜론)으로 끝남 printf(“Hello World!”); printf()함수를 호출하여 콘솔 화면에 Hello World!를 출력하는 문장 return 0; main함수가 작업을 끝내고 OS에게 0값을 반환하는 문장 main함수가 0을 반환하면 프로그램이 정상적으로 종료하였음을 나타냄

  10. 2.2 화면 출력 • printf()는 컴파일러가 제공하는 함수로서 화면에“ ”안의 내용을 출력

  11. 2.2.1 줄 바꿈 기호 다음과 같은 출력을 하는 프로그램 문장은 순차적으로 실행된다는 사실을 이용 printf()문을 2번 사용하여 프로그램 작성 원하는 결과가 아님

  12. 2.2.1 줄 바꿈 기호 • \n은 화면에서 커서는 다음 줄로 이동 • \n처럼 역슬래시(\)가 먼저 나타나면 특별한 의미를 지님 • \n은 줄 바꿈(new line)을 의미 현재 커서의 위치. 다음 문자를 표시할 때는 이곳부터 시작

  13. 2.2.1 줄 바꿈 기호 • 줄 바꿈 문자를 사용하면 원하는 결과를 얻을 수 있음

  14. 데이터입력 데이터처리 결과출력 2.2.2 일반적인 프로그램의 형태 • 프로그램 실행의 단계 • 데이터 입력(입력단계) • 데이터 처리(처리단계) • 결과를 화면에 출력(출력단계)

  15. 주석 /* 두개의숫자의합을계산하는프로그램*/ #include <stdio.h> int main(void) { int x;// 첫번째정수를저장할변수 int y;// 두번째정수를저장할변수 int sum; // 두정수의합을저장하는변수 x = 100; y = 200; sum = x + y; printf("두수의합: %d", sum); return 0; } 전처리기 지시어 변수선언 함수 문장 연산 2.3 연산이 있는 프로그램

  16. 2.3.1 변수 • 프로그램이 사용하는 데이터를 일시적으로 저장할목적으로 사용하는 메모리 공간 int x; // 첫번째 정수를 저장하는 변수 int y; // 두번째 정수를 저장하는 변수 int sum;// 두 정수의 합을 저장하는 변수 그릇 = 변수 프로그램

  17. 2.3.1 변수 • 변수는 데이터를 담는 상자로 생각할 수 있음 • 변수에는 데이터의 종류에 따라 여러 가지 타입이 존재 데이터 변수의 이름 2 ‘A’ 12 12.345 Number

  18. 2.3.1 변수 • 식별자(identifier): 변수나 함수의 이름 • 식별자를 만드는 규칙 • 식별자는 영어의 대소문자, 숫자, 밑줄 문자 『_』 로 구성 • 식별자는 숫자로 시작할 수 없음 • 대문자와 소문자를 구별하며 C 언어의 키워드와 똑같은 이름은 사용 불가 • 식별자의 예 • s, s1, student_number: 올바른 식별자 • $s, 2nd_student, int: 잘못된 식별자 ‘A’ 12 12.345 ch i fvalue

  19. 2.3.2 변수 선언 • 변수 선언: 컴파일러에게 어떤 타입의 변수가사용되는지를 미리 알리는 것 int x; int x; int y; int sum; 변수의 이름 자료형 컴파일러

  20. 2.3.2 변수 선언 • 자료형(data type):변수가 저장할 데이터가 정수인지,실수인지, 아니면 또 다른 어떤 데이터인지 지정하는 것

  21. 2.3.2 변수 선언 int x; // 첫번째 정수를 저장하는 변수 int y; // 두번째 정수를 저장하는 변수 int sum;// 두 정수의 합을 저장하는 변수 정수 각 변수에는 정수를 저장 y sum x 메모리 공간에 변수가 만들어지고 이름이 붙여짐

  22. 2.3.3 상수 • 상수(constant)란 그 값이 프로그램이 실행되는 동안변경 할 수 없는 값 x를 상수로 선언했기 때문에 값을 변경하려 하면 컴파일시 에러 발생 ※ C언어에서 『=』는 수학적인 등호가 아님

  23. 2.3.4 산술 연산 • 컴퓨터는 기본적으로 계산을 하는 기계 • 프로그램 안에서 산술 연산을 할 수 있다는 것은 당연 2 x 5 sum = x + y; 3 = + sum y

  24. 2.3.5 변수 값 출력 • printf()는 모니터에 출력을 하기 위한 표준 출력라이브러리 함수 • printf(“형식 제어 문자열”, 변수); • printf(“%d”, sum);

  25. 2.4 입력과 출력이 있는 프로그램 • 고정된 값이 아닌 입력 받은 값으로 연산하는 프로그램 시작 첫 번째 숫자를 입력하시오: 10 두 번째 숫자를 입력하시오: 20 두개의 정수를 입력 받음 입력단계 두 개의 정수를 더하여 합을 계산 처리단계 합을 화면에 출력 두 수의 합: 30 출력단계 종료

  26. 2.4 입력과 출력이 있는 프로그램

  27. 2.4.1 scanf() • scanf()함수는 키보드로부터 입력된 데이터를 지정된형식으로 변수에 저장하는 라이브러리 함수 • scanf(“%○ %○ ...”, &변수1, &변수2, ...); • 형식지정자와 변수의 개수는 같아야 함 • scanf(“%d %f”, &number, &height); ※ number라는 int변수와 height라는 float변수에 값을 입력 받는 방법 • scanf(“%d , %f”, &number, &height); scanf() 함수에 의한 입력 값은 100 , 12.345 처럼“ ”안의 형식대로 입력해야 함

  28. 2.5 오류 수정 및 디버깅 • 에러(error)와경고(warning) • 에러(error) : 심각한 오류 에러가 검출되면 컴파일, 링크 불가 • 경고(warning) : 경미한 오류 경고가 검출되면 컴파일, 링크 및 실행도 가능하지만 잠재적인 문제를일으킬 우려가 있음 • 오류의 종류 • 컴파일 시간 오류 : 대부분 문법적인 오류 • 실행 시간 오류 : 실행되는 도중에 발생하는 오류 • 논리 오류 : 논리적으로 잘못되어서 의도한 결과가 나오지 않는 오류

  29. 2.5.1 오류 메시지의 분석 에러가 발견된 소스 파일명 의미 앞에 를 빠뜨렸다는 return ; Compiling... test.c c: \ cprogram \ test \ test.c(7) : error C2143: syntax error : missing ';' before 'retu rn' Error executing cl.exe . 문법적인 오류 에러가 발견된 라인의 번호 (syntax error) 가 있었음을 나타냄

  30. 컴파일러 (compiler) 링커 (linker) 실행 (execution) 소스파일 test.c 오브젝트 파일 test.obj 실행파일 test.exe ERROR!! 실행 시간 오류 컴파일 시간 오류 논리 오류 2.5.2 오류 수정 과정 • 오류 수정 과정

  31. 2.5.2 오류 수정 과정 • 오류 1 /* 에러가 발생하는 프로그램 */ #include <stdio.h> int main(void) { printf("Hello World!\n") return 0; } 문장의 끝에 『;』이 없음!! --------------------Configuration: test - Win32 Debug-------------------- Compiling... test.c C:\PROJECT\test\test.c(7) : error C2143: syntax error : missing ';' before 'return' Error executing cl.exe. test.exe - 1 error(s), 0 warning(s)

  32. 2.5.2 오류 수정 과정 • 오류 2 /* 에러가발생하는프로그램* / #include <stdio.h> int main(void) { printf("Hello World!\n") return 0; } 『*』과 『/』이 떨어져 있음 전체가 주석 처리됨 --------------------Configuration: test - Win32 Debug-------------------- Compiling... test.c c:\project\test\test.c(9) : fatal error C1071: unexpected end of file found in comment Error executing cl.exe. test.exe - 1 error(s), 0 warning(s)

  33. 2.5.2 오류 수정 과정 • 오류 3 /* 첫번째프로그램*/ #include <stdio,h> int main(void) { print("Hello World!"); return 0; } stdio.h로 적어주어야 됨 --------------------Configuration: test - Win32 Debug-------------------- Compiling... test.c c:\project\test\test.c(2) : fatal error C1083: Cannot open include file: 'stdio,h': No such file or directory

  34. 2.5.2 오류 수정 과정 • 오류 4 print가 아니고 printf /* 첫번째프로그램*/ #include <stdio.h> int main(void) { print("Hello World!"); return 0; } -------------------Configuration: test - Win32 Debug-------------------- Compiling... test.c C:\CPROGRAM\test\test.c(6) : warning C4013: 'print' undefined; assuming extern returning int Linking... test.obj : error LNK2001: unresolved external symbol _print Debug/test.exe : fatal error LNK1120: 1 unresolved externals Error executing link.exe. test.exe - 2 error(s), 1 warning(s)

  35. 2.6 응용 프로그램 • 연봉 계산 프로그램 • 10년 동안 월급을 모두 저금할 경우, 얼마나 모을 수 있는지 계산하는프로그램 (단 이자는 생각하지 않음)

  36. 2.6 응용 프로그램 • 원의 면적 구하기 프로그램 • 원의 반지름을 입력 받고, 이 원의 면적을 구한 후 화면에 출력해 주는프로그램

  37. 2.6 응용 프로그램 • 원 달러 환율 계산 프로그램 • 원 달러 환율과 한화 금액을 입력하면 몇 달러인지 계산해서 화면에출력해주는 프로그램

  38. Q n A

More Related