코드를 짜다보면 중복되는 명령어들로 인해 코드가 길어지고 읽기 어려워진다. 이렇게 되면 옛날에 썻던 코드를 다시 사용하고 싶을 때 찾지 못하며 변수를 계속해서 만들다 보니 관리가 어려워진다. 이렇게 해서 등장하게 된것이 함수이다.
함수란 "필요한 기능을 하는 코드를 따로 빼서 묶어 놓은 것"이다. 이렇게 만든 함수에 이름을 붙여 다시 쓸때에 함수를 불러와 다시 같은기능을 시킬 수 있다. 사실 함수는 알게모르게 엄청나게 사용하고 있다. 출력이나 입력을 받을 때 사용했던 printf() 나 scanf() (파이썬이라면 print() input()) 등도 모두 함수이다. 이와 같이 미리 구현되어 있는 함수를 라이브러리 함수라 하고 본인이 만든 함수를 사용자 함수 라고 한다. 또한 예전에 언급했듯 c언어에서 main()도 함수이다.
y=f(x)
수학에서도 함수라는 단어가 나오는데, 프로그래밍에서 함수와 같은 부분도 있고 다른 부분도 있다. x를 변수로 (없을 수도 있지만) 함수인 f를 실행시키는 것은 맞지만, 수학과 달리 값을 반환할수도 반환 하지 않을 수도 있다. 이것이 무슨 말이냐 하면은 프로그래밍에서 함수f(x)가 'x에다 +1한값을 구해서 반환(return)해'라고 하자. 이때 f(1)은 2라는 값을 반환하며 연산에 쓰이거나 변수에 대입이 가능하지만 혼자 달랑 f(1)이라고 쓰진 못한다(그냥 코드상에 2가 혼자 적혀있으면 분명 오류가 난다.). 반면 함수g()가 'Hello를 출력해' 라면 함수g()는 프로그램상에 독립적으로 쓰임이 가능하다.
계속...
키보드로 입력한 문자를 그대로 출력하는 프로그램을 작성해보자.
문자 한 개가 입력된다.
입력된 문자를 그대로 출력한다.
p
p
이전 예제에서 %d를 썻던 기억이 있는가? 이번엔 문자 한개이므로 %c를 쓴다. 또 변수를 선언할 때 int대신 char을 쓴다
파이썬은 그대로 써도 똑같다.
'Programming > Codeup.kr기초100제 && 컴퓨터 이야기' 카테고리의 다른 글
[기초-입출력] 정수 두 개 입력받아 그대로 출력하기 && 코딩스타일-변수/함수 명칭의 작성 스타일 (0) | 2016.11.04 |
---|---|
[기초-입출력] 실수 한 개 입력받아 그대로 출력하기 && 함수-매개변수와 전달인자 (0) | 2016.11.03 |
[기초-입출력] 정수 한 개 입력받아 그대로 출력하기 && 변수에 대해서 (0) | 2016.11.01 |
[기초-출력] 출력하기07 && 파이썬의 역사 (0) | 2016.10.30 |
[기초-출력] 출력하기06 && C언어 역사 (0) | 2016.10.29 |