-
20140313 (while, do while, 중첩 while)부산IT학원/스마트컨트롤러 2014. 3. 13. 17:46
19일차
-----------------
제 어 문
(반 복 문)
-----------------
-------
while
-------
반복시키는 제어문이다.while(조건) //조건이 참일 경우 아래 중괄호 실행, 거짓이면 탈출.
{
(명령문)
}
ex) 예제 소스코드
#include <stdio.h>
int main()
{
int iNum = 0;
while(5 > iNum) // 처음에 iNum이 0이므로 조건이 참이다
{
printf("Hello World! \n");
++iNum; // iNum을 증가시켜 1이 되고 다시 조건으로 올라가고
} // 조건이 거짓이 될 때까지 반복한다.
return 0;
}결과 화면
- 순서도
- while 문 조건은 참, 거짓으로 판별하기 때문에
참이면 1을, 거짓이면 0을 나타내므로
0을 제외한 나머지 값은 다 참으로 인식한다.
while( 1 ) // 조건이 계속 참이므로 무한 반복.
{
// 명령
}
while( -1 ) // 이것도 조건이 0이 아니니 참이므로 무한 반복
{
// 명령
}
while( 0 ) // 조건이 0이므로 거짓이므로
{ // 괄호 안에 명령은 절대로 실행되지 않는다.
// 명령(세계 정복)
}------------
do while문
------------
while문과 똑같지만 하나가 다르다while문은 조건을 검사하고 괄호 내용을 실행하지만
do while문은 우선 괄호 안을 먼저 실행하고 조건 확인 후
계속 실행할지 여부를 판단한다.
do
{
명령
} while(조건);
한가지 빼먹지 말아야 하는 것은 while(조건) 뒤에 꼭 " ; "을 붙여줘야 된다.
ex) 예제 소스 코드
#include <stdio.h>
int main()
{
int iNum;
int iTotal;
iTotal = 0;
iNum = 0;
do
{
iNum = iNum + 2;
iTotal = iTotal + iNum;
} while(100 > iNum);
printf("%d \n", iTotal);
return 0;
}결과 화면
2550
또 생각해야 할 것이 while문과 다르게 먼저 실행을 한 번하고 나서 반복하니
조건을 기입할 때 한 번 실행했다는 것을 생각하고 조건을 대입해야 한다.
-----------
중첩 while
-----------
while 문을 중첩 시킨 것인데 음....
그냥 밑에 예제를 보자.
#include <stdio.h>
int main()
{
int iCnt1;
int iCnt2;
iCnt1 = 0;
while(5 > iCnt1)
{
iCnt2 = iCnt1;
while(0 < iCnt2)
{
printf("O");
--iCnt2;
}
printf("* \n");
++iCnt1;
}
return 0;
}출력 화면
필요에 따라 몇 번이고 중첩 시키면 되는데
중첩을 시키면 시킬수록 헷갈리게 되니 생각을 잘해서 쓰는게 좋겠다.
오늘 배운 마지막은 순서도인데 아까 위에서 보았던 그것이다.
나중에 쓸 일이 생길거라고 꼭 알아두시라고 알려주셨다
순서도를 소스코드로 만들 줄 알아야 하고
소스코드도 순서도로 만들 줄 알아야 한다.
작성하기 쉬운 프로그램으로는 엑셀과 파워포인트이고
여기서 작성한 도형들?을 복사해서 그림판에 그대로 붙여 넣을 수 있다.
예제)
'부산IT학원 > 스마트컨트롤러' 카테고리의 다른 글
20140317 (break, continue, switch, debug) (0) 2014.03.17 20140314 (for, if, 삼항연산자) (0) 2014.03.14 20140312 (리터럴 상수, 접미사, 아스키코드, 캐스팅, 서식문자, 특수문자) (0) 2014.03.12 20140311 (비트연산자, 상수, 변수, const, sizeof) (0) 2014.03.11 20140310 (scanf, 16진수 10진수, 실수) (0) 2014.03.10