๋จผ์ , ํจ์์ ๊ตฌ์ฑ์์๋
// 1.๊ธฐ๋ฅ
// 2.input: ์
๋ ฅ๊ฐ, ์ธ์, ์ธ์, ๋งค๊ฐ๋ณ์, ํ๋ผ๋ฏธํฐ
// 3.output: ์ถ๋ ฅ๊ฐ, ๋ฆฌํด๊ฐ, return, ๋ฐํ๊ฐ, ๊ฒฐ๊ณผ๊ฐ
์ด๋ค.
์ง๊ธ๊น์ง๋
ใ กใ กใ กใ กใ ก
#include<stdio.h>
void main() {
}
ใ กใ กใ กใ กใ ก
์ ๊ฐ์ ํ์์ผ๋ก main() {} ์์ ์ฃผ๋ก ์ ๋ ฅํด์๋ค.
๊ทธ๋ฌ๋ ์ง๊ธ ์์๋ณผ ์ฌ์ฉ์ ์ ์ํจ์๋
ใ กใ กใ กใ กใ ก
#include<stdio.h>
void f1(void){ //์ฌ์ฉ์ ์ ์ ํจ์.
//์์ void๋ฅผ output, ()์์ void๋ฅผ input์ด๋ผ ํ๊ณ , ()์์ void๋ ์๋ต ๊ฐ๋ฅํ๋ค.
}
void main() {
}
ใ กใ กใ กใ กใ ก
์ด๋ ๊ฒ ํค๋์ main()์ฌ์ด์ ์ ๋ ฅํ๋ค.
ใ กใ กใ กใ กใ ก
#include<stdio.h>
void f1() { // ์ ์ธ.์ ์๋ง ๋์ด์๋์ํ
printf("์๋
ํ์ธ์!\n");
//return; ์ด ์๋ต๋์ด ์๋ค๊ณ ๋ณผ ์ ์๋ค.
}
void main() {
f1();
f1();
f1();
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
void f1() { // ์ ์ธ.์ ์๋ง ๋์ด์๋์ํ
printf("์๋
ํ์ธ์!\n");
//return; ์ด ์๋ต๋์ด ์๋ค๊ณ ๋ณผ ์ ์๋ค.
}
void main() {
f1();
f1();
f1();
}
์ด์ฒ๋ผ ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ ์ฆ๊ฐ ๋ผ๋ ์ฅ์ ์ด ์๋ค.
ํ๊ฐ์ง ์ฃผ์ํ ์ ์ด ์๋๋ฐ,
์ฐ๋ฆฌ๊ฐ ctrl +F5๋ฅผ ๋๋ฅด๋ฉด ์๋์ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
1. ๋น๋ : ์ปดํ์ผ๋ฌ ๋์. ์ฝ๋ ํด์. ์คํ๊ฐ๋ฅํ ํ์ผ์ ์์ฑํด์ค
2. ๋๋ฒ๊ทธํ์ง์๊ณ ์์ : ํ๋ก๊ทธ๋จ ์คํ main() ์คํ
** ๋ฐ๋ผ์ ์ฌ์ฉ์ ์ ์ ํจ์๋ main() ์์์ ํธ์ถ ๋์ด์ผ๋ง ์คํ์ด ๋๋ค.
ํจ์์ ์ข ๋ฅ์๋ 4๊ฐ์ง๊ฐ ์๋ค.
1. input X ; output: X
2. input X ; output: O
3. input O ; output: X
4. input O ; output: O
์ด๋ ๊ฒ 4๊ฐ์ง ์ด๋ค.
์ด์ค 1๋ฒ์ด ์์์ ๋ณธ f1ํจ์์ด๋ค.
2๋ฒ์งธ ๊ฒฝ์ฐ ์ธ ํจ์, ์ฆ , input X ; output: O ์ธ ํจ์์ ๋ํด ์์๋ณด๊ฒ ๋ค.
ใ กใ กใ กใ กใ ก
#include<stdio.h>
int f2() {
printf("ํ");
return 1234;
printf("์ธ"); // ๋ฐ๋์ฝ๋ / return์ด ์ฆ์ ๋ฐํํ์ฌ์ return๋ค์ ์ฝ๋๋ ์ฌ์ฉ๋์ง ๋ชปํ๋ค.
// ** return์ ์๊ธฐ์์ ์ ํธ์ถํ ์์น๋ก ํด๋น๊ฐ์ "์ฆ์" ๋ฐํํ๋ ํค์๋
}
void main() {
int x=f2();
printf("x= %d\n", x);
printf("f2()์ํ๊ฒฐ๊ณผ๋ %d์
๋๋ค.\n", f2());
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
int f2() {
printf("ํ");
return 1234;
printf("์ธ"); // ๋ฐ๋์ฝ๋ / return์ด ์ฆ์ ๋ฐํํ์ฌ์ return๋ค์ ์ฝ๋๋ ์ฌ์ฉ๋์ง ๋ชปํ๋ค.
// ** return์ ์๊ธฐ์์ ์ ํธ์ถํ ์์น๋ก ํด๋น๊ฐ์ "์ฆ์" ๋ฐํํ๋ ํค์๋
}
void main() {
int x=f2();
printf("x= %d\n", x);
printf("f2()์ํ๊ฒฐ๊ณผ๋ %d์
๋๋ค.\n", f2());
}
'ํ' ์ด๋ผ๋ ๋ฌธ์๊ฐ ๋จผ์ ์ถ๋ ฅ๋๋ ์ด์ ๋ ๋ฌด์์ผ๊น?
๊ทธ ์ด์ ๋ printf๋ฌธ์ ์ํํ๊ธฐ์ํด f2()๊ฐ ๋ฌด์์ธ์ง ๋จผ์ ํ์ธํ๊ฒ ๋๋๋ฐ,
์ด๋ f2()์ ๋ค์ด์๋ printf("ํ") ์ด ์ํ๋๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๋ฒ์ 3๋ฒ์งธ ๊ฒฝ์ฐ, ์ฆ, input O ; output: X ์ธ ํจ์์ ๋ํด ์์๋ณด๊ฒ ๋ค.
ใ กใ กใ กใ กใ ก
#include<stdio.h>
void f3(int x) { // input์ int, output์ void๋ก ์๋ ๊ฒ์ ์ ์ ์๋ค.
printf("f3()ํธ์ถ๋จ. x= %d\n", x);
}
void main() {
f3(10);
f3(100);
f3(1234);
int a = 11;
int x = 12;
f3(a); // call by value.๊ฐ์ ์ํ ํธ์ถ
f3(x);
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
void f3(int x) { // input์ int, output์ void๋ก ์๋ ๊ฒ์ ์ ์ ์๋ค.
printf("f3()ํธ์ถ๋จ. x= %d\n", x);
}
void main() {
f3(10);
f3(100);
f3(1234);
int a = 11;
int x = 12;
f3(a); // call by value.๊ฐ์ ์ํ ํธ์ถ
f3(x);
}
์ด๋ f3(a)๋ f3(x)๋ฅผ ํท๊ฐ๋ฆฌ๋ฉด ์๋๋ค.
๊ฐ์ ์ํ ํธ์ถ์ด ๊ธฐ๋ณธ ์ด๊ธฐ ๋๋ฌธ์
๊ฐ๊ฐ f3(11) ๊ณผ f3(12) ๋ฅผ ์๋ฏธํ๋ค.
ใ กใ กใ กใ กใ ก
#include<stdio.h>
void func(int x) {
x += 10;
}
void main() {
int x = 100;
func(x);
printf("x= %d\n", x);
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
void func(int x) {
x += 10;
}
void main() {
int x = 100;
func(x);
printf("x= %d\n", x);
}
์ด๋ฐ ๊ฒฝ์ฐ๋
x=110 ์ผ๋ก ์ถ๋ ฅ๋๋ ๊ฒ์ด ์๋๋ผ
x=100 ์ผ๋ก ์ถ๋ ฅ๋๋ค.
๊ฐ์ ์ํ ํธ์ถ ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
์ฆ, main()์ ์กด์ฌํ๋ x ์ func()์ ์กด์ฌํ๋ x๋ ๋ค๋ฅด๋ค.
์ด๋ฒ์ 4๋ฒ์งธ ๊ฒฝ์ฐ, ์ฆ, input O ; output: O ์ธ ํจ์์ ๋ํด ์์๋ณด๊ฒ ๋ค.
ใ กใ กใ กใ กใ ก
#include<stdio.h>
int f4( int a, int b) { // input์ด int ๋๊ฐ, output์ด int ๋ก์ ๋๋ค ์กด์ฌํจ์ ์ ์ ์๋ค.
return a + b;
}
void main() {
int sum = f4(10, 20);
printf("sum= %d\n", sum);
printf("\n f4()ํธ์ถ๊ฒฐ๊ณผ: %d\n\n", f4(100, 200));
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
int f4( int a, int b) { // input์ด int ๋๊ฐ, output์ด int ๋ก์ ๋๋ค ์กด์ฌํจ์ ์ ์ ์๋ค.
return a + b;
}
void main() {
int sum = f4(10, 20);
printf("sum= %d\n", sum);
printf("\n f4()ํธ์ถ๊ฒฐ๊ณผ: %d\n\n", f4(100, 200));
}
4๊ฐ์ง ํจ์์ ์ข ๋ฅ์ ๋ํด์ ์์๋ณด์๋ค.
์ด์ ์์คํ ์ ํตํด ์์๋ฅผ ์ดํด๋ณด๊ฒ ๋ค.
ใ กใ กใ กใ กใ ก
#include<stdio.h>
int f1() {
int a;
printf("ํ์ธ1\n");
printf("์ ์์
๋ ฅ: ");
scanf("%d", &a);
return a;
}
int f2(int x, int y) {
printf("ํ์ธ2\n");
return x + y;
printf("ํ์ธ3\n");
}
void f3() {
printf("ํ์ธ4\n");
}
void main() {
int a = f1();
int b = f1();
printf("a์ b์ ํฉ์ %d์
๋๋ค.\n", f2(a, b));
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
int f1() {
int a;
printf("ํ์ธ1\n");
printf("์ ์์
๋ ฅ: ");
scanf("%d", &a);
return a;
}
int f2(int x, int y) {
printf("ํ์ธ2\n");
return x + y;
printf("ํ์ธ3\n");
}
void f3() {
printf("ํ์ธ4\n");
}
void main() {
int a = f1();
int b = f1();
printf("a์ b์ ํฉ์ %d์
๋๋ค.\n", f2(a, b));
}
์ด๊ฒ์ด ์ด๋ป๊ฒ ์ถ๋ ฅ๋ ๊น?
์ด๋ ๊ฒ ์ถ๋ ฅ๋๋ค.
ใ กใ กใ กใ กใ กใ ก
** ํ์ธ3 ์ด ์ถ๋ ฅ๋์ง ์์ ์ด์ :
printf("ํ์ธ3\n");
์ด ๋ฌธ์ฅ์ ๋ฐ๋์ฝ๋์ด๊ธฐ ๋๋ฌธ์ด๋ค.
ใ กใ กใ กใ กใ กใ ก
** ํ์ธ4 ๊ฐ ์ถ๋ ฅ๋์ง ์์ ์ด์ :
main()์์ f4()๋ฅผ ํธ์ถํ์ง ์์๋ค.
ใ กใ กใ กใ กใ กใ ก
ใ กใ กใ กใ กใ ก
#include<stdio.h>
int abs(int i) { // input๊ณผ output ๋ชจ๋ ์กด์ฌ.
if (i < 0) { //์กฐ๊ฑด๋ฌธ: i๊ฐ 0 ๋ฏธ๋ง ์ธ๊ฐ?
i *= (-1); // -1 ๊ณฑํ๊ณ ์ ์ฅ.
}
return i; // i ๋ฐํ.
}
int power(int a, int b) { // input๊ณผ output๋ชจ๋ ์กด์ฌ.
int res = 1; // ์ ์๊ณต๊ฐ res์ 1์ ์ฅ.
for (int i = 0; i < b; i++) { // bํ ๋ฐ๋ณต.
res *= a; //res์ a ๊ณฑํ๊ณ ์ ์ฅ.
}
return res; // res ๋ฐํ.
}
void main() {
int res1 = power(2, 10); // res1: 1024
int res2 = power(10, 2); // res2: 100
printf("%d %d\n\n", res1, res2);
printf("%d\n", abs(10));
printf("%d\n", abs(-10));
printf("%d\n", abs(100));
printf("%d\n", abs(-12));
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
int abs(int i) { // input๊ณผ output ๋ชจ๋ ์กด์ฌ.
if (i < 0) { //์กฐ๊ฑด๋ฌธ: i๊ฐ 0 ๋ฏธ๋ง ์ธ๊ฐ?
i *= (-1); // -1 ๊ณฑํ๊ณ ์ ์ฅ.
}
return i; // i ๋ฐํ.
}
int power(int a, int b) { // input๊ณผ output๋ชจ๋ ์กด์ฌ.
int res = 1; // ์ ์๊ณต๊ฐ res์ 1์ ์ฅ.
for (int i = 0; i < b; i++) { // bํ ๋ฐ๋ณต.
res *= a; //res์ a ๊ณฑํ๊ณ ์ ์ฅ.
}
return res; // res ๋ฐํ.
}
void main() {
int res1 = power(2, 10); // res1: 1024
int res2 = power(10, 2); // res2: 100
printf("%d %d\n\n", res1, res2);
printf("%d\n", abs(10));
printf("%d\n", abs(-10));
printf("%d\n", abs(100));
printf("%d\n", abs(-12));
}
์ฒ์ ์ฌ์ฉ์ ์ ์ํจ์์ ๋ํด ์ค๋ช ํ ๋
ํค๋์ main() ์ฌ์ด์ ์ ๋ ฅํ๋ค๊ณ ํ์๋ค.
๊ทธ๋ฌ๋, ๊ทธ๊ฒ์ด ์๋, ํค๋์ main()์๋ ํจ์์ ๊ตฌ์ฑ์์๋ง ์ ๊ณ
main()๋ค์ ๋ด์ฉ์ ์ ๋ ๋ฐฉ๋ฒ๋ ์๋ค.
์๋ ์์คํ ์ ๋ด๋ณด์.
ใ กใ กใ กใ กใ ก
#include<stdio.h>
int findMax(int a, int b); // ์ด์๊ฐ์ด ๊ตฌ์ฑ์์๋ฅผ ํฌํจํด ํ์ค๋ง ์ ์ด๋ ๊ผด์ [ํจ์์ํ] ์ด๋ผ ํ๋ค.
void main() {
int a, b;
printf("์ ์2๊ฐ์
๋ ฅ: ");
scanf("%d%d", &a, &b);
printf("a์ b์ค ๋ ํฐ์ ์๋ %d์
๋๋ค.\n", findMax(a, b));
}
int findMax(int a, int b) {
if (a > b) {
return a;
}
else {
return b;
} // a>b ? a: b ๋ฅผ ์ฌ์ฉํด๋ ์ข๋ค.
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
int findMax(int a, int b); // ์ด์๊ฐ์ด ๊ตฌ์ฑ์์๋ฅผ ํฌํจํด ํ์ค๋ง ์ ์ด๋ ๊ผด์ [ํจ์์ํ] ์ด๋ผ ํ๋ค.
void main() {
int a, b;
printf("์ ์2๊ฐ์
๋ ฅ: ");
scanf("%d%d", &a, &b);
printf("a์ b์ค ๋ ํฐ์ ์๋ %d์
๋๋ค.\n", findMax(a, b));
}
int findMax(int a, int b) {
if (a > b) {
return a;
}
else {
return b;
} // a>b ? a: b ๋ฅผ ์ฌ์ฉํด๋ ์ข๋ค.
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
double sumNavg(int a, int b, int c); // -> [ํจ์์ํ]
// ์ดํฉ์ ์ถ๋ ฅํ๊ณ , ํ๊ท ์ ๋ฆฌํด(๋ฐํ)ํ๋ ํจ์
void main() {
int a = 10, b = 10, c = 11;
double avg = sumNavg(a, b, c);
printf("ํ๊ท ์ %.2lf์
๋๋ค.\n", avg);
}
double sumNavg(int a, int b, int c) {
int sum = a + b + c;
printf("์ดํฉ์ %d์
๋๋ค.\n", sum);
return sum / 3.0;
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
double sumNavg(int a, int b, int c); // -> [ํจ์์ํ]
// ์ดํฉ์ ์ถ๋ ฅํ๊ณ , ํ๊ท ์ ๋ฆฌํด(๋ฐํ)ํ๋ ํจ์
void main() {
int a = 10, b = 10, c = 11;
double avg = sumNavg(a, b, c);
printf("ํ๊ท ์ %.2lf์
๋๋ค.\n", avg);
}
double sumNavg(int a, int b, int c) {
int sum = a + b + c;
printf("์ดํฉ์ %d์
๋๋ค.\n", sum);
return sum / 3.0;
}
sumNavg() ๋ฅผ ๋จผ์ ํ์ธํ๊ฒ ๋๋ฏ๋ก
์ดํฉ์ด ๋จผ์ ์ถ๋ ฅ๋ ๋ค์
ํ๊ท ์ด ์ถ๋ ฅ๋๋ค.
์ ๋ ฅํ ์๊ฐ ์ง์(0 ํฌํจ)์ธ์ง ํ์ ์ธ์ง ์๋ ค์ฃผ๊ณ , ์์์ธ ๊ฒฝ์ฐ ์์คํ ์ข ๋ฃ.
ใ กใ กใ กใ กใ ก
#include<stdio.h>
void check(int n) { // input๊ณผ output ๋ชจ๋ ์กด์ฌ.
if (n%2) { // ์กฐ๊ฑด๋ฌธ: n์ 2 ๋ก ๋๋ ๋๋จธ์ง๋ ๋ช์ธ๊ฐ?
printf("ํ์!\n");
}
else {
printf("์ง์!\n");
}
}
void main() {
while (1) { // ๋ฌดํ๋ฃจํ ์์ฑ.
int n;
printf("์ ์์
๋ ฅ: ");
scanf("%d", &n);
if (n < 0) {
break; // ์ฆ์ ํด๋น ๋ฐ๋ณต๋ฌธ์์ ํ์ถ.
}
check(n);
}
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
void check(int n) { // input๊ณผ output ๋ชจ๋ ์กด์ฌ.
if (n%2) { // ์กฐ๊ฑด๋ฌธ: n์ 2 ๋ก ๋๋ ๋๋จธ์ง๋ ๋ช์ธ๊ฐ?
printf("ํ์!\n");
}
else {
printf("์ง์!\n");
}
}
void main() {
while (1) { // ๋ฌดํ๋ฃจํ ์์ฑ.
int n;
printf("์ ์์
๋ ฅ: ");
scanf("%d", &n);
if (n < 0) {
break; // ์ฆ์ ํด๋น ๋ฐ๋ณต๋ฌธ์์ ํ์ถ.
}
check(n);
}
}
๋.
๋๊ธ