함수 return 의미 - hamsu return uimi

함수에 값을 넣으면 함수는 계산된 값을 돌려준다. 이것이 바로 함수의 핵심이지요. 프로그래밍에서도 마찬가지입니다. 지금까지 우리가 만든 함수들은 일은 열심히 하지만 돌려주는 것은 없었지요.

그렇다면 이젠 일도 하고 결과를 돌려주기도 하는 함수를 만들어 봐야겠죠?

>>> def f1(x):
...   a = 3
...   b = 5
...   y = a * x + b
...   return y             # y 값을 반환한다
...
>>> c = f1(10)             # c = 35
>>> print(c)
35

위의 그림과 같은 역할을 하는 함수 f1()을 만들어봤습니다. 값을 돌려주기 위해 return 이라는 것이 쓰였지요? 이렇게 만들어진 함수에 10이라는 인자를 넣어주면 함수는

>>> def f2(x):
...     a = 3
...     b = 5
...     y = a * x + b
...     print(y)           # y 값을 출력한다
...
>>> d = f2(10)             # d = ?
35
>>> print(d)
None
0라는 값을 돌려줍니다. 따라서, 그 값을 다시
>>> def f2(x):
...     a = 3
...     b = 5
...     y = a * x + b
...     print(y)           # y 값을 출력한다
...
>>> d = f2(10)             # d = ?
35
>>> print(d)
None
1라는 변수에 넣을 수도 있는 거죠.

만약, 함수를 정의할 때

>>> def f2(x):
...     a = 3
...     b = 5
...     y = a * x + b
...     print(y)           # y 값을 출력한다
...
>>> d = f2(10)             # d = ?
35
>>> print(d)
None
2 대신에
>>> def f2(x):
...     a = 3
...     b = 5
...     y = a * x + b
...     print(y)           # y 값을 출력한다
...
>>> d = f2(10)             # d = ?
35
>>> print(d)
None
3라고 썼다면 어떻게 될까요?

>>> def f2(x):
...     a = 3
...     b = 5
...     y = a * x + b
...     print(y)           # y 값을 출력한다
...
>>> d = f2(10)             # d = ?
35
>>> print(d)
None

>>> def f2(x):
...     a = 3
...     b = 5
...     y = a * x + b
...     print(y)           # y 값을 출력한다
...
>>> d = f2(10)             # d = ?
35
>>> print(d)
None
4이라고 하면
>>> def f2(x):
...     a = 3
...     b = 5
...     y = a * x + b
...     print(y)           # y 값을 출력한다
...
>>> d = f2(10)             # d = ?
35
>>> print(d)
None
5 함수가 실행되어
>>> def f2(x):
...     a = 3
...     b = 5
...     y = a * x + b
...     print(y)           # y 값을 출력한다
...
>>> d = f2(10)             # d = ?
35
>>> print(d)
None
0가 화면에 나타나지만
>>> def f2(x):
...     a = 3
...     b = 5
...     y = a * x + b
...     print(y)           # y 값을 출력한다
...
>>> d = f2(10)             # d = ?
35
>>> print(d)
None
7에게 값을 반환하지는 않죠. 그래서
>>> def f2(x):
...     a = 3
...     b = 5
...     y = a * x + b
...     print(y)           # y 값을 출력한다
...
>>> d = f2(10)             # d = ?
35
>>> print(d)
None
7를 프린트해보면 아무 값이 없다는 뜻으로
>>> def f2(x):
...     a = 3
...     b = 5
...     y = a * x + b
...     print(y)           # y 값을 출력한다
...
>>> d = f2(10)             # d = ?
35
>>> print(d)
None
9이 출력됩니다.

어떠세요? 이제 함수가 값을 반환하는 것에 대해서 이해가 되시나요? 그렇다면 값을 반환하는 함수를 직접 만들어 보실 차례입니다.

삼각형의 넓이를 구하는 함수를 만들어보세요.

함수의 인자로는 삼각형의 밑변과 높이가 주어지고, 반환(return) 값은 삼각형의 넓이가 되는 겁니다. 간단하겠죠?

문제를 풀어보신 분께는 신기한 것을 하나 알려드리겠습니다.

아직 안 풀어보셨으면 빨리 해보세요.

다 풀어보셨죠? 그럼, 알려드리도록 하겠습니다.

참과 거짓

1 더하기 1은 2 맞죠? '참', '거짓'으로 대답해보세요.

'참'이라고 대답하셨나요?

그럼 파이썬은 이 질문에 어떻게 대답할까요?

>>> 1 + 1 == 2
True

참이라고 답을 하네요.

>>> 1 + 1 == 3
False

이건 거짓이라고 하구요.

다음의 if 문을 보세요.

1 + 1이 2가 맞으면 'yes'라고 대답하고, 그렇지 않으면 'no'라고 대답하겠죠?

>>> if 1 + 1 == 2:
...     print('yes')
... else:
...     print('no')
...
yes

방금 알려드린 것과 함께 생각을 해보면

>>> 1 + 1 == 2
True
0라는 식이
>>> 1 + 1 == 2
True
1(참)이면
>>> 1 + 1 == 2
True
2를,
>>> 1 + 1 == 2
True
3(거짓)이면
>>> 1 + 1 == 2
True
4를 프린트한다는 걸 알 수 있습니다.

우리가 함수를 만들 때 이런 성질을 활용하면 도움이 되겠죠?

쉬운 덧셈 문제를 내는 함수를 만들어 보겠습니다.

>>> def quiz():
...   ans = input('1 + 2 = ')
...   return 1 + 2 == int(ans)
...

>>> 1 + 1 == 2
True
5이라는 함수는 사용자로부터 문자열 입력을 받는데 쓰이구요,
>>> 1 + 1 == 2
True
6 함수는 문자열을 정수로 바꿔줍니다. 예제에서는
>>> 1 + 1 == 2
True
5 함수가
>>> 1 + 1 == 2
True
8이라는 문자열을 출력한 다음 사용자로부터 문자열을 입력 받아 그 값을
>>> 1 + 1 == 2
True
9라는 변수에 넣어줬습니다.

c언어 프로그램 return 문의 역할

C언어 알고리즘 2015. 7. 29. 17:04

c언어 프로그램 return 문의 역할


■ '돌아오다'라는 의미의 return을 c언어에서도 사용하는데요. 이 return 문에 대해서 간단하게 정리해볼까 합니다. return은 함수의 끝에 입력돼서... 해당 함수를 호출한 곳으로 데이터를 반환하는 역할을 하고 또 하나의 기능은 함수의 종료를 알리는 역할을 합니다. 먼저 값을 반환하는 예제를 하나 살펴보겠습니다.

함수 return 의미 - hamsu return uimi

▲ 예제의 내용은 반환되는 자료형이 int형인 hap() 함수를 만들었구요. 매개변수로 x, y를 받아서 각각 a와 b 변수에 저장한 후 그 값을 더해서 반환하고 있는 형식입니다. 이때 retrun c;에서 c는 반드시 반환되는 자료형과 같은 int형 이어야 합니다. 

 


main() 함수에서는 hap() 함수를 호출하면서 10과 20의 인자를 전달하고 있는데요. 반환되는 값은 int형 c의 값이겠죠? 30이 돌아와서 res에 저장돼고 출력됩니다. 프로그램을 실행해서 확인해볼게요.


함수 return 의미 - hamsu return uimi

▲ 이렇게 return 문의 역할은 함수를 실행하고 호출한 곳으로 값을 반환하는 역하을 합니다. 


함수 return 의미 - hamsu return uimi
 다음은 함수를 종료하는 역할을 하는 return 문입니다. 일반적으로 생각할 때 반환되는 값이 없는 함수라면 return을 사용할 수 없다고 생각할 수도 있는데요. 그렇지 않습니다. 다음과 같이 함수의 끝을 알리는 역할을 할 수도 있습니다.

함수 return 의미 - hamsu return uimi

▲ hap() 함수는 역시 두 개의 수를 받아서 합을 구한 후 반환하지 않고 바로 그 값을 출력하고 있는 모습입니다. 반환형 자료형 자리에 void가 있어서 반환되는 값이 없다는 걸 알 수 있구요. return은 단순하게 함수의 종료를 알리는 역할만 담당하고 있습니다.