Professional Documents
Culture Documents
3. 빈 칸을 채우시오 .
(6)
1
함수 Q&A
Q. main() 함수가 반드시 프로그램의 처음에 나와야 하는가 ?
A. 그럴 필요없음 .
main() 이 맨 처음으로 실행되는 함수이지만 소스 파일에서의 위
치는 아무런 상관이 없다 .
2
실습 Review
6주1강
3주1강
3
6 주 1 강 함수 [ 실습 1]
double 형 변수 2 개의 평균을 계산하는 함수
#include<stdio.h>
void main()
{
double a, b, c;
a=2.0;
b=3.0;
c=average(a,b); //a 와 b 를 인수로 하여 average() 를 호
void main()
출
{
printf(" 평균은 %lf 입니다 .\n", c);
double a, b, c;
}
printf(" 평균을 구할 두 수 입
double average(double x, double y)
력 :");
{
double average(double scanf("%lf%lf", &a, &b);
return (x+y)/2; x,
double
} y)
{ c=average(a,b);
double aver; printf(" 평균은 %lf 입니다 .\n",
aver=(x+y)/2; c);
}
4
return aver;
6 주 1 강 함수 [ 실습 2] 1, 2 번
합을 구하는 함수
#include<stdio.h>
int main(void)
{
int sum=0;
sum=get_sum(100); // 함수 호출
printf("0 부터 100 까지의 합은 %d 입니다 .\n",
sum);
sum=get_sum(200);
printf("0 부터 200 까지의 합은 %d 입니다 .\n",
sum);
sum=get_sum(300);
•함수 사용의 장점
printf("0 부터 300 까지의 합은 %d 입니다 .\n",
sum); 코드의 재활용 가능
}
가독성 증대
int get_sum(int n) 유지 관리의 용의
{
int i, sum=0; 5
6 주 1 강 함수 [ 실습 2] 3 번
합을 구하는 함수
#include<stdio.h>
int main(void)
{
int start, end, sum=0;
start=10;
end=100;
sum=get_sum(start,end); // 함수 호출
int main(void)
{
double prod; • //(1) 의 double 제거 후
prod=fpower(3.0, 2); //(2)
printf("%lf\n", prod);
}
int main(void)
{
double result;
if(result==-1)
printf("0 으로 나눌 수 없습니다 !!");
else
printf(" 나눗셈 결과는 %lf 입니다 .\n", result);
return 0;
}
8
if(d==0) return -1;
6 주 1 강 함수 [ 실습 5] 1 번
3 개의 정수 중 가장 큰 수 결정 함수
#include<stdio.h>
int main(void)
{
int max;
max=get_max3(1, 2, 3); // 정수 1,2,3 중에서 가장 큰 수 반환 .
printf(" 이들 중 가장 큰 수는 %d 이다 .\n", max);
return 0;
}
int main(void)
{
int max;
max=get_max3(1, 2, 3); // 정수 1,2,3 중에서 가장 큰 수 반환 .
printf(" 이들 중 가장 큰 수는 %d 이다 .\n", max);
return 0;
} int get_max3(int x, int y, int z)
{
int get_max2(int x, int y) int max;
{
if(x>y) max=get_max2(x,y);
return x; max=get_max2(max,z);
else
return y; return(max);
} }
10
int get_max3(int x, int y, int z)
6 주 1 강 함수 [ 실습 6]
출력할 배수를 사용자에게 입력받아 해당 배수를 출력
#include <stdio.h>
#include <conio.h> //getche() 함수 선언
#include <stdlib.h> //rand() 함수 선언
int main(void)
{
int yesno;
while(1)
{
printf(" 주사위를 굴리시겠습니까 ?(y 혹은 n)");
yesno=getche();
printf("\n");
if(yesno=='n') break;
printf(" 주사위면 =%d\n", rand()%6+1);
}
11
return 0;
3 주 1 강 데이터타입 [ 실습 1]
형변환
y=(1/2)*x; y=0.5*x;
printf("%d 의 절반은 %d\n", x, y); printf("%d 의 절반은 %d\n", x,
y);
return 0;
} return 0;
}
12
3 주 1 강 데이터타입 [ 실습 2]
문자형
c='A'; c='A'+3;
printf("%d %c \n", c, c); printf("%d %c \n", c, c);
return 0; return 0;
} }
13
3 주 1 강 데이터타입 [ 실습 3]
문자열
#include <stdio.h> #include <stdio.h>
return 0; return 0;
#include <stdio.h>
} }
int main(void)
{
char s[10]="Hello";
printf("%s\n", s);
14
return 0;
3 주 1 강 데이터타입 [ 실습 4]
문자형
#include<stdio.h>
void main()
{
printf("\n%5c ", 'A'); // 'A' 를문자로출력
printf("\t%5d ", 'A'); // 'A' 를아스키코드값으로출력
printf("\n%5c ", 'a'); // 'a' 를문자로출력
printf("\t%5d ", 'a'); // 'a' 를아스키코드값으로출력
printf("\n%5c ", 'A' + 1); // 'A' 보다아스키코드값이하나더큰 'B' 가출력
printf("\t%5c ", 'a' + 1); // 'a' 보다아스키코드값이하나더큰 'b' 가출력
printf("\n%5d ", 'a' -'A'); // 소문자와대문자는아스키코드값이 32 차이
printf("\t%5c ", 'a' -32); // 소문자에서 32 를빼면대문자가구해짐
}
15
3 주 1 강 데이터타입 [ 실습 5]
다양한 변환 문자열 사용 실습
#include <stdio.h> station() // 지하철 역 이름을 입력 받아 출력하는 함수
{
station(); char subway[40];
int main()
printf(" 역 이름을 입력해 주세요 . ");
{
scanf("%s", subway);
char ch='A';
char name[80]=" 황금박쥐 "; printf(" 당신이 입력한 역 이름은 %s 입니다 .\n",
int in=10; subway);
double db=16.8; }
station(); 16