[ C 언어 / C ++] for 문과 if 문 을 쉽 게 이해 하 자 아래 열심히 강좌 하 신 분 들 도 계시 지만 . . 만약 이제 막 변수 에다가 숫자 넣 고 프린터 에 프로 화면 출력 하 느냐고 다음 if 문과 for 문 을 들어가 려는데 다른 분 들 이 글 이 어렵 다고 생각 하 시 면 그렇 다면 읽 어 보 시 길 바랍니다 . if 문 은 물 어 보 는 것 입니다 보통 모양 꼴 은 if ( 변수 ) {} 입니다 if ( ) 에서 ( ) 안 에 들어가 는 수 가 0 이 아니 라면 {} 안 의 내용 을 실행 시킵니다 . 그 안 에 는 좀 더 복잡 하 게 물어볼 수 도 있 습니다 여기 서 꼭 기억 해아 하 는 것 이 기본 은 ' 0 이 아니 라면 실행 시켜라 ' 입니다 < 과 > 것 그리고 == 또는 <= >= 그리고 ! = 이 있 습니다 . 이 중 에서 제일 먼 져 물어볼 만 한 것 이 0 일 때 만 실행 시켜라 라고 하 고 싶 을 때 if ( ! 변수 ) 이렇게 넣 으면 변수 가 0 일 때 만 실행 시킵니다 . ! 는 쉽 게 not 우리나라 말 로 하 면 아닐 때 라는 뜻 을 가지 고 있 습니다 . = 이 같 다 입 니다만 ( ) 안 에서 연산 문장 을 실행 시킬 수 있 기 때문 에 == 를 같 다 라고 보 게 됩니다 . 그래서 같 지 않 다면 은 ! = 가 됩니다 이것 들 은 두 개 의 변수 를 비교 할 때 사용 됩니다 . a 가 1 이 고 b 가 2 일 때 를 예 로 들 면 if ( a > b ) 이렇게 하 면 순차 적 으로 생각 해서 a 가 b 보다 큼 면 {} 를 실행 시켜라 라는 말 이 되 죠 . 그리고 반 대로 < 넣 으면 a 가 b 보다 작 으면 {} 를 싱 행 시켜라 라는 말 이 구요 a == b 라면 두수 가 같 으면 실행 시켜라 라는 뜻 입니다 . 만약 a = b 라고 한다면 a 가 b 가 된 것 이 니 if ( 2 ) 라고 물어본 것 입니다 . 0 이 아니 라면 실행 시킨다고 했으니 {} 를 실행 시키 겠 죠 . <= 는 작 거나 같 으면 이 라는 뜻 이 고 >= 는 크 거나 같 은 면 이 라는 뜻 입니다 . 그 다음 으로 알 아야 할 것 이 && 와 || 입니다 && 는 and 로 둘 다 참 이 면은 이 라는 뜻 입니다 . 즉 둘 다 0 이 아니 라면 예 로 들 면 if ( a && b ) 이런 식 이 라면 둘 다 0 이 아님 으로 {} 문 은 실행 한답니다 . 만약 둘 중 하나 가 0 었 다면 조건 을 충족 시키 지 못하 여 실행 시키 지 못합니다 . 다음 으로 || 은 or 둘 중 하나 라도 입니다 . 둘 중 하나 라도 만족 한다면 실행 시켜라 . 이것 은 비단 두 개 만 가능 한 것 은 아닙니다 a && b && c 라면 3 다 만족 한다면 이 되 구요 a || b || c 라면 셋 중 에 한 개 라도 가 됩니다 . 마지막 으로 if ( ) {} 다음 에 else {} 이것 을 붙이 면 위 를 실행 하 지 않 았 을 때 라고 생각 합 면 됩니다 . 즉 if 문 에 참 ( 0 이 아닌 수 ) 이 들어가 면 실행 시키 지 않 고 거짓 ( 0 인수 ) 가 들어가 면 실행 시켜라 라는 것 입니다 . else == 위 에 좋 건 에 충족 하 지 못하 면 실행 시켜라 라는 뜻 입니다 . 이제 for 문 으로 들어가 보 죠 for ( char i = 0 ; i < 10 ; i ++){} 이것 이 기본 적 인 모양 꼴 입니다 . 여기 서 ( ) 안 에 는 기본 적 으로 3 가지 가 들어가 는데 우선 변수 초기 화 설정 이 가능 합니다만 이중 for 문 을 사용 할 때 도 있 기 때문 에 초보 분 들 은 여기 서 변수 를 설정 하 지 말 고 그 전 에 char i , j , k ; 이런 식 으로 미리 사용 할 for 문 용 변수 를 정해 주 고 내려오 는 것 이 좋 습니다 . 위 에서 미리 변수 를 정해 주 었 다면 for ( i = 0 ; i < 10 ; i ++ ) 될 것 입니다 . 여기 서 처음 i = 0 ; 은 i 에 무슨 수 가 들 어 있 을지 모르 니 0 으로 초기 화 시키 는 것 이 구요 이 초기 화 는 처음 for 문 에 들어갔 을 때 딱 한번 실행 합니다 . i < 10 이 라는 것 은 i 가 10 보다 작 으면 이 라는 뜻 이 죠 즉 이 말 대로 i 가 10 보다 작 으면 밑 에 {} 를 실행 시켜라 라는 뜻 입니다 . for 문 은 실행 후 에 무 좋 건 다시 최초 for 문 으로 와서 이 문장 인 i < 10 에 대하 여 다시 물어봅니다 . 그리고 마지막 i ++ 은 말 그대로 i ++ 입니다 모르 신다면 ++ 은 변수 = 변수 + 1 ; 의 뜻 을 가지 고 있 습니다 . 즉 i ++ 은 i = i + 1 ; 의 뜻 이 죠 . 가장 쉽 게 왜 i ++ 이 냐 라고 설명 하 자면 키보드 로 쳤 을 때 i ++ 과 i = i + 1 과 어느 것 이 빠를까 요 ? 보통 은 i ++ 을 쓴 답니다 . 이 3 번 째 로 붙 는 ++ 이 들어가 는 부분 에 것 은 항상 {} 안 의 것 을 다 수행 한 뒤 에 수행 시켜 줍니다 . 즉 사실 for 문 을 풀 어서 보 면 i = 0 ; 을 실행 하 고 무한 으로 돌 아라 단 i < 10 을 만족 하 지 못하 면 이 문장 은 그만 하 고 빠져나가 라 이렇게 하 고 {} 의 문장 을 수한 한 뒤 에 3 번 째 로 넣 어 주 었 던 i ++ 을 실행 한 뒤 무한 으로 돌아 라 로 돌아갑니다 . 이런 식 으로 이루어져 있 는 거 죠 . 보통 for 문 은 몇 번 반복 을 위해서 사용 합니다 . 예 로 구구단 을 할 때 9 줄 의 프린터 에프 문 을 사용 하 는 것 보다 는 for 문 을 넣 고 프린터 에프 문 에서 연산 이 가능 하 다고 하 니깐 뒤 에 % d 와 짝 을 이루 는 변수 * i 를 하 게 되 면 쉽 겠 죠 . 단 i 를 0 부터 시작 하 고 10 이 되 면 만족 하 지 못해 여 탈출 해 버리 기 때문 에 for 문 이 끝났 을 때 의 i 는 10 이 지만 실제로 실행 한 숫자 는 0 ~ 9 가 됩니다 . 그럴 대 는 i = 1 ; i < 11 ; i ++ 이런 식 으로 쓰 지 않 고 "% d ", 변수 * ( i + 1 ) 이런 식 으로 씁니다 . 그리고 연산 문 은 곱하 기 나 나누 기 가 있 으면 + 나 - 보다 먼 져 연산 하 기 때문 에 ( ) 로 묶 어 주 어 하나 로 만드 는 것 이 좋 습니다 . 즉 ( ) 안 에 것 은 연산 이나 수식 등 을 통하 여 얻 어 진 한 나 의 개체 로 보 게 됩니다 . 위 에 말 했 던 변수 * ( i + 1 ) 에서 ( i + 1 ) 을 했으니 i 가 0 이 라고 한다면 0 + 1 을 한 1 이 라는 숫자 까지 연산 이 끝 난 한 개체 를 변수 와 곱 하 게 되 죠 그래서 변수 * ( i + 1 ) 이 라고 적 습니다 만약 그렇게 안 하 고 변수 * i + 1 로 하 면 변수 와 i 를 먼 져 곱하 고 난 뒤 에 + 1 을 하 기 때문 에 i 가 0 이 라면 어떤 수 를 곱해 도 0 그 뒤 에 + 1 을 해서 % d 는 1 이 되 죠 . i = 0 이 라는 식 으로 될 수 있 으면 하 는 이유 는 숫자 가 많 아 지 거나 애매 해질 때 나중 에 이것 이 몇 번 돌 지 ? ?? 라고 볼 때 굉장히 애매 한 숫자 로 들어가 면 바로 몇 번 도 는지 파악 하 기 힘들 기 때문 에 그렇 습니다 . 또 좀 더 프로그램 이 복잡 해 지 면 i < 변수 가 들어갈 수 있 게 되 기 때문 에 변수 가 변동 폭 이 있 는 만큼 i 까지 변동 폭 을 가지 면 정말 연산 이 복잡 해져서 i 는 될 수 있 으면 0 으로 쓴 답니다 . 그럼 여기 서 왜 for 문 은 굳이 i , j , k 이런 식 으로 나가 냐구요 ? 이것 은 일종 의 암묵 의 룰 입니다 . 실제로 프로그램 을 짜 다 보 면 if 문과 for 문 은 거의 60 % 에 가깝 게 이루 게 됩니다 . 그렇게 자주 사용 하 게 되 기 때문 에 . . for 문 을 일반 적 으로 약속 한 듯이 i , j , k , m , l ( L 입니다 ) 을 쓰 게 됩니다 . 굳이 그렇게 쓰 지 않 아도 되 지만 . 만약 다른 프로그래머 가 본다면 위 에 변수 가 아닌 다른 변수 가 들어갔 을 때 굉장히 어색 하 고 의아 하 게 보 게 된답니다 . 이상 으로 짧 게 설명 을 맞추 고 요 좀 더 자세 한 내용 을 원하 신다면 다른 분 의 강의 를 보 시 면 될 듯 하 고요 . 아마도 기본 적 인 이해 는 이강의 가 편하 듯 합니다 . ( 주 ) 아이 티 뱅크 멀티 컴퍼스 해커 대학 ( 02 - 3672 - 4095 ) 무료 개인 컨설팅 은 상담 예약 을 잡 아야 가능 합니다 . . 정보 보안 전문가 과정 관리 담당 유 규정 보안 팀장