티스토리 뷰
객 체 수 업 복 습
first
using namespace std; // std:: cout, cin , endl을 std:: 없이 아무 곳에서나 쓸 수 있다.
endl; // 문장 끝마칠 때. , 한 줄 띄어쓰기.
cout, cin // 콘솔창에 input, output
주석
한줄 // , 여러 줄 /**/
데이터타입
1) 정수형(int, char(문자열 1개여서))
int
(signed integer) int : 부호가 있다. 제일 앞에는 부호 나타내는 자리이고 범위는 -2의 7 제곱~ 2의 7 제곱
unsigned int : 부호가 없다. 양수만 표현. 범위는 0 ~ 2의 8 제곱
변수선언과 초기화
- int a, b, c=0 // c만 0으로 초기화되었다. a, b는 쓰레기 값을 가지고 있다.
- const unsigned int a =1; // const는 변할 수 없다는 뜻, 즉 a는 이제 수정 불가능! ,
const unsigned int b; // 오류
b = 2; // 오류,
왜? const는 변수 선언과 정의를 초기에 동시에 해주어야 한다.
왜? const는 변수 선언과 정의를 초기에 동시에 해주어야 한다.
왜? const는 변수 선언과 정의를 초기에 동시에 해주어야 한다.
>> 해결방법
unsigned int b;
b = 3;
- sum = num1 + num2; // num1을 먼저 할당받음, num2를 그다음 할당받음, sum이 마지막
- 리터럴은 코드에 있는 상수값 // a=5, cout << "~~~~"에서 5와 ~~~~~~
- cin이 있는 값은 초기값설정을 안 해줘도 정상작동
char
< 왜 문자인데 정수형에 속하나? 아스키코드로 정수로 치환할 수 있어서 >
문자열 " " , 문자하나 ' '
\n : 줄 바꿈 , \t : tab키, \b : 원래 2번 띄어 쓰는데 1번만 , \r : 커서를 제일 앞으로 ,\" : "출력, \' : '출력, \\ : \출력
*참고
char < unsigned char < short < unsigned short < int < unsigned int < long < unsigned long < longlong < unsigned longlong
+ bool type
0만 false, 0이 아니면 true
2) void(공백)
값이 없음을 나타내는 특별한 자료형 (함수 배울 때 유용)
3) 실수형(float, double)
float형
double형
+, -모두를 포함하기 때문에 unsigned double a; 는 사용X
sizeof
sizeof (type)
sizeof (expression) // 괄호 없어도 됨
연산자
나눗셈
6 / 4 = 1 // 피연산자가 정수라면 결과로 정수가 나온다.
6.0 / 4 = 1.5 , 6 / 4.0 = 1.5 // 피연산자가 하나라도 부동 소수점이면 결과는 부동소수점으로 나온다.
나머지
%%%%%%%%%
정수자료형만 연산가능 (실수는 나머지가 없기 때문)
대입연산자 =
1)
int x;
cout << x = 14 << endl; // 14를 x에 대입
cout << x << endl; // 14 출력
2)
a = 5 // 같다는 의미 아니다. 5를 a에 대입한다는 뜻이다.
비교연산자
== 같음
!= 같지 않음
65 != 'A' // 문자A는 아스키코드를 이용해 숫자로 변환하면 65이다. 근데 여기서는 같지 않다고 했으므로 결과는 false.
형변환
1) 암시적 형 변환
부호가 있는 게 부호가 없어진다 (int >> unsigned int)
6.0 / 4 // 4가 double로 변화 : 더 큰 자료형으로
+ typeid(expression). name() : 자료형 이름 확인 가능
2) 명시적 형 변환
static_cast <type>(expression)
static_cast <type>(expression)
static_cast <type>(expression)
static_cast <type>(expression)
static_cast <type>(expression)
static_cast <type>(expression)
static_cast <type>(expression)
static_cast <타입>(표현)
ex) double a = 1.5 , static_cast <int> (a) // 1이 출력된다.
오버플로우, 언더플로우
조정자
bool (0만 false, 0이 아니면 true )
dec, oct, hex
noshowbase, showbase
showpoint
부동소수점
double a = 4.56789123;
1)
cout << fixed;
cout. precision(4); // 소수점 아래 4자리만!
4. 5678
2)
cout << setprecision(6) << fixed;
4.567891
3) ☆소수점아래 ㄴㄴ, 총 자릿수!
cout.precision(3);
4.56
setw(10) : 공간 10칸 차지 (left, internal, right)
setfill : 공백을 무엇으로 채울 것인가? (문자하나여서 ' '홑따옴표~)
헤더파일
#include <iostream>
#include <typeinfo> // 형 변환
오류날때 참고
visual studio LNK1168: 쓰기용으로 열 수 없습니다 오류 (tistory.com)
visual studio LNK1168: 쓰기용으로 열 수 없습니다 오류
visual studio를 사용하다 샷건을 치고 싶은 경우 중 하나가 위와 같은 경우인데, 정말 답답하다. 항상 visual studio를 껐다 키거나 코드를 복사해 새 프로젝트에서 다시 시작하곤 했는데, 방법을 알고
skyjwoo.tistory.com
'학교복습용 > 객체1' 카테고리의 다른 글
| (4) 클래스 ( CLASS ) (0) | 2023.01.04 |
|---|---|
| (3) 함수(function) (0) | 2022.12.29 |
| 참고블로그 (0) | 2022.12.23 |
| (2) 제어문 ( 반복문 / 조건문 ) (0) | 2022.12.22 |
| 예제에서 배울 점 (0) | 2022.12.21 |
