일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 에라토스테네스의 체
- 위상정렬
- 소수
- Python
- recursion
- 딕셔너리
- DP
- 알고리즘
- 이진 탐색
- BOJ
- 큐
- CCW 알고리즘
- 외적
- deque
- Bitmasking
- 너비우선탐색
- dijkstra algorithm
- 투 포인터
- 에라토스테네스
- 다익스트라
- CCW알고리즘
- 비트마스킹
- binary search
- ccw
- BFS
- 백준
- 재귀
- 비트연산
- Algorithm
- Two Pointers
- Today
- Total
꾸꾸리
3-3. scanf와 C언어의 키워드 본문
1-1. 정수입력을 위한 scanf함수의 호출
scanf함수를 이용하면 키보드로부터 다양한 형태의 데이터를 입력 받을 수 있다.
우선은 정수의 입력에 대해 알아보자.
키보드로부터 데이터를 입력받으려면, 데이터의 종류에 맞게 메모리 공간을 미리 할당해야 한다. 따라서 위 코드에서는 scanf함수 호출에 앞서 변수 num을 선언하고 있다.
이어서 scanf 함수를 호출하면서, 두 번째 인자로 num을 넘겨주고 있다.(변수 num 앞에 & 연산자가 붙어있음에 주목)
앞 부분에서 printf함수를 소개하면서 %d가 서식문자이고, 이것이 '10진수 정수형태의 출력'을 의미함을 설명했다.
scanf함수에서는 %d가 '10진수 정수형태의 입력'을 의미한다. printf는 출력, scanf는 입력 임을 알아두자.
[참고] 변수 num 앞에 붙은 & 연산자
변수 num 앞에 & 연산자를 붙이는 이유는 이후에 포인터와 함수에 대해 깊게 공부한 다음에야 이해할 수 있는 내용이다.
아직은 이해할 수 있는 내용이 아니니 'scanf 함수의 호출을 위해서는 입력된 데이터를 저장할 변수 이름의 앞에 & 연산자를 붙여야 한다'는 사실만 기억하고 있자.
1-2. 여러 개의 데이터를 입력받기
scanf 함수를 이용하면 한 번에 여러개의 데이터를 입력 받는 것이 가능하다.
1 2 3 4 5 6 | int main(void) { int num1, num2,num3; scanf("%d %d %d", &num1, &num2, &num3); // 3개의 10진수 정수 입력 } | cs |
위의 코드에서 5행을 살펴보면, 10진수 정수형 데이터를 셋 입력 받아서 순서대로 변수 num1, num2, num3에 저장함을 알 수 있다.
여기서 scanf함수는 공백을 기준으로 데이터를 구분하기 때문에, 3개의 정수 사이에 스페이스바, 탭(tab) 또는 엔터(enter)키를 입력해야 한다.
참고로 우리는 %d대신에 다른 서식문자를 이용하면 10진수 정수형 데이터 외에도 다양한 종류의 데이터를 입력받을 수 있는데,
아직은 공부한 서식문자가 %d밖에 없으니 '다양한 유형의 데이터 입력'은 다음 기회에 확인하도록 하자.
2-1. C언어의 표준 키워드(Keyword)
앞서 소개한 int, return과 같은 단어들은 이미 그 기능적 의미가 정해져있다. 이렇듯 기능적 의미가 정해져서 C언어의 문법을 구성하는 단어들을 가리켜 '키워드(keyword)'라 한다. C언어에서 정의하고 있는 키워드를 정리하면 다음과 같다.
auto |
_Bool |
break |
case |
char |
_Complex |
const |
continue |
default |
do |
double |
else |
enum |
extern |
float |
for |
goto |
if |
_Imaginary |
return |
restrict |
short |
signed |
sizeof |
static |
struct |
switch |
typedef |
union |
unsigned |
void |
volatile |
while |
|
|
|
이러한 키워드들은 대부분 앞으로 공부하게 될 것들인데, 참고로 키워드들은 변수나 함수의 이름으로 사용할 수 없다.
즉, 이미 그 용도가 결정된 단어로, 다른 용도로 사용할 수 없도록 제한되어있다.
'Programming Language > C' 카테고리의 다른 글
4-2. 정수와 실수의 표현방식 (0) | 2018.07.18 |
---|---|
4-1. 컴퓨터가 데이터를 표현하는 방식 (0) | 2018.07.18 |
3-2. 변수와 연산자 (연산자) (0) | 2018.07.13 |
3-1. 변수와 연산자 (변수) (0) | 2018.07.13 |
2-2. 주석 및 printf 함수의 이해 (0) | 2018.07.13 |