본문 바로가기
프로그래밍언어/C언어

for 문의 여러 가지 변형

by J코딩 2022. 7. 4.
반응형

for 문을 구성하는 초깃값, 조건값, 증감값은 각각 생략할 수 있습니다. 다음 예제 1번, 2번, 3번, 4번는 모두 같은 결과를 나타내는(1부터 10까지 곱을 산출하는 프로그램) 올바른 for문입니다. 비교해 보기 바랍니다.

1번 for문

예제 1번은 1*2*3*4*5*6*7*8*9*10 즉, 1~10까지의 곱셈을 구하는 프로그램입니다. 여기서 1~10까지 증가하는 것은 변수 i로 처리했고, 변수 factorial은 곱셈의 결과를 저장하는 변수입니다.

5행에서 변수 factorial에 1을 설정한 이유는 뭘까요? 변수 i가 1일 때 변수 factorial의 초깃값이 1이여야 10행에서 'factorial=factorial*i'이 정상적으로 수행됩니다. 즉, 'factorial=1*1이 되는 것입니다. 변수 i가 최초 1일때 곱셈 연산을 하기 위해 설정한 것입니다.

예제 2번은 for 문을 변형한 형태입니다. for 문 내에서 초깃값 설정이 생략되어 있습니다.

2번 for문

5행에서는 for 문의 초깃값 설정이 생략되어 있지만 바로 위 4행에서 초깃값 int i=1이 설정되어 있기 때문에 문법 오류를 일으키지 않습니다.

예제 3번은 for 문 내에서 조건값 설정이 생략되어 있습니다.

3번 for문

5행에서는 for 문의 조건값 설정이 생략되어 있지만 이것의 의미는 for(i=1; 1; i++)과 같은 의미입니다. 즉, 무한 반복문과 같은 의미입니다. 9행부터 10행까지에서는 break 문을 이용하여 무한 반복문을 탈출하기 위한 조건을 표현하고 있습니다.

 

예제 4번은 for 문 내에서 증감값 설정이 생략되어 있습니다.

4번 for문

이처럼 여러분의 프로그래밍 스타일에 맞게 여러 가지 방법으로 사용하면 좋을 것 같습니다. C언어에서는 같은 결과를 얻는 다양한 프로그래밍 방법이 있다 보니 어렵다고 느낄 수도 있지만, 어쩌면 장점일 수도 있습니다.

 

 

 

 

반응형

댓글