
<결과>
1부터 10까지의 합 : 55
- int i; int hap = 0;
이거는 앞에 배운 내용이랑 똑같다. 근데 hap은 바로 0이라고 해버렸다.
굳이 hap을 선언하고 뒤에서 hap = 0; 이렇게 안적고 바로 저렇게 하면 편하다.
똑같은 말이다.
- for (i = 1; i <= 10; i = i + 1)
처음 이 문장을 보면 도대체 뭔 말인지 알아먹을 수가 없다.
for안에 문장이 3개나 있다. for(초기값; 조건식; 증감식) 이런식으로 구성이 된다. (용어는 정확하지 않음)
초기값을 보면 i = 1 이다. i 의 값은 처음에는 1이라는 뜻이다.
조건식을 보면 i <= 10 이다. 이게 참이면 for문안에 있는걸 실행한다. 거짓이면 for문 밖으로 나간다.
증감식을 보면 i = i + 1 이다. 이게 무슨 말도안되는 식이고? 라고 생각할 수 있지만 가능하다.
저번에 = 이거 뜻이 뭐라고 했는지 기억이 나면 이해를 할 수 있다. i + 1 을 하고 나서 i에다가 그 값을 집어넣으란 뜻이다.
for문안에 있는걸 한번 실행하면 증감식을 한번 실행한다.
이제 for문은 이해를 했는데 순서가 어떻게 되느냐?
초기식 -> 조건식 (참) -> for문 실행 -> 증감식 -> 조건식 (참) -> for문 실행 -> 증감식 -> 조건식 (거짓) -> 빠져나감
이런 식이다.
- printf("1부터 10까지의 합 : %d", hap);
그냥 내가 쓰고싶은말을 쓰고 %d형식도 출력하는 부분이다.
%d, %f는 단독으로만 사용해야 하는것이 아니라 %d%d 이렇게 사용할 수도 있고 예제처럼 쓰고싶은말도 쓰고 %d도 쓸 수 있다.
for 문을 배웠으니 좋은 기능을 하나 알려주고 싶다. visual studio를 쓰거나 visual studio code를 쓰는 디버깅기능을 활용하면 좋을 것 같다. 리눅스에서 터미널을 쓰고계신분한테는 알려드릴 수 없다. 나도 몰라서 터미널에서 안하고 code를 쓴다.
이 사진은 code기준이다. visual studio는 잘 찾아보면 "한 단계씩 실행(아마 맞을거임)"이라는 게 있을거다. 차례대로 따라하면 된다. ( 먼저 코드부터 치고 오자 )

F5를 누른다. 그럼 중단점에서 멈출 것이다.

중단점에서 멈춘 모습이다. 노란 표시는 지금 뭘 하는지 보여 주는 부분이다.
옆에 변수 Locals 에 보면 i : 0 hap : 0 이라고 표시되어 있다.
지금 현재 i 가 0이라는 뜻이고 hap 도 0 이라는 뜻이다.
여기서 한단계씩 실행을 눌러보자 F11이 단축키다.
그럼 어디를 실행하고 있는지 변수의 값은 어떻게 변하는지 다 보인다.
이번 예제를 계속 하다보면 i가 11까지 올라가고 hap이 55까지 올라가는걸 볼 수 있다.
디버깅을 하면서 for문을 보자
i가 10일 땐 조건식이 참이라서 for문을 실행했다. 그리고 증감식을 실행해서 i가 11이 되었을 땐 조건식이 거짓이라서 for문 밖으로 빠져나온걸 볼 수 있다. 내가 글을 못써서 뭐라카는지 이해를 못한 분들은 디버깅을 하면서 이렇게 작동하는 구나 생각하자.
하다보면 이해가 안가거나 원하지 않는 값이 나왔을 때 이런걸 해보면 어떻게 동작하는지, 어디서 잘못했는지 알 수 있다.
'c기초' 카테고리의 다른 글
008. 함수 개념 배우기 (1) | 2020.03.16 |
---|---|
007. 문자열 개념 배우기 (0) | 2020.03.16 |
005. 조건문 개념 배우기 (if ~ else) (0) | 2020.03.16 |
004. 연산자 개념 배우기 (0) | 2020.03.16 |
003. 상수형 개념 배우기 (0) | 2020.03.16 |