Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

새싹교실/2017/C언어가르쳐조/5월16일: Difference between revisions

From ZeroWiki
No edit summary
(Repair batch-0006 pages from live compare)
 
(One intermediate revision by one other user not shown)
Line 11: Line 11:
** ''
** ''
  type
  type
'' ''{{{identifier}}}'' (''{{{type}}} {{{[identifier][[, ...]]}}}'');
'' '' identifier'' ('' type [identifier][, ...]'');
** 선언 후 정의  
** 선언 후 정의  
** 표준 라이브러리 함수
** 표준 라이브러리 함수
Line 38: Line 38:
** 프로그램 실행 인자를 받는(main의 인자) 프로그램 만들기
** 프로그램 실행 인자를 받는(main의 인자) 프로그램 만들기
**  
**  
  [
  [
{{{[[add|sub|mul|div]]}}} ''{{{[op1]}}}'' ''{{{[op2]}}}'' ''{{{[[, ...]]}}}''{{{]}}}
[add|sub|mul|div] '' [op1]'' '' [op2]'' '' [, ...]'' ]
** 인자를 받을 경우 즉시 종료
** 인자를 받을 경우 즉시 종료
* 사용자 정의 함수를 사용해 봅시다.
* 사용자 정의 함수를 사용해 봅시다.
* 헤더와 소스코드를 분리해 봅시다.
* 헤더와 소스코드를 분리해 봅시다.
= 진행 =
= 진행 =
* 함수
** 인자, 반환값, 매개변수 등등으로 구성되어 있는 '도구'
** 순서에 영향을 많이 받기 때문에 함수가 호출되려면 앞에서 함수가 정의되어 있어야 한다.
* 재귀함수
** 함수가 자기 자신을 호출하는 함수.
** 속도가 느리다. 그러나 특정한 상황에서는 빠를 수도 있음
** 피보나치 수열이나 팩토리얼 계산에 활용할 수 있음
* 변수
** 전역변수 : 프로그램 전체에서 접근할 수 있고, 존재하는 변수
** 지역변수 : 한 함수 안에서 (중괄호 내에서) 존재하고, 접근할 수 있는 변수. 함수가 끝나면 사라진다
** static : 지역변수이긴 한데 함수가 끝나도 메모리 안에 존재하는 변수. 그러나 다른 함수에서는 접근하지 못한다.
* 표준 라이브러리 함수
** 사용자가 함수를 더 사용하기 쉽게 어떤~~친절한~~사람이 만들어놓은 헤더파일이라고 보면 된다.
** stdio.h, stdlib 에서 지정된 printf, scanf 등이 있음.
* main함수
** main함수도 반환값이 있다
** 반환값이 0이면 성공적으로 실행된 것이라고 약속해놨음
** stdlib.h에서는 성공 반환값과 실패 반환값을 EXIT_SUCCESS, EXIT_FAILURE라고 매크로로 정의해놓음
* stack
** 마지막에 집어넣은 것일수록 제일 먼저 나오는 구조
** ~~어셈블리를 배우고 왔으면 더 쉬울건데~~
** 대충만 알아도 성공한 것이다
= 실습 =
= 실습 =
= 기타 / 후기 / 방명록 =
= 기타 / 후기 / 방명록 =
Line 49: Line 71:
[[새싹교실/2017/C언어가르쳐조]]
[[새싹교실/2017/C언어가르쳐조]]
[[새싹교실/2017]]
[[새싹교실/2017]]

Latest revision as of 01:08, 27 March 2026

예정

  • 수업 1시간 넘을수도 있음 (실습은 약간만)
  • 강의 :
  • 함수와 프로그램 구조
    • 함수,,function,,
    • 인자, 반환값, 매개변수, void, side-effect
    • 변수 유효 영역,,scope,,(recall)
    • 저장 클래스,,storage class,,, static, extern
    • 사용자 정의 함수
type

identifier ( type [identifier][, ...]);

    • 선언 후 정의
    • 표준 라이브러리 함수
    • main 함수 *
      • argc, argv, EXIT_SUCESS, EXIT_FAILURE
    • 호출 스택 *
    • 재귀 함수,,recursive function,, *
    • 프로그램 구조 *
    • 헤더 파일
    • extern
-----------------------------------------------------------------------
  • 실습 :
  • 시간이 허락하는 만큼 까지만 합니다.
  • 사칙연산 계산기 만들기
  • #1)
    • 입력)
      • 첫 번째 : 연산 종류('+', '-', '*', '/')
      • '!' 입력시 종료
      • 두 번째, 세 번째 : 각각 피연산자 2개(정수만)
    • 출력)
      • 연산 결과
    • 프롬프트를 출력할 것
    • 종료 전까지 무한 반복
  • #2)
#1에서,
    • 프로그램 실행 인자를 받는(main의 인자) 프로그램 만들기
[
[add|sub|mul|div]  [op1]  [op2]  [, ...] ]
    • 인자를 받을 경우 즉시 종료
  • 사용자 정의 함수를 사용해 봅시다.
  • 헤더와 소스코드를 분리해 봅시다.

진행

  • 함수
    • 인자, 반환값, 매개변수 등등으로 구성되어 있는 '도구'
    • 순서에 영향을 많이 받기 때문에 함수가 호출되려면 앞에서 함수가 정의되어 있어야 한다.
  • 재귀함수
    • 함수가 자기 자신을 호출하는 함수.
    • 속도가 느리다. 그러나 특정한 상황에서는 빠를 수도 있음
    • 피보나치 수열이나 팩토리얼 계산에 활용할 수 있음
  • 변수
    • 전역변수 : 프로그램 전체에서 접근할 수 있고, 존재하는 변수
    • 지역변수 : 한 함수 안에서 (중괄호 내에서) 존재하고, 접근할 수 있는 변수. 함수가 끝나면 사라진다
    • static : 지역변수이긴 한데 함수가 끝나도 메모리 안에 존재하는 변수. 그러나 다른 함수에서는 접근하지 못한다.
  • 표준 라이브러리 함수
    • 사용자가 함수를 더 사용하기 쉽게 어떤~~친절한~~사람이 만들어놓은 헤더파일이라고 보면 된다.
    • stdio.h, stdlib 에서 지정된 printf, scanf 등이 있음.
  • main함수
    • main함수도 반환값이 있다
    • 반환값이 0이면 성공적으로 실행된 것이라고 약속해놨음
    • stdlib.h에서는 성공 반환값과 실패 반환값을 EXIT_SUCCESS, EXIT_FAILURE라고 매크로로 정의해놓음
  • stack
    • 마지막에 집어넣은 것일수록 제일 먼저 나오는 구조
    • ~~어셈블리를 배우고 왔으면 더 쉬울건데~~
    • 대충만 알아도 성공한 것이다

실습

기타 / 후기 / 방명록


새싹교실/2017/C언어가르쳐조 새싹교실/2017