코린이
Day17 본문
반응형
오늘은 함수에 대해 배워 보았습니다.
함수를 정의할 때는 반드시 다른 함수 바깥에 정의를 해줘야 합니다.
특정 역할을 하는 코드들을 독립적으로 모아둔 집합체로 기능별로 함수를 나누면 기독성이 좋아지고 유지 보수가 용이합니다.
함수의 정의
반환형: 함수 내용의 작업을 마치고 값을 반환해 줄 때 사용할 자료형
함수 이름: 함수를 사용하기 위해 호출할 때 사용할 이름
매개 변수: 함수를 호출할 때 값을 전해줄 수 있는데, 이때 값을 저장하는 변수
함수 기능: 함수의 기능을 맡아줄 코드들이 작성되는 영역
함수의 호출
반환값을 저장할 변수: 함수가 반환해 주는 값을 저장할 변수
호출할 함수 이름: 정의된 함수 중 사용할 함수의 이름
인수: 함수가 동작할 때 필요한 값
반환값을 저장할 변수 = 호출할 함수 이름(인수);
(반환값이 존재하는 함수 호출 원형)
호출할 함수 이름(인수);
(반환값이 존재하지 않는 함수 호출 원형)
함수 정의 방법
#include<stdio.h>
int Add(int n1, int n2) {
return n1+n2;
}
void Add2(int n1, int n2) {
printf("연산결과: %d\n",n1 + n2);
}
int main(){
int result;
result = Add(15, 31);
printf("연산결과:%d\n",result);
Add2(10, 32);
return 0;
}
연산 결과를 도출 해주는 함수를 작성해 보았습니다.
#include<stdio.h>
void add(int a, int b) {
printf("더한 값: %d\n", a + b);
}
void sub(int a, int b) {
printf("뺀 값: %d\n", a - b);
}
int times(int a, int b) {
return a * b;
}
int div(int a, int b) {
return a / b;
}
int main(){
int a,b;
printf("두 수 입력:");
scanf("%d %d",&a, &b);
add(a,b);
sub(a,b);
printf("곱한 값: %d\n", times(a,b));
printf("나눈 값: %d\n", div(a,b));
return 0;
}
다음 코드도 같은 연산 결과를 도출해 주는 코드지만 이번에는 연산자도 같이 입력해 주도록 설정하였습니다.
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int sub(int a, int b) {
return a - b;
}
int times(int a, int b) {
return a * b;
}
int div(int a, int b) {
return a / b;
}
void Calc(int a, int c, int b) {
switch (c) {
case '+':
printf("더한 값: %d\n", add(a, b));
break;
case '-':
printf("뺀 값: %d\n", sub(a, b));
break;
case '*':
printf("곱한값: %d\n", times(a, b));
break;
case '/':
printf("나눈 값: %d\n", div(a, b));
break;
}
}
int main()
{
int a, b, result;
char c;
printf("연산 입력: ");
scanf("%d %c %d", &a, &c, &b);
Calc(a, c, b);
return 0;
}
국어 수학 영어 순서로 입력받고 총합 변수 total에 반환해주는 함수, 평균을 변수 avg에 반환하는 변수, 평균을 비교해 등급을 변수 grade에 반환하는 함수 작성하여라
#include<stdio.h>
int Total(int kor, int math, int eng) {
return kor + math + eng;
}
double Avg(int total) {
return total / 3.0;//return (double)total / 3;
}
char Grade(double avg) {
switch ((int)avg / 10) {
case 10:
case 9:
return 'A';
break;
case 8:
return 'B';
break;
case 7:
return 'C';
break;
case 6:
return 'D';
break;
default:
return 'F';
break;
}
}
int main(){
int kor,math,eng,total;
double avg;
char grade;
printf("국어 수학 영어:");
scanf("%d %d %d", &kor, &math, &eng);
total = Total(kor, math, eng);
avg = Avg(total);
grade = Grade(avg);
printf("총합:%d\n",total);
printf("평균:%.2f\n",avg);
printf("등급:%c\n",grade);
return 0;
}
마지막은 평균과 등급을 구하는 코드로 3개의 점수를 입력받으면 총합과 평균 등급이 나오는 코드입니다. 평균을 내는 문법은 switch 문을 사용하였습니다.
반응형
Comments