티스토리 뷰

반응형

개발자의 C언어 독학 기초 # 루프 while 사용법

모든 강의 자료 : www.codingnow.co.kr/

이번 강의에서는  for 루프와 유사한 while에 대해 강의 한다.

이전 for 루프 강의에서 사용된 소스 코드에서 최소한으로 while을 사용하여 변경하면 다음과 같다.

C언어 while 사용 예

결과 출력 화면

for를 사용할 때와 비교해서 보면 이해가 좀더 쉽다.

for와 동일하게 { } 내의 소스코드를 반복하는 것으로 while( ??) 괄호 안의 조건이 "0"이 아닌 경우 반복하게 된다.

만약 while(1) 이면 무한 반복이 된다.

참고로 for와 while의 공통적으로 { } 괄호 안에 break가 있으면 루프가 종료 되게 된다.

{
break;
}

소스코드를 첨부한다.

공부를 위해 붙여 넣는 것보다.

타이핑하여 손에 코드가 익숙해 지도록하는 것이 중요하다.

 

#include <stdio.h>
#include <time.h> 
#include <windows.h>
//chcp 65001

void main(void)
{
	int num1, num2, result, sum;
	int score;
	system("chcp 65001"); //gcc 한글 깨짐
	system("cls"); //화면지움
	printf("\n-------문제를 풀어보세요-------------\n");
//랜덤 수를 만든다.
	srand(time(NULL));
	
	score = 0;
	//for(int cnt=0; cnt<10; cnt++)
	int cnt=0;
	while(cnt<10)
	{
		num1 = rand()%100; //첫번째 값 (100 이하의 랜덤 값)
		num2 = rand()%100; //두번째 값 (100 이하의 랜덤 값)
		sum = num1+ num2; //답을 구한다.

	//문제를 출제한다.
		printf("\n %02d번째 문제 %d + %d = ",(cnt+1), num1, num2);
		
	//답을 입력받는다.
		scanf("%d", &result);

	//결과를 표시한다.
		if(sum == result)
		{
			printf("       정답입니다.\n");
			score += 10;
		}else{
			printf("       오답입니다. 정답은 %d 입니다.\n", sum);
		}
		
		cnt++;
	}
	printf("-------------------------------------\n");
	printf(" 100점 만점에 %d입니다.\n",score);
	printf("-------------------------------------\n");
	
	system("pause");	
	return;
}
반응형
반응형