1) 변수와 상수에 대하여
1. 변수란 무엇일까?
- 값을 담아두는 박스와 같은 개념
- 변수는 하나의 값만 가질 수 있음
- 변수는 변할 수 있음. (변하는 수라서 변수)
- 담는 물건에 따라 박스 사이즈가 변하듯이 변수 내용에 따라 자료형을 맞게 사용해야함.
주로 쓰는 자료형
- char -> 1byte 값의 범위 ( -128 ~ +127)
- int -> 4byte 값의 범위 ( -2,147,483,648 ~ + 2,147,483,647)
- double -> 8byte 값의 범위 ( +- 3.4 x 10^-37 ~ +- x 10 ^ 38)
- 이러한 자료형 이외에도 float, long 등 여러가지가 있지만 주로쓰는 세가지를 소개했습니다.
- 여기서 여러분들이 들 만한 의문점이 엥? 그러면 다 8byte double 사용하면 되는 것 아닌가 라고 생각 할 수 있는데, 효율적인 메모리 사용을 위해서 값에 맞추어서 자료형을 사용하는 것이 좋습니다.
2. 변수를 어떻게 쓰지?
- 우리가 변수를 사용하기 위해서는 코드에 이 변수를 사용해야 한다고 알려줘야 하는데 이러한 일을 "선언" 이라고 합니다.
-
int khlug;
- 이 코드는 어떤 것을 의미할까요? 눈치가 빠르신 분은 맞추셨을겁니다. int 라는 자료형을 가진 khlug 라는 변수를 선언하라 는 것 입니다. 여기서 khlug를 변수명이라고 합니다. 즉, 변수의 이름이죠.
- 상기 말한 것 과 같이 khlug에는 -2,147,483,648 ~ + 2,147,483,647의 값이 들어갈 수 있습니다.
- 하지만 우리는 박스를 만들었지만, 박스안에 담길 내용물은 아직 넣지 않았습니다. 이제 내용물을 넣어봅시다.
-
khlug = 419;
- 그러면 khlug라는 변수(박스) 에 419라는 값(내용물) 이 담기게 됩니다.
- (주의할 점 -> 모든 변수는 선언을 한 후 사용해야 합니다. 위와 같은 코드도 int khlug; 같은 선언을 하지 않으면 오류가 나게 됩니다.)
- (또한 몇몇의 예외를 제외하고 코드의 끝에는 세미콜론을 붙혀주어야 합니다.)
3. 상수란 무엇일까?
2) printf와 scanf
1. printf
- printf는 print format 의 약자인데.. 그냥 화면에 자신이 친 문자를 뿌려준다! 라고 생각하시면 됩니다.
-
#include <stdio.h>
int main()
{
printf(“안녕, 세상아! \n”);
return 0;
}
- 지난강의에 사용했던 Hello World 소스입니다. Hello World를 안녕, 세상아! 라고 바꾸었습니다.
- 출력값은 안녕, 세상아! 라고 출력이 됩니다.
- 그럼 아래와같이 적으면 어떻게 출력이 될까요?
-
#include <stdio.h>
int main()
{
int khlug;
khlug = 419;
int year;
year = 2016
printf(“쿠러그는 학관 %d 호에 위치하며 올해는 %d 년입니다. \n”, khlug, year);
return 0;
}
- 당연히 모르시죠! 왜냐하면 제가 %d를 안가르쳐 줬거든요. 이러한 %d는 "서식문자" 라고 하는데, printf 문 등의 문자열 관련 큰따옴표 내로 들어가서, 큰따옴표 이후 쉼표를 적은 후 그 다음에 오는 변수 순서대로 %d 부분에 대입을 시킵니다.
- 그렇다면 저 코드를 실행 시켰을때는 이렇게 나오겠죠
- 쿠러그는 학관 419 호에 위치하며 올해는 2016 년입니다.
- 처음 %d에는 khlug가, 다음 %d 는 year이 대입되었네요.
| 서식문자 |
출력 |
| %c |
문자하나 |
| %d |
부호있는 10진 정수 |
| %f |
부호있는 10진 실수 |
| %s |
문자열 |
| %% |
%기호 출력 |
- 이 외에도 여러가지가 있지만, 자주쓰는5가지를 정리했습니다.
2.scanf
3) 이스케이프 시퀀스
코드 내에서의 "특수문자" 라고 생각해주시면 됩니다. 즉, 특수한 일을 하는 문자입니다.
| 이스케이프 시퀀스 |
기능 |
| \n |
개행 |
| \\ |
역슬래시 출력 |
| \" |
큰따옴표 출력 |
| \r |
캐리지 리턴 |
- 숙제
- 정보를 물어보고, 그 물어본 값을 출력시키는 프로그램을 만들어 봅시다.