* 제어문 (반복문)

- for문
- while문
- do~while문


* for문
for(초기값; 종료값 또는 조건식; 증감)
{
      처리내용;
}

- 초기값은 단 1회 만 실행된다
- 초기값->조건식->처리내용->증감
               조건식->처리내용->증감
               조건식->처리내용->증감
               조건식->처리내용->증감
- 조건식이 거짓이 되면 반복문을 빠져나옴(반복문 종료)  
- 무한루프일 경우 강제종료하면 된다


int su;
for(su=1; su<10; su=su+3) //su+=3
{
   printf("happy");
}

su=1        1<10   happy
su=1+3     4<10   happy
su=4+3     7<10   happy
su=7+3    10<10


int su;
for(su=10; su>1; su=su-3)
{
   printf("hi");
}

su=10       10>1   hi
su=10-3    7>1    hi
su=7-3     4>1    hi
su=4-3     1>1


----------------------
* 구구단

** 4단 **
4*1=4
4*2=8
4*3=12
4*4=16
4*5=20
4*6=24
4*7=28
4*8=32
4*9=36

int gugu=4, n;

printf("** %d단 **\n",gugu);
for(n=1; n<=9; n++)
{
  printf("%d*%d=%d\n",gugu,n,(gugu*n));
}

-------------------------------

* 알고리즘

- 성적프로그램
  . 과목을 합계를 낸다
  . 평균 : 합계를 과목수로 나눈다
  . 평균을 기준으로 등수를 구한다

- 카운트

- 누적


//문) 1~10까지 3의 배수 갯수 확인
        3의 배수 ? 3의 나누어서 나머지가 0


int cnt=0;
int n;
for(n=1; n<=10; n++)

   if(n%3==0)
   {
        cnt=cnt+1;
    }
}

printf("3의 배수 갯수 : %d\n",cnt);


n=1  1<=10   if(1%3==0)
n=2  2<=10   if(2%3==0)
n=3  3<=10   if(3%3==0) cnt=0+1
n=4  4<=10   if(4%3==0)
n=5  5<=10   if(5%3==0)
n=6  6<=10   if(6%3==0) cnt=1+1

 

//문) 1~10까지 3의 배수만 누적의 합

int hap=0;
int n;
for(n=1; n<=10; n++)
{
   if(n%3==0)  hap=hap+n;
}

printf("3의 배수만 누적 합 : %d\n",hap);


//문) 5팩토리얼 구하여라
       5에서 부터 1까지 곱하기 5*4*3*2*1

int gop=1;
int n;
for(n=5; n>=1; n--)
{
   gop=gop*n;
}

printf("5팩토리얼값:%d",gop);

-------------------------
//문)두 수사이의 누적의 합을 구하시오
int p=2, q=8;
int hap=0;
int n;

for(n=p; n<=q; n++)
{
   hap=hap+n;
}

printf("%d~%d 누적의 합 : %d",p,q,hap);

 

 

--------------------------------------

 

 

 

#include<stdio.h>

void main()
{

int idx=10;

/*
switch(idx)
{
   case 5:
      printf("사과");
      break;

   case 10:
      printf("수박");
      break;

   case 15:
      printf("바나나");
      break;

   default:
      printf("과일");
      break;
}

*/

/*
switch(idx)
{
   case 5:
      printf("사과");
      break;

   case 10:
      printf("수박");

   case 15:
      printf("바나나");
      break;

}
*/


/*
int p=5, q=3;
int res;
float res2;
char op='+';

switch(op)
{
   case '+' : res=p+q; break;
   case '-' : res=p-q; break;
   case '*' : res=p*q; break;
   case '/' : res2=(float)p/q; break;
   case '%' : res=p%q; break;
}

if(op=='/')
  printf("%d %c %d = %.2f\n",p,op,q,res2);
else
  printf("%d %c %d = %d\n",p,op,q,res);


*/

/*
int su;
for(su=1; su<10; su=su+3) //su+=3
{
   printf("happy");
}
*/


/*
int su;
for(su=10; su>1; su=su-3)
{
   printf("hi");
}

*/
/*
int gugu=4, n;

printf("** %d단 **\n",gugu);
for(n=1; n<=9; n++)
{
  printf("%d*%d=%d\n",gugu,n,(gugu*n));
}

*/


//평균을 기준으로 수,우,미,양,가
/*
char name[10]="홍길동";
int kor=40,eng=30,mat=90;
float aver=(kor+eng+mat)/3.0;

switch((int)(aver/10))
{
  case 10:
  case  9: printf("수"); break;
  case  8: printf("우"); break;
  case  7: printf("미"); break;
  case  6: printf("양"); break;
  default : printf("가"); break;
}

//문) 평균 10점당 ★ 하나씩 출력하기

int n;
for(n=1; n<=(int)(aver/10); n++)
{
  printf("★");
}

*/

/*
int cnt=0;
int n;
for(n=1; n<=10; n++)

   if(n%3==0)
   {
        cnt=cnt+1;
    }
}

printf("3의 배수 갯수 : %d\n",cnt);

  */
/*
int hap=0;
int n;
for(n=1; n<=10; n++)
{
   if(n%3==0)  hap=hap+n;
}

printf("3의 배수만 누적 합 : %d\n",hap);

*/

/*
int gop=1;
int n;
for(n=5; n>=1; n--)
{
   gop=gop*n;
}

printf("5팩토리얼값:%d",gop);

*/


int p=2, q=8;
int hap=0;
int n;

for(n=p; n<=q; n++)
{
   hap=hap+n;
}

printf("%d~%d 누적의 합 : %d",p,q,hap);

 


}

 

 


 

'..열심히 공부하세.. > C 입문' 카테고리의 다른 글

[08] while문, do~while문  (0) 2012.05.25
[07] 이중 for문   (0) 2012.05.24
[05] switch~case문  (0) 2012.05.22
[04] 제어문 (if 조건문)  (0) 2012.05.21
[03] 자료형  (0) 2012.05.17

+ Recent posts