본문으로 건너뛰기

반복문 활용

논리 연산자(&&, ||, !)

  • &&, || 로 비교한 A B 의 결과

    • 참 : 1
    • 거짓 : 0
    AB&& (AND)ㅣㅣ (OR)
    0000
    0101
    1001
    1111
  • !(NOT) 연산자를 사용한 X 의 결과

    X! (NOT)
    01
    10
  • C 언어 출력 결과

    int main(void){
    int a = 1, b = 0;

    printf("a && b : %d\n", a && b);
    printf("a || b : %d\n", a || b);
    printf("!a : %d\n", !a);
    printf("!b : %d\n", !b);

    return 0;
    }
    실행 결과
      a && b : 0
    a || b : 1
    !a : 0
    !b : 1
  • 활용 예제

    #include <stdio.h>

    int main(void){
    int a = 3;
    int b = 5;

    printf("%d\n", (a == 5) && (b == 5));
    printf("%d\n", (a == 5) || (b == 5));
    printf("%d\n", !((a == 5) || (b == 5)));
    return 0;
    }
    실행 결과
      0
    1
    0
  • 활용 예제 2

    #include <stdio.h>

    int main(void){
    int a = 3;
    int b = 5;

    while(!((a == 10) || (b == 10))){
    printf("a = %d\tb = %d\n", a, b);
    ++a;
    ++b;
    }
    return 0;
    }
    실행 결과
      a = 3	   b = 5
    a = 4 b = 6
    a = 5 b = 7
    a = 6 b = 8
    a = 7 b = 9

for(i = 0; i < 3; i++) { ... }

for(초기값; 조건식; 증가치)

  • 초기값으로 조건식을 조사해서 조건식이 참이면 명령 수행하고 증가시킴

  • 조건이 거짓이 되면 for 반복문을 중단
    EX) for(i=0; i<3; i++) 👉 3번 반복함

  • 푸시업 예제

    #include <stdio.h>

    int main(void){
    int i;

    // 1부터 시작; 3과 같을 때까지; 1씩 증가;
    for(i = 1; i <= 3; i++){
    printf("%d회 푸시 다운\n", i);
    printf("%d회 푸시 업\n", i);
    }
    return 0;
    }
    실행 결과
      1회 푸시 다운
    1회 푸시 업
    2회 푸시 다운
    2회 푸시 업
    3회 푸시 다운
    3회 푸시 업

    ⚠️ {중괄호} 가 없는 경우 첫번째 함수만 반복되므로 주의

메뉴 선택하기

  • switch case 문 활용

    #include <stdio.h>

    int main(void){
    int number = 0;
    printf("메뉴를 선택하세요.\n");
    printf("1.콜라 2.사이다 3.환타.\n");
    scanf("%d", &number);

    switch(number){
    case 1:
    printf("콜라 입니다.\n");
    break;
    case 2:
    printf("사이다 입니다.\n");
    break;
    case 3:
    printf("환타 입니다.\n");
    break;
    default:
    printf("생수 입니다.\n");
    }

    return 0;
    }
    실행 결과
      _따블클릭

3으로 나눈 나머지 맞추기

#include <stdio.h>

int main(void){
int man_robot = 0;
int woman_robot = 0;
int you = 0;
int m_ball = 3; w_ball = 3; y_ball = 3;
int man_robot_count = 0;

while(!(m_ball == 0 || w_ball == 0 || y_ball == 0)){
srand((unsigned int)time(0));
man_robot = rand() % 20 + 1; // 1 ~ 20 의 랜덤 수
man_robot_count = man_robot % 3; // 0 1 2
woman_robot = rand() % 3;

printf("여자봇은 %d를 선택했습니다.\n", woman_robot):
printf("당신은 무엇을 선택하시겠습니까?\n\n"):
printf("0. 나머지가 0이다. 1. 나머지가 1이다. 2. 나머지가 2이다.\n\n"):
scanf("%d", &you);

if(m_robot_count == you){
printf("당신이 이겼습니다.\n\n");
y_ball++;
m_ball--;
}
} else if(m_robot_count == you){
printf("여자 봇이 이겼습니다.\n\n");
w_ball++;
m_ball--;
} else {
printf("남자 봇이 이겼습니다.\n\n");
y_ball--
w_ball--
m_ball += 2;
}

printf("남자봇 : %d, 여자봇 : %d, 나 : %d", man_robot, woman_robot, you);
printf("남자봇 : %d 3으로 나눈 나머지는 %d입니다. \n\n", man_robot, m_robot_count);
printf("남자봇 : %d, 여자봇 : %d, 나 : %d", m_ball, w_ball, w_ball);
return 0;
}
실행 결과
  _따블클릭