맨위로

C PROGRAMMING - 기초2012. 2. 16. 19:43

안녕하세요 ? 이번 강의에서는 C언어 For 문에 대해서 알아보도록 하겠습니다. 이번 강의부터는 강의마다 적은 범위를 제대로 설명 하도록 노력 해보겠습니다. 먼저 강의를 시작하기 전에 이블로그에 와주신 모든 분들께 감사의 말씀 드립니다. 이제 본격적으로 오늘의 주제인 C언어 For문에대해서 자세히 알아보도록 하겠습니다.


For 문

지난번 강의에서 온도변환 프로그램을 이용해서 변수와 수식표현에 대해서 알아보았다. 그프로그램에 코드는 다음과 같았다.

#include <stdio.h>

/* print Fahrenheit- Celsius table
for fahr = 0, 20, ... , 300 */
main()
{
int fahr, celsius;
int lower, upper, step;

lower =0;
upper = 300;
step = 20;

fahr = lower;
while (fahr <=upper) {
celsius = 5 * (fahr - 32) / 9;
printf("%d\t%d\n", fahr, celsius);
fahr = fahr + step;
}
}


위의 코드는 While 문을 이용해서 온도변환프로그램에서 중요한 역활을 하는 반복계산을 했다. 이번강의에서는 while 문을 대신해 For문을 이용해서 온도변환 프로그램을 바꾸어보겠습니다. For문을 이용한 코드는 다음과 같습니다 .

#include<stdio.h>

main()
{
int fahr;

for (fahr = 0; fahr <=300; fahr =fahr + 20)
printf("%3d %6.1f\n", fahr, (5.0/9.0) * (fahr-32));
}


while 문을 이용한 코드에 비해서 길이도 많이 짧아졋고 변수도 fahr 을 제외한 upper,lower,step 같은 변수들이 For 문에 속에 숫자로 들어간것을 알수있습니다. 어떤 원리로 위의코드와 같이 짧으면서도 같은 결과를 출력하는지 For문에 대해서 알아보도록하겠습니다.

For문은 while과 같이 반복수행을 하는 역활을 합니다. For 문은 크게 세부분으로 나뉘어져있습니다.

for(초기식; 조건식; 증가식)
     수행문장;


첫번째 부분은

fahr = 0;

루프의 내용이 실행되기 전에 한번만 실행됩니다.


두번째 부분은

fahr <= 300

조건을 나타내며, 이조건이 만족할시 루프의 몸체부분이 실행됩니다.


세번째 부분은

fahr = fahr + 20

실행되는 부분이며 이부분이 실행되고 두번째 조건이 만족되는지 다시검사한후 조건을 만족할시에 수행문장을 수행하고 조건을 다시 검사하고 세번째 부분이 다시 실행된다. 이 과정은 조건부분인 fahr <=300 에 만족하지 않을때까지 계속수행된다.

모든 조건이 만족하게 되면 다음 수행문장을 수행하게 됩니다.

printf("%3d %6.1f\n", fahr, (5.0/9.0) * (fahr-32));

위의 수행문장은 3자리의 십진정수 (%3d)  와 전체6자리 소수점이하1자리의 실수(%6.1f\n) 를 출력하게 됩니다.
C언어는 변수가 있어야할자리에 수식이 들어가도 상관은 없습니다. 하지만 형(Type)은 맞아야합니다.

마치며

지금까지 C언어 For문에대해서 알아보았습니다. For문의 몸체는 하나의 문장이거나 중괄호로 묶어진 문장들일 수도 있습니다. For문을 써서 프로그램의 길이가 짧아지는것은 주목할 만한것입니다.


연습문제

 300도에서 0도까지 계산하는 프로그램을 For문을 이용해 작성하기 즉 역순으로 만들기



'C PROGRAMMING - 기초' 카테고리의 다른 글

C언어 - 문자 입출력  (2) 2012.02.21
C언어 - 상수정의  (0) 2012.02.18
C언어 - For 문  (6) 2012.02.16
C언어 - 변수와 수식표현②  (0) 2012.02.14
C언어 - 변수와 수식표현①  (17) 2012.02.13
C언어 - Hello,World  (7) 2012.02.05

Posted by STIH

댓글을 달아 주세요