■ n!값 구하기

#include <stdio.h>

 

int main(void)
{
     int i,j,fac;
     printf("수 입력:");
     scanf("%d", &i);

     j=i;
     fac=1;

 

     for (;;)
     {
          fac=fac*i;
          i--;

       if (i==1)
           break;
     }
 printf("%d! = %d", j, fac);

}

 

■ 상수

1. 리터럴 상수

2. 매크로 상수

3. const

 

■ 함수

함수로 따로 빼는 이유: 프로그램의 유지/보수가 용이하다

 

전달인자와 반환값의 유무에 따라 4종류로 나눌 수 있다.

→ 전달인자 유, 반환값 유 /  전달인자 유 , 반환값 무 / 전달인자 무 , 반환값 유 / 전달인자 무, 반환값 무  

 

반환값이 없어도 될때

출력, 포인터로 넘길때, 구조체로 넘길때 등

 

하나의 함수 안에는 하나의 리턴값만 존재 가능

 

■ 구조체

여러 타입의 데이터를 함께 묶어 놓은 것. 이 때 멤버는 관련있는 정보들이어야 함

(배열은 같은 데이터형을 갖는 여러개의 묶음임. 배열이 확장된 개념이 구조체)

 

typedef int UINT;와 같이 구조체를 typedef 로 선언해 놓으면

 

typedef struct{

int x;

char y;

}MYSTRUCT;

 

MYSTRUCT MyType; 과 같이 사용가능하다. 

 

멤버에 접근: .과 -> 사용가능

 

■ 재귀함수

계속 변하는 파라미터 값을 받아서 반복해서 연산해야할 필요가 있을 때 사용

 

tip.

계속 변하는 값 안에서 일정하게 유지되어야 하는 값이 있을때 static지정자를 붙여 사용할 수 있음

 

 

■ 3개의 수 입력받아 최대값, 최소값 구하기

 

#include <stdio.h>

 

int a,b,c, max, min;
int Max(int a, int b, int c)
{
     max = a > b ? a : b;
     max = max > c ? max : c;
     // (a>b?a:b)><?(a>b>a:b);
 
     return max;
}

 

int Min(int a, int b, int c)
    {
     min = a > b ? b : a;
     min = min > c ? c : min;

 

     return min;
    }

 

int main(void)

     printf("3개의 수 입력:");
     scanf("%d %d %d", &a, &b, &c);
 
     printf("최대값: %d, 최소값: %d", Max(a,b,c), Min(a,b,c));

     

     return 0;

}

 

■ 아래와 같이 출력

*****

 ****

  ***

   **

    *

 

#include <stdio.h>

 

int main(void)
{
     int i,j,k;

 

     for(i=0;i<5;i++)
     {
          for(j=0;j<i;j++)
          {
               printf(" ");
          }

  

     for(k=5;k>i;k--)
      {
           printf("*");
      }
      printf("\n");  
 }

 return 0;
}

 

■ for문을 돌리기 위한 변수는 굳이 따로 선언하지 않아도 됨. for문의 초기화 값을 for문 내의 지역변수로 볼 수 있음.

예) for(int i=1; i<4; i++)

'PROGRAMMING > C' 카테고리의 다른 글

[수업후] 포인터  (0) 2011.04.18
[수업후] 배열  (0) 2011.04.15
[기초] 재귀함수  (0) 2011.04.12
[수업후] 기본연산자, printf()  (0) 2011.04.07
[기초] 문자열 처리함수(strcpy, strcat, strlen, strcmp)  (0) 2011.04.03
Posted by 마마필로 :