예제로 도형출력 지난시간 배운 예제를 가지고, 직각삼각형을 출력할 수 있을까? 반복문을 배우면 거의 반드시 들어가는 문제로, 많은 분들이 배우실 때 어려움을 겪는 문제다. 여기서 논리를 파악하자면, 가로를 내부 반복문이고, x축이라고 본다면, 세로는 외부 반복문이고, y축이 된다. 이때 x와 y의 수의 차이에 따라서 ‘개행’이 되냐 아니냐에 차이인데, 이정도가 도형을 출력하는 논리다. 이 도형 출력의 코드는 엄청 쉽다. 단지, 내부 반복문에서 for(x = 0; x < 5; x++)를 for(x = 0; x
반복문의 중첩 ‘*‘를 5번 반복해서 출력하는 반복문이 있다고 한다. 여기서 이 반복문을 4번 또 반복하는 경우도 있는데, 사실 이러는 경우는 5 × 4 = 20으로 그냥 *을 20번 반복하면 될 것 같지만, 이와 다른 경우에는 반복문을 2개 끼워 넣는 것이 효과적일 수가 있다. 여기서 반복문이 반복문에 들어있는 경우를 ’반복문의 중첩’ 이라고 한다. 이 반복문의 중첩을 슈도코드를 예로 들어서 설명할 수 있다. (여기서 슈도코드 ‘pseudo code’ 란, 의사코드라고도 하는데, 풀어서 말하면 코드를 흉내 내서 논리를 표현한 자유로운 표현과 언어로 쓴 코드다.) 만약에 백화점에서 쇼핑을 하는 여자가 하는 일을 코드로 작성한다면, while(둘러볼 매장이 있는가?)로 조건을 세울 것이다. 그리고 그 반복..
do while문 while문과 비슷한 do while문은 둘이 비교해서 보면 알기 쉽다. while문은 옆에 조건식이 들어가며, while문의 스코프{ }안의 구문은 while문의 조건식에 맞게 될 경우 구문이 실행된다. 그리고 절대로 while문에는 끝에 세미클론 ;을 붙이면 안 된다고 했다. 그러나 do while문은 do가 맨 위로 가고, 구문 다음에 while(조건식); 이 붙게 된다. 이 do while문이 while문과 무슨 차이인가 하면, do while문은 처음에 무조건 1번은 실행되고,(do) 그다음은 while문처럼 조건을 봐서 맞을 경우 그만큼 반복하는 것이다. 사용빈도는 그렇게 많지는 않은데, 예를 들어, while문 위에 나오는 실행문이 while문에 들어가는 실행문과 일치하는 ..
반복문 c언어에도 단계를 나눈다면, part 1은 반복문 까지가 된다. 여기까지는 p/g을 하는데 모든 언어에서 통합되는 기본 논리를 배운 것과 다름없다. 그런 뜻에서 part1을 배운 것은 프로그램을 작성하는게 큰 의미가 있다. 여기서 이 반복문은 지난시간 배운 분기가 나뉘는 제어문과 다르니 유의하자. if(조건식){ 실행문; 실행문; }으로 쓰이는 것을 배웠었다. 이 if과 반복문은 형식에 비슷한 점이 많다. 반복문은 비유하자면 인형 눈깔을 붙이는 것으로 들 수 있다 인형 눈깔 100번을 똑같이 붙일 때, 같은 작업을 100번 반복하는 건데, 이걸 줄여서 생략할 수 있는 것이 반복문이다. 반복문은 기본구조는 쉽지만, 복잡한 논리로 정교하게 짜여 졌을 때 골치를 앓을 어려운 프로그램이 될 수도 있다. ..
if else와 다중 if문 if문에서 else가 붙으면 거짓일 경우에도 추가로 실행문이 붙게 된다. if(조건식) a실행문; 일 경우 참이면 a실행문을 추가로 실행하는데, if(조건식) a실행문; else b실행문; 일 경우에는 참이면 a실행문을 추가로 실행하고, 거짓이면 b실행문을 추가로 실행한다. else는 ‘아니면‘이라고 해석하면 좋다. (조건연산자와 완벽하게 비슷하다 조건연산자와 비교해서 보면 쉽다) else if라는 경우도 존재한다. if가 ‘만약‘이고, else가 ‘아니면‘이면, else if는 위의 if가 ‘아니면 만약‘이 된다. 여기서도 한 else if조건식이 실행될 경우 나머지는 실행이 되지 않으며, 앞에 있는 if가 실행될 경우에, 나머지는 실행되지 않는다. 형식으로 보자면 if(조..