코딩 이야기/C언어

[C언어] 2. 프로그램 개발 과정

dajoonee(다쥬니) 2020. 12. 9. 06:01
728x90
반응형

* 이 글은 2019. 9. 8. 22:58에 작성되었던 글입니다 *

 

1. 문제 분석

: 개발할 프로그램의 내용, 성격, 해당 프로그램의 사용자가 요구하는 기능이 무엇인지 분석하는 과정.

2. 알고리즘 설계

- 원하는 결과가 나오도록 컴퓨터가 해야 할 일을 순서대로 모아둔 것.

- 프로그램 개발에서 아주 매우 중요한 단계.

- 건축물 설계도를 만드는 과정에 해당.

- 순서도(flow chart)나 의사 코드(pseudo code)를 이용하여 나타냄.

3. 코딩하기

: 알고리즘을 특정 프로그래밍 언어로 옮기는 작업.

(소스파일, 소스코드)

4. 컴파일(compiling) 하여 목적 파일(*.obj =object)과 라이브러리 파일 생성.

5. 링킹(linking)을 통해 실행파일 생성 (*.exe)

6. 실행 및 디버깅(Debugging)

*오류의 종류*

컴파일 시점에서의 오류와 링크 시점에서의 오류, 실행 시점 오류가 있다.

컴파일 시점의 오류의 경우 구문 오류가 대다수로 발생한다고 함.

링크 시점에서의 오류를 찾아내는 것은 다소 까다롭다.

링크 오류 예 int main()이라고 쓸 것을 mian이라고 쓰는 스펠링 오류!

** 실행 시점 오류 : 논리 오류가 대다수.

알고리즘 자체가 잘못된 경우에 논리 오류가 발생한다.

1) 구문(syntax) 오류

: 코드가 c 언어 구문에 맞지 않는 오류.

ex) age = 15

→ 명령어 뒤에는 ;이 꼭 붙어야 함.( c언어에서만)

if age < 20

→ () 안에 쓰지 않음.

2) 논리(logic) 오류 ★★★★★

: 프로그램 결과가 의도한 대로 나오지 않는 오류.

ex) sum / n 문장이 실행될 시점에 n이 0일 때 → 0은 나눌 수가 없으므로 오류 발생.

더 쉽게 설명하자면... 반품할 물건을 박스에 넣지도 않고 테이프로만 봉했다면..?

애초에 반품 접수 거절을 당함.. ㅋㅋㅋ

*소프트웨어 개발의 7단계*

1. 목적을 정의한다.

2. 프로그램을 설계한다.

3. 코드를 작성한다.

4. 컴파일 한다.

5. 실행.

6. 시험 후 오류 발견되면 수정한다.(debugging)

7. 프로그램을 유지하고 개선해나간다.

p.s 디버깅 단어의 유래?!

옛날 옛적에는 펀칭 카드를 이용하여 코딩을 하였는데 구멍 부분에 벌레가 자꾸 낑겨서 오류가 발생하는 경우가 많았음.

그래서 벌레를 제거하여 오류를 잡았다. 그리하여 곤충(bug)을 제거하다는 뜻의 단어인 DEBUG가 현재까지도 이어져 내려오고 있다 *_*

 

 

c언어 시리즈

 

[C언어] 1. C 프로그램의 이해

* 이 글은 2019. 9. 8. 22:01에 작성되었던 글입니다 * 컴퓨터는 2진수(binary numbers)인 0과 1만 사용. 사람은 10진수(decimal numbers)인 0~9 사용. (왜냐 손가락이 10개이기 때문에 ㅋ.ㅋ) ​ * 2진수로..

dajoonee.tistory.com

 

 

[C언어] 2. 프로그램 개발 과정

* 이 글은 2019. 9. 8. 22:58에 작성되었던 글입니다 * 1. 문제 분석 : 개발할 프로그램의 내용, 성격, 해당 프로그램의 사용자가 요구하는 기능이 무엇인지 분석하는 과정. ​ 2. 알고리즘 설계 - 원

dajoonee.tistory.com

 

 

[C언어] 3. C 프로그램의 구조

* 이 글은 2019. 9. 9. 1:06에 작성되었던 글입니다 * C 프로그램 구조 ​ c 프로그램 : 특정 일을 수행하는 함수들의 모임 ​ main 함수 - 반드시 있어야 하는 함수. - 이 외에도 사용자 목적에 맞게

dajoonee.tistory.com

 

 

[C언어] 4. 변수와 자료형

* 이 글은 2019. 9. 10. 22:47에 작성되었던 글입니다 * C 프로그램의 구성요소 - 변수 ; 프로그램에서 처리할 데이터를 저장할 주소 지정 - 상수 : 데이터 값 자체. 변하지 않는다. - 대입문 : 변수에

dajoonee.tistory.com

 

 

[C언어] 5. 출력 함수(라이브러리 함수)

* 이 글은 2019. 9. 11. 0:07에 작성되었던 글입니다 * printf 함수의 변환 명세 (출력 포맷 설정) 식(변수) 결과 값의 출력 : 변환 명세를 사용. ex) printf ("%d\n"), age %d 변환 명세 자리에 age변수의..

dajoonee.tistory.com

 

반응형