23.09.18 C++ Tutorial

CHR·2023년 9월 17일
0

C++

목록 보기
3/4

자료형

출처: https://sweetnew.tistory.com/16#google_vignette


float형 변수에 값을 할당할 때는 반드시 f나 F를 붙여야 함
why?
1. f가 없는 실수는 기본적으로 double형으로 처리되기 때문에 double 값을 float 변수에 넣는 과정에서 data loss로 인한 오차 발생
2. auto를 사용했을 때 의도대로 변수 타입이 지정되도록 하기 위함

마찬가지로, long형 변수에 값을 할당할 때는 l이나 L을 붙여야 함

(...)

int main() {
	double price = 99.99;
	float interestRate = 3.67f;
    long fileSize = 90000L;
    char letter = 'a';
    bool isValid = true;
    auto isValid = true;  // auto는 할당된 값에 따라 자동으로 변수 타입을 정해줌
    return 0;
}

유니폼 초기화 ( {} 사용 )

  • 변수 타입에 맞지 않는 값이 할당되는 상황을 방지할 수 있음
  • 괄호 안에 값이 없으면 자동으로 기본값으로 초기화 해줌
(...)

int main() {
	// 캐스팅 방지
	int number = 1.2;
    cout << number;  // 1
    
    // int number {1, 2}  =>  Error!
  
    
    // 자동 초기화
    int number;
    cout << number; // random value(garbage)
    
    int number {};
    cout << number;  // 0
    
    return 0;
}

진법 표현

(...)

int main() {
	int number = 0b11111111;  // 2진법
    cout << number;  // 255
    
	int number = 0xFF;  // 16진법
    cout << number;  // 255
    
    return 0;
}

난수 생성

  • cstdlib의 rand() 함수 사용
    프로그램을 여러 번 실행해도 처음 생성된 난수 값만 나옴
#include <iostream>
#include <cstdlib>

using namespace std;

int main() {
	int number = rand();
    cout << number;  // 프로그램을 여러 번 실행해도 같은 값이 나옴
    return 0;
}
  • srand() 함수 사용
    srand()의 파라미터 값이 달라지면 값이 달라짐
    단, 파라미터 값이 같으면 항상 같은 값이 나옴
#include <iostream>
#include <cstdlib>

using namespace std;

int main() {
	srand(5);
	int number = rand();
    cout << number;  // srand(5)이면 프로그램을 여러 번 실행해도 같은 값이 나옴
    return 0;
}
  • ctime의 time() 함수 사용
    seed가 달라 항상 다른 난수 생성됨
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main() {
	long elapsedSeconds = time(nullptr);  // Jan 1 1970 으로부터 현재까지 지난 초의 수
	srand(elapsedSeconds);
	int number = rand();
    cout << number;
    return 0;
}

C++ Tutorial 동영상 끝!! 🥰😍

profile
🍷

0개의 댓글

관련 채용 정보