
자바스크립트를 처음 배웠을 때가 생각나는 수업이었다. for문, while문 같은 반복문이 처음에는 어려웠는데 쓰다보니 별거 아니지만 자주 쓰는 문법들이었다(특히 for문).
C는 저장하고자 하는 변수의 종류를 꼭 알려줘야 한다.
counter라는 변수에 숫자를 저장하고 싶을 때, int(정수, integer)를 써주면 된다. counter에 0을 저장(초기화)하는 코드는 아래와 같다.
int counter = 0;
C의 조건문과 JS의 조건문은 거의 비슷하다. 중괄호 위치와 안에 함수 모양이 좀 다를 뿐이다. else를 추가할 때와 else if를 추가할 때도 마찬가지다.
if (x < y)
{
	printf("x is less than y\n");
}
if (x < y)
{
	printf("x is less than y\n");
}
else
{
	printf("x is not less than y\n");
}
if (x < y)
{
	printf("x is less than y\n");
}
else if (x > y)
{
	printf("x is greater than y\n");
}
else if (x == y)
{
	printf("x is equal to y\n");
}
C에서도 JS와 마찬가지로 while이나 for을 통해 반복문을 구현할 수 있다.
1. i = 0으로 설정한다.
2. i는 50보다 작은가?
3. 작으면, hello world를 출력하고 i를 1 증가시킨다.
4. i는 50보다 작은가?
(반복)
?. i가 50보다 작은가?
?. 작지 않다
?. 종료
int i = 0;
while (i < 50)
{
	printf("hello, world\n");
    i += 1;
}
위 코드는 for문으로 더 간단하게 표현할 수 있다.
for (int i = 0; i < 50; i++)
{
	printf("hello, world\n");
}
| 타입 | 설명 | 
|---|---|
| bool | 불리언 표현 (예: True, False, 1, 0, yes, no) | 
| char | 문자 하나 (예: 'a', 'Z', '?') | 
| string | 문자열 | 
| int | 특정 크기 또는 특정 비트까지의 정수 (예: 5, 28, -3, 0) | 
| long | 더 큰 크기의 정수 | 
| float | 부동소수점을 갖는 실수 (예: 3.14, 0.0, -28.56) | 
| double | 부동소수점을 포함한 더 큰 실수 | 
int는 대략 40억까지 셀 수 있기 때문에 40억을 쓸 일이 없는 사람(=나)은 int를 사용하면 된다.
printf 함수에서는 각 데이터 타입을 위한 형식 지정자를 사용할 수 있다(저번 포스팅에서 %s).
| 형식 지정자 | 설명 | 
|---|---|
| %c | char | 
| %s | string | 
| %i | int | 
| %li | long | 
| %f | float, double | 
// int.c 파일: 나이(정수)를 받아서 출력하기
#include <cs50.h> // CS50 수업을 위해 만들어진 라이브러리
#include <stdio.h>
int main(void)
{
	int age = get_int("What's your age?\n");
    printf("You are at least %i days old.\n", age * 365);
}
$ make int // machine code로 바꾸기
$ ./int    // 실행하기
위 예제에서 printf 함수는 %i로 age * 365를 받아주고 있다.
// float.c 파일: 금액 받아서 세후금액 출력하기
#include <cs50.h>
#include <stdio.h>
int main(void)
{
	float price = get_float("What's the price?\n");
    printf("Your total is %f\n.", price * 1.0625);
    // 소수점 2번째 자리까지 나오게 하려면?
    // printf("Your total is %.2f.\n", price * 1.0625);
}
$ make float // machine code로 바꾸기
$ ./float    // 실행하기