자라나라
[C언어] 반복문 본문
반복문
for, while, do while
기본적으로 알아둘 것!
위에서 볼 수 있듯, ++이 변수 앞에 붙으면 연산(변수에 1을 더함)을 수행한 값을 출력하고
변수 뒤에 ++이 붙으면 출력되고 난 후에 더한다.
for
for(선언; 조건; 증감){body)}
while
선언
while(조건){body;증감;}
여기서, printf("@#$", i, i++)로 작성해도 되긴한다.
근데 위와같이 위의 예문과 같이 작성하면 출력하고 나서 더하기 때문에 hi0~hi9까지 출력되지만
printf에 i++을 작성하면 증가된 채로 출력이 되어 결과물은 hi1~hi10이 된다.
반복 횟수만 따지는 경우엔 상관 없을 듯 하다.
do .. while
do while문은 보통 조건과 상관없이 한 번은 실행하고 싶을 때 쓴다.
이중반복문(다중for문)
이를 활용해 구구단을 만들어 보자~
9단까지 잘 만들어졌다 !!!!
다른 것도 만들어 보자
반쪽짜리 피라미드
앙증맞다. . ㅋㅋ
그럼 이번엔 좌우반전을 줘서 아래와 같이 만들어보자
우선, 공백을 눈에 보이게 문자 "^"로 표현해보겠다
그럼 먼저 ^에 대한 for문을 만들어보자
*에 대한 for문은 위에서 이미 만들어봤다.
이제 이 둘을 합쳐서 삼중for문을 만들어보자!
성공!! 이제 ^를 공백으로 바꿔주면~
성공적이다 이번엔 반쪽짜리 말고 제대로된 피라미드를 만들어 보자
앞서 본 예시로 봤을때, *의 개수는 2i+1 개가 필요하다.
이 식을 대입해서 조건문을 만들어보자
이제 마지막으로 원하는 층수를 입력해서 그에 맞는 피라미드를 만들 수 있는 반복문을 만들어보자
s 반복문 조건때문에 골머리를 앓았다.. 시간이 꽤 걸리긴 했지만 완성!
강의의 예문에서는
for (s = i; s< floor - 1; s++)
로 선언했다 오.. 전혀 생각 못했다!
'C언어' 카테고리의 다른 글
[C언어]포인터와 배열의 크기 (0) | 2022.04.25 |
---|---|
[C언어] 배열(array)[1] 선언, 초기화 (0) | 2022.04.15 |
[C언어] 함수 (0) | 2022.04.12 |
[C언어] if else , break/continue, random, switch (0) | 2022.04.01 |
[C언어] printf scanf (0) | 2022.03.21 |