- 시스템이 제공하는 헤더 파일은 "<" 와 ">" 사이에 입력하고 사용자(가, 내가) 정의 헤더 파일은 큰따옴표 사이에 입력한다. 사용자 정의 헤더 파일과 사용자 정의 헤더 파일을 사용하는 소스 프로그램이 같은 경로에 있을 경우, 큰따옴표 안에 헤더 파일 이름만 적어주면 되지만 다른 폴더에 있을 경우에는 사용자 정의 헤더 파일이 위치한 경로를 같이 적어야 한다.
- 경로 지정 방법 : 절대 경로 지정 방법과 상대 경로 지정 방법이 있다.
절대 경로는 파일이 위치한 디스크 드라이브의 최상의(root) 폴더(디렉토리)부터 파일이 위치한 폴더까지의 경로를 말한다. 상대 경로는 현재 화면에 보이는 소스 파일이 위치한 폴더 부터 헤더 파일이 위치한 폴더까지 경로를 말한다.
- 경로와 경로 또는 경로와 파일 구분하는 역슬리쉬(\)는 원칙적으로 2개를 연속해서 써야 하지만 비쥬얼 스튜디오는 문자열 내부에 역슬래시를 1개만 써도 2개를 쓴 것으로 인식한다.
#include "D:\\kookgi_oje\\C\\workspace\\0103\\0103\\include\\config.h" => 원래 표현
#include "D:\kookgi_oje\C\workspace\0103\0103\include\config.h" // 비주얼 스튜디오는 1개만 써도 된다.
#include "D:/kookgi_oje/C/workspace/0103/0103/include/config.h" => 역슬래시 대신 슬래시를 사용해도 된다.
- "." => 현재 화면에 보이는 파일이 위치한 폴더
- ".." => 현재 화면에 보이는 파일이 위치한 폴더의 한 단계 상위 폴더
<출력 서식>
- 서식있는 출력 => 서식 문자를 제외한 나머지 문자는 입력한 그대로 출력된다.
- printf("출력 서식", 출력할 데이터)
- 출력 서식 문자 : d(정수), f(실수), s(문자열), c(문자)
- 출력 서식의 형식 : %[-][0][n][.m]서식문자
- : 전체 자리수가 지정된 경우 왼쪽으로 맞춰 출력한다.
0 : 전체 자리수가 지정된 경우 왼쪽의 남는 자리에 '0' 을 채워 출력한다.
n : 전체 자리수
.m : 소수점 아래 자리수, 소수점도 전체 자리수에 포함되고 잘리는 자리에서 반올림시켜 화면에 보여준다. => 실제 데이터는 변경되지 않는다.
|
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
32
33
34
35
36
37
38
39
|
printf("%d\n", 100);
printf("%d\n", 1);
printf("%d\n", 100000);
printf("===============================================\n");
printf("%5d\n", 100);
printf("%5d\n", 1);
printf("%-5d\n", 1);
printf("%05d\n", 1);
printf("%5d\n", 10000);
printf("===============================================\n");
printf("%s\n", "abc");
printf("%s\n", "a");
printf("%s\n", "abcde");
printf("===============================================\n");
printf("%5s\n", "abc");
printf("%5s\n", "a");
printf("%-5s\n", "a");
printf("%05s\n", "a"); // 파이썬은 에러 => 문자열 앞에 0 찍음
printf("%5s\n", "abcde");
printf("===============================================\n");
printf("%f\n", 123.45);
printf("%6.3f\n", 123.45);
printf("%6.2f\n", 123.45);
printf("%6.1f\n", 123.45);
printf("%6.0f\n", 60.4);
printf("%6.0f\n", 59.5);
printf("===============================================\n");
printf("%d + %d = %d\n", 5, 3, 5 + 3);
printf("%d - %d = %d\n", 5, 3, 5 - 3);
printf("%d * %d = %d\n", 5, 3, 5 * 3);
printf("%d / %d = %d\n", 5, 3, 5 / 3); // 정수와 정수의 연산은 결과도 정수다. 몫 => 파이썬에서는 // 를 사용한다.
printf("%d %% %d = %d\n", 5, 3, 5 % 3); // 출력 서식에서 '%' 를 출력하려면 2개를 연속해서 써야한다.
printf("%d / %d = %f\n", 5, 3, 5 / 3.); // c, c++, 자바에서 정수 정수 연산은 무조건 정수만 나온다. 파이썬과 다름.
|
cs |
< c/c++ 의 기본 자료형 >
bool : 1바이트, c에는 없고 c++ 에서 추가된 자료형으로 참(true => 1), 거짓(false => 0)을 기억한다.
char : 1바이트, 키보드 위의 영문자, 숫자, 특수문자 1개를 기억한다. => 한글, 한자, 키보드에 없는 특수문자는 2바이트이다.
short : 2바이트, -32768 ~ 32767 사이의 정수를 기억한다.
int : 4바이트 -2147483648 ~ 2147483647 사이의 정수를 기억한다.
long long int : 8바이트, -2의 63승 ~ 2의 63승 -1 사이의 정수를 기억한다.
float : 4바이트, 단정도 실수, 소수점 아래 6자리 정도를 표현한다.
double : 8바이트, 배정도 실수, 소수점 아래 16자리 정도를 표현한다.
++)
|
1
2
3
4
|
// 묵시적 형변환
// 자료형의 크기가 서로 다른 데이터의 연산 결과는 크기가 큰 자료형으로 자동 변환된다.
printf("%d / %d = %d\n", 5, 3, 5 / 3); //
printf("%d / %d = %f\n", 5, 3, 5 / 3); // 8바이트로 변한다. 그러므로 정수와 실수의 연산은 실수가 된다.
|
cs |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
// 서식없는 출력 => cout => c++ 부터 추가되었다.
cout << 5 << " + " << 3 << " = " << 5 + 3 << endl;
cout << 5 << " - " << 3 << " = " << 5 - 3 << endl;
cout << 5 << " * " << 3 << " = " << 5 * 3 << endl;
cout << 5 << " / " << 3 << " = " << 5 / 3 << endl;
cout << 5 << " % " << 3 << " = " << 5 % 3 << endl;
cout << 5 << " / " << 3 << " = " << 5 / 3. << endl;
// 쉬프트연산자 : <<
printf("'A' + 32 = %d\n", 'A' + 32); // 97 => ascii 코드값
printf("'A' + 32 = %c\n", 'A' + 32); // a => 코드값에 해당되는 문자 => 아즈키코드 참고바람
cout << 'A' << " + " << " = " << 'A' + 32 << endl; //97
// 명시적 형변환 => casting (캐스팅)
// 프로그래머가 그 순간의 자료형을 지정할 수 있다.
cout << 5 << " / " << " = " << (double) 5 / 3 << endl;
cout << 'A' << " + " << " = " << (char) ('A' + 32) << endl; // a
cout << 'a' << " + " << " = " << (char) ('a' - 32) << endl; // A
}
|
cs |
'C, C++' 카테고리의 다른 글
| C++/왕복버블정렬 알고리즘 (0) | 2020.01.08 |
|---|---|
| C++/소인수분해 알고리즘 문제/ (0) | 2020.01.08 |
| C++/점수별 등급 주기/if/switch (0) | 2020.01.06 |
| C/C++/if/윤년평년 판별식 (0) | 2020.01.06 |
| C/C++/기초/연산자/ (0) | 2020.01.03 |