딩굴댕굴

C 11Day (20160121)

by jennysgap

BOX

제어문(for문)

정의 :   지정된 조건이 만족되는 동안 어떤 처리를 지정한 횟수만큼 반복실행

for(식1; 식2; 식3)

종속문장(블록);


      



아래 while문을 for문으로 바꾸기

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
int main(void)
{
    int i=1;
 
    while (i<=5)
    {
        printf("Hello world!!\n");
        i++
    }
 
    return 0;
}
cs



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
int main(void)
{
    int i;
    /*
    for (초기식; 조건식; 증감식)
    {
        종속문장;
    }
    */
 
    for (i=0; i<5; i++)                    //초기식은 딱 한번만 진입함
    {                                    //조건식이 참이면 종속문장으로 간다.
        printf("Hello world!!\n");        //증감식 참이면 조건식가고 다시 종속문장 반복~  (자세한건 사진 참고)
    }
 
    return 0;
}
 
cs


  반복문 순서!!! (참이면 234 계속 반복한다.)




*종속문장이 한문장이면 생략가능!!*

메인 함수 제외하고 제어문에서만 가능!



1
2
3
4
5
6
7
8
9
10
11
 
#include <stdio.h>
int main(void)
{
    int i;
 
    for (i=0; i<5; i++)                        
        printf("Hello world!!\n");
 
    return 0;
}
cs






제어문(for문) 예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
int main(void)
{
    int sum=0;
    int i, num;
    printf("0부터 num까지 더할 정수를 입력하세요. ");
    scanf("%d", &num);
 
    for (i=0; i<num+1; i++)            // i<=num  (연산을 수행하기 보다는 부호를 사용하는게 보기 편함)
    {
        sum += i;
    }
    printf("0부터 %d까지의 합 : %d \n", num, sum);
 
    return 0;
}
cs






문제!!

구구단을 for문으로 작성해보자!




그렇다면 while문은 이제 사용 안하는 건가요? No

1. 어떤 문제를 반복하고 싶은데 횟수 미정일 때

2. 사용자에 따라 반복횟수가 달라질 때


for문 사용 할 때는?

1. 반복횟수가 딱 정해져 있을 때

2. 사용자 상관없이 반복횟수가 다 같을 때

*참고 : for문에서도 증감식 없애도 정상진행됨*


C언어 면접질문!!!!

while문이 있는데 굳이 for문을 사용하는 이유는 뭘까?





반복문에서 꼭 1씩 증가하라는 법은 없음 (2씩 증가해보기)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
int main(void)
{
    int cur, is;
 
    for (cur=2; cur<10; cur+=2)
    {
        for (is=1; is<10; is++)
            printf("%d * %d = %d\n", cur, is, cur*is);
        printf("\n");
    }
 
    return 0;
}
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
int main(void)
{
    int cur, is;
 
    for (cur=2; cur<10; cur+=2)
    {
        for (is=1; is<=cur; is++)
            printf("%d * %d = %d\n", cur, is, cur*is);
        printf("\n");
    }
 
    return 0;
}
cs






문제!!!!!! (단, for문으로 작성)

  1. Factorial을 계산하는 프로그램을 작성해보자
        n! = 1 * 2 * 3 * ... * n
    http://colorscripter.com/s/HW8Y7V2

  2. 구구단을 출력해보자. (단 역순으로)
    http://colorscripter.com/s/41bUwOK

  3. 1부터 15까지의 숫자를 역삼각형으로 출력해보자
        1   2   3   4   5  
        6   7   8   9  
        10 11 12
        13 14
        15
    http://colorscripter.com/s/XrrDbZR

  4. 숫자로 삼각형을 출력해보자
        1   2   3   4   5
            6   7   8
                 9
    http://colorscripter.com/s/vULgHgp










20160121 c언어 11day.txt



반응형

'BOX' 카테고리의 다른 글

C 13Day (20160125)  (0) 2016.01.27
C 12Day (20160122)  (0) 2016.01.23
C 10Day (20160120)  (0) 2016.01.22
C 9Day (20160119)  (0) 2016.01.21
C 8Day (20160118)  (0) 2016.01.21

블로그의 정보

jennysgap

jennysgap

활동하기