함수의 기초
#include
 <stdio.h>

/*int Add(int num1, int num2) //;만 있으면 원형 { }가 있으면 정의
{
  int result = num1 + num2;
  return result; //num1이랑 num2더한값을 돌려주세요.
} //실행이 끝나면 죽음
*/
 
//위에서 함수 선언 정의를 다하는경우
int Add(int num1, int num2);
int main()
{
  
  int iNum;
  iNum =  Add(30,20); //Add영역으로 점프   
  printf("%d\n", iNum);
  return 0;
}
//위에서 함수를 선언해놓고 밑에서 정의를 해놓는 경우.

{
  int result = num1 + num2;
  return result; 



덧셈프로그램
#include <stdio.h>

int Add(int num1, int num2) //반환있음 인자 있음
{
  return num1 + num2;
}
void ShowAddResult(int num) //반환 없음 인자 있음
{
  printf("덧셈결과 출력: %d \n", num);
}
int ReadNum(void)      //인자 없음 반환 있음
{
  int num;
  scanf("%d"&num);
  return num;
}
void HowToUseThisProg(void//인자 없음 반환 없음
{
  printf("두 개의 정수를 입력하시면 덧셈결과가 출력됩니다. \n");
  printf("자! 그럼 두 개의 정수를 입력하세요.\n");
}
int main()
{
  int result;
  int num1;
  int num2;
  HowToUseThisProg();
  num1=ReadNum();
  num2=ReadNum();
  result = Add(num1, num2);
  ShowAddResult(result);
    
  return 0;  

  
}


위와 똑같이 곱셈 소스를 만들어보자.

#include <stdio.h>
int Mul(int num1, int num2)
{
  return num1*num2;
}
int inPut(void)
{
  int num;
  scanf("%d"&num);
  return num;
}
showresult(int num)
{
  printf("결과는 %d입니다\n", num);

}
showprint(void)
{
  printf("곱셈프로그램입니다.\n");
  printf("두개의 수를입력하세요.\n");

}


int main()
{
  int num1;
  int num2;
  int result;
  showprint();
  num1 = inPut();
  num2 = inPut();
  result = Mul(num1,num2);
  showresult(result);
  return 0;

}


절대값이 큰 정수 출력하기
#include <stdio.h>

int AbsoCompare(int num1, int num2);
int GetAbsoValue(int num);
int main()
{
  int num1;
  int num2;
  printf("두 개의 정수 입력: ");
  scanf("%d %d"&num1, &num2);
  printf("%d와 %d중 절댓값이 큰 정수: %d \n"
    num1, num2, AbsoCompare(num1, num2));
  return 0;
}

int AbsoCompare(int num1, int num2)
{
  if(GetAbsoValue(num1) > GetAbsoValue(num2))
    return num1;
  else
    return num2;
}

int GetAbsoValue(int num)
{
  if(num<0)
    return num * (-1);
  else
    return num;
}



세정수를 입력받아 가장큰수와 작은수 구하기
#include <stdio.h>
int iCompare(int num1, int num2, int num3) //큰수 비교함수
{
  if(num1>num2 && num1>num3)
    return num1;
    
  else if(num2>num1 && num2>num3)
    return num2;
    
  else 
    return num3;
}
int iCompare2(int num1, int num2, int num3) //작은수 비교함수
{
  if(num1<num2 && num1<num3)
    return num1;

  else if(num2<num1 && num2<num3)  
    return num2;
  else 
    return num3;
}  
int myscanf(void)         //숫자 입력함수
{
  int num;
  scanf("%d"&num);
  return num;

}
  


int main()
{
  int iNum1;
  int iNum2;
  int iNum3;
  int result1;  
  int result2;

  iNum1 = myscanf();   
  iNum2 = myscanf();
  iNum3 = myscanf();
  
  result1=iCompare(iNum1,iNum2,iNum3);
  result2=iCompare2(iNum1,iNum2,iNum3);
  

  printf("가장 작은 큰수는 %d 작은수는%d입니다.\n", result1 , result2);

  return 0;
}


지역변수
#include <stdio.h>



int main()
{
  int cnt;
  for(cnt=04>cnt; cnt++)
  {
    int num = 0;
    num++;
  printf("%d번째 반복, 지역변수 num은 %d. \n", cnt+1, num);
  }
  
  if(cnt==3)
  {
    int num = 7;
    num++;
    printf("if문 내에 존재하는 지역변수 num은 %d. \n", num);
  }
  printf("%d", cnt);
  return 0;
}


'C언어' 카테고리의 다른 글

20140326 포인터와 배열  (0) 2014.03.26
20140324 지역변수 전역변수 & 배열  (0) 2014.03.24
20140320 포인터의 기초  (0) 2014.03.20
20140318 포인터의 이해  (0) 2014.03.18
20140317 break & continue & switch  (0) 2014.03.17
by 날라차숑 2014. 3. 21. 17:22