1. 정수인 변수
- 우리는 지난 시간에 문자열 변수를 string으로 지정한다는 것을 배웠다. 그렇다면 정수는 어떻게 지정할까.
int counter = 0;
- 위는 counter라는 변수를 0으로 할당한 코드이다. 정수(integer)는 int를 사용한다.
- 이름이 카운터이므로 1을 추가하는 코드를 작성해보자.
counter = counter + 1;
- 위처럼 작성하면 간단하게 1이 추가되어 counter에 새로 할당된다. 하지만 1씩 추가할일은 매우 많은 경우에서 발생하는데 이 때마다 저렇게 길게 작성할 필요는 없다.
counter += 1;
counter++;
- 위의 두가지 코드 모두 같은 기능을 수행한다.
2. 반복문(loop)
* while문
- 루프는 어떤 일을 계속 반복하는 것을 말한다. 컴퓨터는 같은 일을 반복수행하는 데 최적화되어 있으므로 C에서 이를 구현해보자.
- 반복문은 while문과 for문이 있다.
while (true)
{
printf("hello, world\n");
}
- while문은 조건을 넣고, 조건이 부합하면 코드블록을 반복수행한다.
- 위는 조건에 단순히 true를 넣었으므로, 영원히 반복된다. 그렇다면 우리가 원하는 횟수만큼 반복문을 돌리려면 어떻게 해야 좋을까.
int i = 0;
while (i<10);
{
printf("hello, world\n");
i = i + 1;
}
- 프로그래밍에서 카운터 변수는 i를 관행적으로 쓰고있다. 그리고 카운팅을 1이아닌 0부터 세기 시작함을 기억하자.
- 위의 코드는 i가 10이 될 때까지 반복될 것이다.
- i가 10이 되면 while문의 조건은 거짓이되고, 코드블록이 실행되지 않는다.
- 즉 i는 0부터 9까지 총 10번 반복문을 돌며 커질 것이고, 출력문도 10번 시행된다.
* for문
- 위와 같이 변수를 선언하고 변수를 조정하는 반복은 for문에 특화되어 있다.
for (int i = 0; i < 10; i = i + 1)
{
printf("hello, world\n");
}
- for문은 3개의 인자를 받는다. 가장 먼저 변수를 할당 받고, 조건을 받고, 변수를 반복때마다 어떻게 변화시킬지를 작성한다.
- 따라서 위코드는 앞서 보았던 while문과 완전히 동일하게 작동한다.
참고
이 글은 하버드 대학교 David Malan 교수의 CS50 강의를 수강 후 정리하며 쓴 글입니다. 코드는 C언어로 작성되었으며, 개발환경은 CS50 Sandbox에 최적화되어 있습니다. 일부 라이브러리는 다른 환경에서 별도의 설정이 필요할 수 있습니다.
CS50 공식사이트
부스트코스
CS50 Sandbox
'Language > C' 카테고리의 다른 글
<C언어 기초> 06. 배열 (0) | 2021.01.27 |
---|---|
<C언어 기초> 05. 사용자 정의 함수 (0) | 2021.01.24 |
<C언어 기초> 04. 자료형과 연산자 (2) | 2021.01.23 |
<C언어 기초> 02. 조건문 (0) | 2021.01.21 |
<C언어 기초> 01 출력과 문자열 (0) | 2021.01.20 |