--------------------------------------------------------------------------------------------------------
// 매개변수 사용
#include <stdio.h>
int Add(int i, int j) // 매개변수
{
int result = i+j;
return result;
}
int main(void)
{
int d;
d = Add(3,4);
printf("%d \n",d);
return 0;
}
--------------------------------------------------------------------------------------------------------
// 값입력
#include <stdio.h>
int Add(int a, int b); //함수의 원형
int Input(void);
void Result_Print(int val);
void Intro(void);
int main(void) // 정의부분
{
int a,b;
int result;
Intro(); //시작을 알림
a = Input(); //값을 입력 받음
b = Input(); // 값을 입력 받음
result = Add(a,b); //덧셈을 수행
Result_Print(result); //결과를 적절히 출력
return 0;
}
int Add(int a, int b)
{
return a + b;
}
int Input(void)
{
int input;
scanf("%d", &input);
return input;
}
void Result_Print(int val)
{
printf("덧셈에 대한 결과 : %d \n", val);
printf("*******End ******* \n");
}
void Intro(void)
{
printf("*******START ******* \n");
printf("두개의 정수 입력 :\n");
}
--------------------------------------------------------------------------------------------------------
#include <stdio.h>
int Large_Num(int a, int b);
int main(void)
{
printf("3과 4중에서 큰 수는 %d이다 \n", Large_Num(3,4));
printf("7과 2중에서 큰 수는 %d이다 \n", Large_Num(7,2));
return 0;
}
int Large_Num(int a, int b)
{
if( a> b)
return a;
else
return b;
}
--------------------------------------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
int i;
for(i=0; i<3; i++)
{
int a= 0;
a++;
printf("%d번째 for 루프 , 지역 변수 a는 %d \n", i, a);
}
if(i == 3)
{
int a = 10;
a++;
printf("if문 내에 존재하는 지역변수 a는 %d\n",a);
}
return 0;
}
--------------------------------------------------------------------------------------------------------
#include <stdio.h>
int val; // 전역변수
void add(int num);
int main(void)
{
printf(" val : %d \n",val);
add( 3 );
printf(" val : %d \n",val);
val++;
printf(" val : %d \n",val);
return 0;
}
void add(int n)
{
val += n;
}
--------------------------------------------------------------------------------------------------------
#include <stdio.h>
int val; // 전역변수
void add(void);
int main(void)
{
val= 10;
printf("val : %d \n", val);
add();
printf("val : %d \n", val);
return 0;
}
void add(void)
{
int val = 20;
val++;
}
--------------------------------------------------------------------------------------------------------
//static 사용법
#include <stdio.h>
void add(void);
int main(void)
{
int i ;
for ( i = 0; i < 5; i++)
add();
return 0;
}
void add(void)
{
static int val = 0; // static 입력하면 값을 기억함... 초기화 안됨. static 은 사용동시에 초기화 시켜줘야된다.
val++; // static은 선언한 add 안에서만 사용가능 main 에서는 값을 몰름
printf("%d \n", val);
}
--------------------------------------------------------------------------------------------------------
// 재귀함수
#include <stdio.h>
void Recursive(int n)
{
printf("Recursive Call! \n");
if (n == 1)
return ;
Recursive(n - 1); // 자기자신을 호출 하는게 재귀함수
}
int main(void)
{
int a = 2;
Recursive(a);
return 0;
}
--------------------------------------------------------------------------------------------------------
#include <stdio.h>
int f(int n);
int main(void)
{
int val;
int result;
printf("정수 입력 : "); //5 입력시
scanf("%d", &val);
if(val <0)
{
printf("0 이상을 입력 해야 합니다. \n");
return 1;
}
result = f(val); //f 계산
printf("%d!의 계산 결과 : %d \n", val,result );
return 0;
}
int f(int n)
{
if(n == 0 )
return 1;
else
return n* f(n-1); //5*4*3*2*1
}
--------------------------------------------------------------------------------------------------------
//문자 배열
#include <stdio.h>
int main(void)
{
char a1[5]="good";
char a2[] ="morning";
printf("%s \n",a1);
printf("%s%s \n",a1,a2);
return 0;
}
--------------------------------------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
int i ;
char c;
char str[6]="Hello";
printf("--변경 전 문자열 -- \n");
printf("%s \n",str);s
for(i=0;i<3;i++){
c=str[4-i];
str[4-i]=str[i];
str[i]=c;
}
printf("\n\n--변경 후 문자열 --\n");
printf("%s \n",str);
return 0;
}
--------------------------------------------------------------------------------------------------------
// 구구단 입력해서
//int arr[9];라면 arr1,3,5,7 출력하게 할것
--------------------------------------------------------------------------------------------------------
길이가 26인 char형 배열 선언
'a'~'z'까지 등록하고 출력 하게 // 아스키 코드값 65~ 확인해볼것
#include <stdio.h>
int main(void)
{
char arr[26];
char ch;
int i;
for(i=0, ch='A';i<26; i++)
arr[i]=ch++;
for(i=0; i<26; i++)
printf("%c", arr[i]);
printf("\n");
return 0;
}
--------------------------------------------------------------------------------------------------------
문자열 입력 받아 문자열의 길이를 출력 하는 프로그램 널문자는 제외
문자열 99개를 넘지 않는것 가정
#include <stdio.h>
int main(void)
{
char string[100];
int len=0;
printf("문자열 입력:");
scanf("%s",string);
while(string[len]!=0)
len++;
printf("입력한 문자열의 길이는 : %d \n", len);
return 0;
}
--------------------------------------------------------------------------------------------------------
입력한 문자열을 배열에서 문자열 뒤집어서 출력
#include <stdio.h>
int main(void)
{
char string[100];
int len=0, i;
printf("문자열 입력:");
scanf("%s",string);
while(string[len]!='\0')
len++;
for(i=0; i<len/2; i++)
{
char temp=string[i];
string[i]=string[len-i-1];
string[len-i-1]=temp;
}
printf("변경된 문자열 : %s \n", string);
return 0;
}
--------------------------------------------------------------------------------------------------------
문자열 입력 문자열중 아스키코드값이 가장큰거 찾아서 출력
#include <stdio.h>
int main(void)
{
char string[100];
int len=0, i;
char big_ch=0;
printf("문자열 입력:");
scanf("%s",string);
for(i=0; string[i]!='\0';i++)
{
if(big_ch<string[i])
big_ch=string[i];
}
printf("가장큰문자 : %c \n", big_ch);
return 0;
}
--------------------------------------------------------------------------------------------------------