일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- c#
- 구글 애드센스
- 실업급여
- 코알못
- 스킨케어
- 신한은행
- 지성피부
- 주택청약
- 쿠팡직구
- 스와니코코
- github
- 엑셀
- 천연화장품
- 직장인코딩공부
- 구글애드센스
- HTML공부
- 넷플릭스 영어공부
- 직장인재테크
- 마스카라
- 에센스
- 공병리뷰
- 영어회화공부
- 깃허브 사용법
- css position
- 짠테크
- 마스크팩
- 주름개선
- 왓슨스
- 직장인 코딩공부
- 올리브영
- Today
- Total
지지나
C# - 제어처리 3. for문, while문, continue 본문
지난번에 봤던 제어문은 A조건을 만족하면 A를 수행하고, 그렇지 않으면 B를 수행하는 것을 봤다면
이번에는 어떠한 내용을 만족할때까지 작업을 반복처리하는 것을 볼 겁니당.
[for문]
for(초기값; 조건식; 반복식)
반복실행할 코드;
제어변수의 초기값부터 최종값을 만족할때까지 작업을 반복 실행
어떤 건지 알았으면 바로 해 본다..ㅎ
나는 이 For 문이 적금 만기 상품일때 금액 계산하기 좋을 거 같다고 생각해서 그렇게 한번 만들어 보기로 함.
주의! for문 식 옆에는 새미콜론;이 없다. 지난번에 한 실수 또 할뻔!
for 문의 경우 조건에 만족할때까지 그 작업을 반복 실행한다고 했으니, 이 경우 1부터 52까지 숫자만 나열했다.
하지만 내가 보고 싶은 것은 내가 일주일에 1만원씩 적금한다고 했을때, 적금 만기인 주에 얼마일지, 한 줄로 보고 싶었다!
사용자가 N주차 적금의 값(m)을 쓰면(Console.Readline에), int로 입력된 값을 숫자(n)로 변환한다.
int sum = 0; 으로 sum이라는 변수는 초기값이 0입니다. 라고 먼저 해 준다!
for 문에서 " int a라는 변수는 1이라고 만들고, a가 n보다 작거나 같을때까지, 명령을 수행하되 a를 1씩 증가시킨다 "
라고 작성해주었다.
그리고 sum+=a; 로 'a만큼 누적해서 더해라' 라고 썼다.
[while문]
while(조건식)
반복실행할 코드;
조건식이 참인 동안 작업영역을 반복수행한다. (값은 자동증가 되지 않음, for문과의 차이!)
쉬운 것부터 해보면,
a=10 이라고 하고 while문에 a>0일때 a를 하나씩 줄여라! 라고 반복실행할 코드를 주었다면,
10부터 1까지 차례로 작아지면서 반복 실행이 됩니다.
while (a>0) 에 블럭{ }을 열어서 while이 참인 동안 실행할 영역 표기를 해 줍니다.
이번엔 10에서 a를 2만큼 계속 뺐을때, a가 양수라고 조건을 주었으니 10, 8, 6, 4, 2 라고 차례로 표기가 됩니다.
같은 맥락으로 아래도 한 번 해 보았어요. (a가 파란색, sum이 빨간색)
++a는 먼저 a 증가후 출력이니 1에서 sum은 0에서 a만큼 누적시키니 0+1=1
a가 100보다 작을때까지 수행이니 ++a 증가해서 2, sum은 1+2=3
a가 100보다 작을때까지 수행이니 ++a 증가해서 3, sum은 3+3=6
a가 100보다 작을때까지 수행이니 ++a 증가해서 4, sum은 6+4=10 ...
이번엔 while 문 더 응용을 해볼까요?
저는 위의 것을 해 보고, 옛날 동화에 임금님이 현명한 여인에게 "상으로 무엇을 원하느냐!" 하였더니, 그 여인이 하루에 쌀 한 톨씩 더 달라고 청하자 임금님이 '별 것 아니구나~' 하고 흔쾌히 승낙했다가
나중엔 그 값이 커져 울상이었다는 전래 동화가 떠올랐어요ㅋㅋㅋㅋ
이렇게 만들어 보았습니다ㅎ..
[do while문]
do
{
반복실행할 코드;
}
while(조건식);
먼저 반복실행을 하고, 조건식을 평가하는 구조로 최소 한 번은 실행이 된다!
아래는 해 본 건데, 한번 보면 알 내용입니당.
좀 더 심화해서 예제를 해볼까요?
제가 10보다 큰 값을 입력하지 않는한 계속 됩니다.
이번에는 프로그램이 종료될 때 합을 구해 보았어요.
아래도 같은 경우인데, 합 18에서 마지막 넣은 10이었던 값을 제외한 8만 출력되게 해 보았습니다.
윈도우즈 폼으로도 해 볼까요?
텍스트 상자, 레이블, 버튼 다 불러오고 아래처럼 만들어 주었어요!
결과확인 버튼을 더블클릭해서 이벤트 페이지로 갑니다.
시작a 와 끝b에 값을 입력하면 그 합을 구하여라! 라고 만들었습니다.
이제 좀 익숙해 지셨나요?
[break 와 continue]
break - 현재 실행중인 반복문이나 switch문을 중단하려고 할 때
{}밖으로 나감
continue - 현재 실행중인 반복문에서 벗어나 다음 작업을 수행 (재실행을 뜻합니다)
{} 밖으로 나가지는 않음
아래를 보면, i를 나눈 나머지가 0, 즉 짝수인 경우 그 값은 버리고, 다시 루프에서 다음 작업을 한다는 것입니다.
위의 것과 정반대인 짝수의 합은 얼마? 를 구해보았어요! 2+4+6+8 의 합 입니다.
이 경우 조건을 만족하는 홀수는 continue로 버리는 것이죠!
'기획자의 프로그래밍 걸음마 > C#' 카테고리의 다른 글
C# - 제어처리 2. Switch (0) | 2020.06.19 |
---|---|
C# - 제어처리 1. if ~else / if ~else if (0) | 2020.06.17 |
C# 프로그래밍 기초 - 연산자 (0) | 2020.06.15 |
C# 데이터 타입과 변수를 배워봐요 - 2 (0) | 2020.05.18 |
C# 프로그래밍 데이터 타입과 변수를 배워봐요 1 (0) | 2020.05.09 |