• 2022. 5. 3.

    by. 데브촙

    반응형

    if 조건문을 사용하여 실행 흐름을 자주 변경하면 수행 능력이 떨어진다

    조건문을 최대한 적게 사용하는 것이 좋다.

    if ( 5== A ) A = A + 2; // if문을 사용한 케이스
    A = A+2 * (5==A); /* 조건수식 5 == A가 참이면 A = A + 2*1;
    조건수식 5 == A가 거짓이면 A = A + 2 *0;
    이러한 노력으로 if문을 줄일 수 있다! */

     

    Ex1.

    숫자 0,1,2,3,4를 두 번 반복해서 출력

    // 반복문만 사용[A타입]
    for(int i = 0; i < 2; i++)
    {
    for(int j = 0; j < 5; j++) printf(“%d, ”, j);
    }
    // if 조건문 사용[B타입]
    int count = 0;
    for(int i = 0; i < 10; i++)
    {
    if(count == 5) count = 0;
    printf(“%d, ”, count++);
    }
    // 연산을 이용하여 반복문 한번 사용[C타입]_best case
    for(int i = 0; i < 10; i++)
    {
    // i를 5로 나눈 나머지를 출력
    printf(“%d, ”, i % 5);
    }

     

     

    Ex.2 if 조건문을 줄일 필요가 없는 형태

    A2보다 크고 10보다 작으면, A1 증가시키는 작업

    // 조건문 나열[A타입]
    if( A > 2 )
    {
    if( A < 10 ) A++;
    }
    // 관계 연산자 활용[B타입]
    if( A > 2 && A < 10 ) A++;

    B타입이 A타입보다 조건문을 한번 더 적게 실행하여 더 효율적이어보이지만, 컴파일러가 A, B 둘다 동일한 기계어로 번역함. 그래서 이러한 경우 어떻게 표현하던 상관 없음.

    반응형

    'C' 카테고리의 다른 글