서적 정리/C++ 기초 플러스31 13.문자열(string) 문자열(stirng)이란 메모리에 바이트 단위로 연속적으로 저장되어 있는 문자들을 말한다. 문자들이 메모리에 바이트 단위로 연속적으로 저장된다는 것은, 문자열을 char형의 배열에 저장할 수 있다는 것을 의미한다. 즉, char형의 배열을 string이라고 받아들이면 된다. 이때 문자열을 구성하는 각 문자들은 배열의 원소에 하나씩 저장된다. 또한 문자열의 마지막 문자는 반드시 널 문자(null character)여야 하고, 널 문자는 \0로 쓴다. ASCII 코드가 0인 문자이다. char cat[4] = {'f', 'a', 't', '\0'}; 큰따옴표로 묶인 문자열은 널 문자를 암시적으로 가지고 있다. 따라서 아래와 같은 코드가 가능하다. char fish[] = "Bubbles"; 문자열을 저장할 .. 2022. 7. 26. 12.배열(array) 배열(array)은 데이터형이 같은 여러 개의 값을 연속적으로 저장할 수 있는 데이터 구조이다. 배열에서 각 값은 배열 원소(element)라는 개별 공간에 저장된다. 컴퓨터는 이 모든 원소들을 메모리에 연속적으로 배치한다. 배열은 선언 구문을 사용하여 생성한다. 배열 선언 구문에서는 다음과 같은 세 가지를 선언한다. 각 원소에 저장될 값의 데이터형 배열의 이름 배열 원소의 개수 short months[12]; 위 코드는 배열의 이름이 months이고, 12개의 원소를 가지며, 각 원소에는 short형 값을 저장할 수 있음을 나타낸다. 배열의 각 원소는 개별적으로 간단한 변수처럼 취급할 수 있는 변수이다. 배열은 각각의 배열 원소에 인덱스(index)를 사용하여 개별적으로 접근이 가능하다. 여기서 기억해.. 2022. 7. 26. 11.C++ 산술 연산자 C++는 기본적인 계산(덧셈, 뺄셈, 곱셈, 나눗셈, 나머지셈)을 위해 다섯 가지 연산자를 제공한다. 각각의 연산잔느 연산의 대상으로 삼을 두 개의 값을 필요로 한다. 이를 피연산자라 한다. int wheels = 4 + 2; 위의 코드는 값 4와 2가 피연산자이다. 기호 예시 설명 + A + B A와 B를 더한다. - A - B A에서 B를 뺀다. * A * B A와 B를 곱한다. / A / B A에서 B를 나눈다. % A % B A에서 B를 나누어 나머지를 구한다. 연산 순서: 우선순위와 결합 방향 C++에는 하나의 피연산자에 하나 이상의 연산자가 걸렸을 때 어느 연산자를 먼저 적용할 것인지 결정하는 운선순위 규칙이 있다. 산술 연산자는 일반 대수학의 우선순위 규칙을 따른다. 즉, 곱셈, 나눗셈, 나.. 2022. 7. 26. 10.부동 소수점수(floating point) 부동 소수점형은 0.56과 같은 소수부가 있는 수를 말한다. 또한 매우 큰 값들을 나타낼 수 있다. 은하계에 있는 별들의 수(약 400,000,000,000)와 같이 long형으로 나타낼 수 없는 경우 부동 소수점형으로 나타낼 수 있다. 컴퓨터는 부동소수점을 두 부분으로 나눠서 저장한다. 한 부분은 기본값을 나타내고, 한 부분을 스케일을 나타낸다. 예를 들어, 3.14159와 314.159는 기본값은 같고 스케일만 다르다. 기본값은 0.314159이고, 첫 번째는 스케일이 10이고, 두 번째는 스케일이 1000이다. 즉, 스케일에 따라 소수점의 위치가 바뀐다. 이런 특성으로 인해 부동 소수점형이라고 부른다. 부동 소수점수의 표기 C++가 부동 소수점수를 표기하는 방법은 두 가지이다. 첫 번째 방법은 우리.. 2022. 7. 25. 9.const 제한자 #define을 사용하여 상수를 이름으로 나타내면 그 상수가 무엇을 의미하는 것인지 직관적으로 알 수 있다. #define MONTHS 12 책에는 써있지 않지만, 대문자로 쓰는게 일반적인 관행이다. #define보다 더 좋은 상수 선언이 있다. 이것은 const 키워드이다. 기본적인 const 키워드는 변수를 상수화 시키는 것이다. 상수란 수식에서 변하지 않는 값을 의미한다. 즉, const 키워드가 붙은 변수는 값이 변경될 수 없으므로, 선언과 초기화를 동시에 해야한다. 선언과 초기화를 동시에 한다는 점에서 #define과 비슷하다고 느낄 수 있다. #define MONTHS 12 const int MONTHS = 12; #define보다 const를 사용하는 것이 더 좋다. 그 이유는 아래와 같다... 2022. 7. 25. 8.간단한 변수 대부분의 프로그램은 정보를 저장한다. 컴퓨터에 정보를 저장하려면, 다음과 같은 세 가지를 알아야한다. 어디에 저장되는가? 어떤 값이 저장되는가? 어떤 종류의 정보인가? 프로그래밍에선 다음과 같은 구문을 사용했다. int braincount; braincount = 5; 위 코드는 braincount라는 이름의 변수가 정수형이며, 5의 값을 갖고 있다. 라는 의미이다. 하지만 이 구문갖고 braincount라는 변수가 메모리의 어디에 저장되는지 알 수 없다. 이때 & 연산자를 사용하면 braincount의 메모리 주소를 알아낼 수 있다. 변수 이름 C++에서 변수 이름을 지을 때에는 다음과 같은 규칙을 따라야한다. 변수 이름에는 영문자, 숫자, 밑줄(_) 문자만을 사용할 수 있다. 숫자를 변수 이름의 첫 .. 2022. 7. 22. 7.함수(function) 함수는 C++ 프로그램을 구성하는 모듈(module) 일뿐만 아니라, OOP 정의에 필수적인 사항이다. C++ 함수는 두 가지 유형이 있다. 반환값(리턴값)이 있는 것과 없는 것. 표준 함수 라이브러리에 있는 함수를 사용할 수도 있고, 사용자가 직접 만들어 사용할 수도 있다. 리턴값이 있는 함수 리턴값이 있는 함수는 변수에 대입할 수 있는 하나의 값을 만들어 낸다. 예를 들어, C/C++ 표준 라이브러리에는 어떤 수의 제곱근을 리턴하는 sqrt()라는 함수가 있다. double x = sqrt(6.25); 위 코드에서 sqrt(6.25) 라는 코드가 sqrt() 함수를 호출한다. 이를 함수 호출(function call)이라 하고, 호출되는 sqrt() 함수를 피호출 함수(called function)라.. 2022. 7. 20. 6.C++의 기타 구문 C++에는 프로그램이 실행되는 동안에 사용자가 값을 입력시킬 수 있도록 하는 기능도 있다. 아래 코드에서 봐야 할 두 가지가 있다. 하나느 cin을 사용하여 키보드로부터 정수를 입력받는 것이고, 하나는 네 개의 출력을 하나로 이어 붙여 출력하는 것이다. int main() { using namespace std; int carrots; cout carrots; //C++ 입력 cout >은 carrots을 컴퓨터로 집어 넣고, cout 2022. 7. 20. 5.C++ 구문 C++ 프로그램은 함수들의 집합이고, 함수는 구문들의 집합이다. 아래의 코드에서 봐야 할 두 종류의 구문이 있다. 하나는 변수를 선언하는 선언 구문(declaration statement)이고, 다른 하나는 변수에 값을 대입하는 대입 구문(assignment statement)이다. int main() { using namespace std; int carrots; //정수 변수를 선언 carrots = 25; //변수에 값을 대입 cout 2022. 7. 20. 이전 1 2 3 4 다음