#include <iostream>
int main()
{
std::cout << "Hello, World!" << std::endl;
return 0;
}
iostream 헤더파일을 가져와야 화면 값 출력/입력(std::cout, std::cin) 가능
'<<'도 함수, 방향으로 물이 흘러 들간다고 생각하면 됨
#include <iostream>
int main()
{
int i; // int라는 자료형에 i라는 변수 정의
std::cout << i << "" << sizeof(i) << std::endl;
// 123 4 i값, 공백, i 자료형 int 사이즈 4바이트 출력됨
float f = 123.456f; // 마지막에 f붙여줘야함 이것도 4byte
double d = 123.456; // f 불필요 8byte 뒤에 소수점이 중요한거 아니면 보통 float 사용
char c = 'a'
char str[] = "Hello, World!"; // str[] 대괄호 안 숫자없으면 알아서 할당함
}
#include <iostream>
int main()
{
int i;
i = 987.123; // double형 값을 int에 강제로 저장하면?
std::cout << i << std::endl;
출력결과: 987
변수의 자료형으로 바꿔서 정수만 출력
i += 100; // i = i + 100;
i++; // i = i + 1;
#include <iostream>
int main()
{
bool is_good = true; // bool(자료형) is_good(변수) 정의
is_good = false; // 내부적으로 true 는 1 false 는 0
std::cout << is_good << std::endl; // 출력결과: 0
std::cout << std::boolalpha; // 0, 1로 출력 되는걸 문자로 바꿔줌 true, false
}
noboolalpha 는 반대로 바꿔줌
true && true // and 논리연산자 둘다 true면 통과 0, 1 곱셈이라 생각
false || false // or 논리연산자 둘 중 하나라도 false면 통과 덧셈이라 생각
#include<iostream>
int main()
{
i = 123;
{
int i = 345;
std::cout << i << std:endl;
}
std::cout << i << std::endl;
return 0;
}
출력결과: 345
123
중간에 int i = 345; 대신 그냥 i = 345; 라고 정의해버리면
출력결과: 123
123
(자료형) (변수) = (값) <- 좀더 좁은 영역의 변수 정의
int a = 1;
int b = 2;
int c = 3;
이렇게 하나하나 정의 하는 것보다 같은 자료형의 데이터를 저장하기 위해 메모리를 미리 잡아두는
int my_array[3] = { 1, 2, 3 };
my_array[0], my_array[1], my_array[3]을 순서대로 출력해보면
순서대로 1 2 3 이 나옴
대괄호 안에 들간 숫자는 몇번째인지 순서를 의미
char name[13] = "Hello, World!";
13개 이지만 13으로 디버깅하면 출력이 안됨,
그 이유는 문자열은 뒤에 \0 즉 null을 포함하고 있기때문
name[10] = 'a';
name[11] = 'b';
name[12] = 'c';
이런식으로 특정 배열을 바꿔주게 되면 숫자에 해당하는 자리만 바뀜
#include <iostream>
int main()
{
char user_input[100];
std::cin >> user_input; // >> 방향이 다름
}
사용자의 입력을 받아오는 자료형에 따라서 자동으로 해석을 해줌
만약 입력을 할때 띄어쓰기를 하면 뒤에껄 안 받아옴 그럴땐
cin.getline(user_input, sizeof(user_input));
이렇게 입력하면 띄어쓰기도 가져옴
띄어쓰기 뒤에껄 가져오기 싫다면
char.ignore(100, '\n'); // 최대 100글자까지 또는 뒤에 \n 띄어쓰기가 있으면 무시하겠다
#include <iostream>
int main()
{
for (int i = 0; i < 10; i++)
{
std::cout << i << " ";
}
}
기본 구조 i=0이고 10보다 작아야하며 한번돌때마다 +1씩
출력결과:1 2 3 4 5 6 7 8 9
#include <iostream>
int main()
{
// 100까지 소수만 나열해서 마지막에 총 개수 세기
int count = 0;
for (int i = 2; i <= 100; i++)
{
bool isPrime = true;
for (int j = 2; j < i; j++)
{
if (i % j == 0)
{
isPrime = false;
break;
}
}
if (isPrime)
{
std::cout << i << " ";
count++;
}
}
std::cout << "\nnumber: ";
std::cout << count << "" << std::endl;
}
이건 좀 더 해봐야할듯
iostream = 'input output stream' 입출력 흐름
std = 'standard' 기본형
cout = 'charactor out' 문자출력
cin = 'charactor in' 문자입력