반응형 전체 글100 C++ - string 클래스 지금까지는 문자열을 char형의 배열로 선언했습니다. 하지만 C++부터는 string클래스를 이용해서 문자열을 저장해보겠습니다. char배열과 가장 크게 달라진 점은 더 이상 배열의 크기를 신경 쓰지 않아도 된다는 점입니다. 먼저 string클래스를 사용하기위해서는 다음과 같은 새로운 헤더 파일을 추가해야 합니다. #include string클래스에 문자열을 초기화하는 방법은 다음과 같습니다. #include #include using namespace std; int main() { string str = "Hello World"; cout 공부 자료실/C++ 2020. 8. 18. C++ - 클래스(Class)의 구조와 접근 지정자 클래스는 C++ 객체 지향 프로그램의 가장 중요한 요소입니다. C언어에서 사용한 구조체의 확장된 개념이라고 생각하면 됩니다. 구조체에서는 struct키워드를 사용하지만 클래스는 class키워드를 이용해서 타입을 정의하며 변수와 함수의 집합입니다. 클래스 내부에 정의된 변수나 함수를 멤버 변수, 멤버 함수(또는 메서드)라고 합니다. class 클래스이름 { 멤버변수 멤버함수 . . . . . }; 클래스를 사용하기 위해선 구조체처럼 해당 클래스의 변수를 선언해야 합니다. 클래스이름 변수명; 예제로 살펴보겠습니다. #include class Student { }; int main() { Student stn; return 0; } class student를 정의하고 main에서 student의 변수 stn을.. 공부 자료실/C++ 2020. 8. 17. C++ - 네임스페이스(namespace) C++의 입출력 cin과 cout을 하면서 std에 대해서 살짝 알아봤었습니다. std(standard의 약어)는 네임스페이스(namespace)이며 네임스페이스란 C++로 넘어오면서 굉장히 방대한 양의 라이브러리와 식별자들이 나오게 되고 중복이 되는 상황이 발생하게 되면 구분을 할 수 없는 경우가 생깁니다. 이를 해결하기 위해서 나온 개념입니다. 네임스페이스를 사용해서 중복되는 식별자들을 관리할 수 있습니다. namespace 이번에는 네임스페이스에 대해서 알아보겠습니다. 네임스페이스는 직접 선언도 가능합니다. namespace키워드를 이용해서 직접 네임스페이스를 선언할 수 있습니다. 예제로 네임스페이스를 이용해서 같은 이름의 함수를 사용해보겠습니다. #include namespace Aspace{ v.. 공부 자료실/C++ 2020. 8. 13. C++ - 입출력 소스파일을 만들었으니 가장 먼저 "Hello World"를 입력과 출력을 해보겠습니다. C언어에서 stdio.h의 scanf()(또는 scanf_s())와 printf()를 사용했습니다. 그냥 사용해도 에러는 발생하지 않습니다. #include #define ARRAY_SIZE 20 int main() { char str[ARRAY_SIZE]; scanf_s("%[^\n]", &str, ARRAY_SIZE); printf("%s \n", str); return 0; } 하지만 새롭게 C++을 배우기 때문에 C++ 표준 라이브러리를 사용하겠습니다. C++에서 새롭게 등장하는 iostream(Input/Output Stream)은 표준 라이브러리 중 하나입니다. #include 이 표준 라이브러리를 포함해서.. 공부 자료실/C++ 2020. 8. 12. C++ - 프로젝트 생성 C++은 C언어를 기반으로 만들어진 언어입니다. 이름만 봐도 C에 ++를 붙여 한 단계 증가했다는 의미죠. 덴마크에 '비야네 스트롭스트룹'이 만들었으며 1983년에 C++이란 이름으로 불리기 시작했습니다. *초기 1979년에는 C++이 아닌 'C with Classes'였습니다. C언어는 보통 '절차 지향 언어'라고 표현합니다. C++은 절차 지향의 특성도 가지면서 '객체 지향', '일반화 프로그래밍'도 지원합니다. C언어의 확장 개념이다 보니 C언어에서 사용한 많은 부분을 C++에서도 사용 가능합니다. 하지만 C++을 진행하면 할수록 C언어와 다른점이 크게 나타나는 언어입니다. 그러다 보니 C언어를 하지 않고 C++을 배워도 크게 상관없을 정도입니다. C++은 현재에도 굉장히 다양한 부분에서 사용하고 .. 공부 자료실/C++ 2020. 8. 11. C언어 - 동적 메모리 할당 보통 배열의 크기를 컴파일 전에 선언해 두고 사용합니다. 가장 많이 사용하는 방법으로 보통 '정적 메모리 할당'이라고 합니다. 이 경우에는 미리 선언해 두고 해제할 필요가 없다는 장점이 있지만 반대로 미리 선언했기 때문에 비효율적일 수도 있습니다. 예를 들어 100의 크기의 배열을 선언했지만 막상 필요한 크기는 20이 되면 80은 낭비가 됩니다. 그래서 '동적 메모리 할당'을 이용해서 적절하게 메모리를 관리해야 할 경우가 발생합니다. 먼저 동적 메모리 할당을 하기 위해서는 새롭게 라이브러리를 추가해야 합니다. #include 이제 동적 메모리 할당에 필요한 함수에 대해 알아보겠습니다. malloc() void *malloc(size_t _Size); 인자로 전달받은 크기만큼의 메모리를 할당합니다. voi.. 공부 자료실/C언어 2020. 8. 7. 파이썬(Python) - 시간 관련 time 모듈 코딩을 하다 보면 시간을 계산해야 하는 경우가 굉장히 많이 발생합니다. 그래서 시간 관련 time 모듈에 대해 알아보겠습니다. time 모듈을 사용하기 위해 다음과 같이 추가해야 합니다. import time time() 현재시각을 1970년 1월 1일 00:00:00(UTC)을 기준으로 초를 나타내는 실수형으로 반환합니다. (유닉스 시간이라고도 합니다.) import time print(time.time()) gmtime() gmtime(sec)는 입력된 초를 UCT기준으로 변환하여 struct_time으로 반환합니다. 초를 넘겨주지 않으면 time.time()을 기준으로 변환 후 반환합니다. import time print(time.gmtime()) localtime() localtime(sec)는 .. 공부 자료실/파이썬(Python) 2020. 8. 6. C언어 - 파일 입출력 C언어의 코드를 작성 후 실행해서 나온 결과는 결국 실행을 종료하면 사라지게 됩니다. 그래서 결과를 저장하는 방법 중 하나인 파일 입출력에 대해서 알아보겠습니다. fopen() 먼저 파일을 열거나 새로 만들기 위해서 사용하는 함수의 원형은 다음과 같습니다. FILE *fopen(const char *name, const char *mode) fopen은 파일의 정보를 FILE 포인터로 반환합니다. (FILE은 stdio.h에 선언되어있는 구조체 자료형입니다.) 파일을 열 때 실패하면 NULL을 반환합니다. const char *name는 파일의 경로입니다. 파일 이름만 적게 되면 현재 프로젝트가 저장된 경로가 기본으로 지정됩니다. 특정 파일을 찾아서 열고 싶다면 파일 경로를 직접 입력하면 됩니다. ex).. 공부 자료실/C언어 2020. 8. 5. 파이썬(Python) - 파일 입출력 지금까지 파이썬을 실행해서 모니터에 나오는 결과 값은 결국 종료하면 지워지게 됩니다. 종료하면 지워지다보니 중요한 결과 값은 따로 저장할 필요성이 있습니다. 그래서 이번에는 파일을 생성해서 결과값을 저장하는 방법중 한가지에 대해서 알아보겠습니다. open() 먼저 파일을 새로 만들거나 기존의 파일을 여는 함수는 다음과 같습니다. 파일객체 = open(파일이름 또는 파일경로, 파일 처리 방식) 파일 종류는 t(텍스트 파일), b(이진 파일, 바이너리 파일)로 나눠집니다. t의 가장 대표적인 확장자인 txt를 이용해서 진행하겠습니다. 파일이름만 적게 되면 현재 프로젝트가 저장된 경로가 기본으로 지정됩니다. 특정 파일을 찾아서 열고 싶다면 파일 경로를 직접 입력하면 됩니다. ex) "C:/Python/file.. 공부 자료실/파이썬(Python) 2020. 8. 3. 파이썬(Python) - 집합(set) 집합은 파이썬 2.3부터 도입된 자료형입니다. 다른 자료형과 비교했을때 독특한 특징을 가지고 있습니다. 먼저 집합을 정의하는 방법은 다음과 같습니다. 변수 = {요소1, 요소2, ...} 변수 = set([요소1, 요소2, ...]) 변수 = set((요소1, 요소2, ...)) 변수 = set({키1:값1, 키2:값2....}) # 딕셔너리는 키의 값만 가져옴 변수 = set() #빈 집합 선언 딕셔너리와 같이 {}(중괄호)를 이용해서 정의하거나 set()을 사용해서 정의할 수 있습니다. 단 딕셔너리처럼 키와 값이 아닌 키만 요소로 가집니다. 집합은 리스트, 튜플 딕셔너리 모두 변환이 가능합니다. 다음 예제를 통해서 집합의 특성을 두가지를 알아보겠습니다. 첫 번째 순서가 의미가 없습니다. a = set.. 공부 자료실/파이썬(Python) 2020. 7. 31. 파이썬(Python) - 외부 모듈 설치 파이썬은 굉장히 많은 기본 모듈을 제공하지만 많은 외부 모듈도 존재합니다. 파이썬 자체가 무료이다 보니 모듈도 대부분이 오픈 소스입니다. 이번에는 외부 모듈을 설치해보겠습니다. 윈도우 기준으로 설명하겠습니다. 먼저 이 방법은 파이썬 버전 3.4 이상에서만 사용이 가능합니다. 3.4부터는 pip(Python Package Index)를 사용해서 간단하게 설치가 가능합니다. 먼저 실행창을 열어줍니다. 단축키는 윈도우키 + R키입니다. 실행창을 연 후 'cmd'를 입력, 엔터를 눌러주세요. *Ctrl + Shift + Enter(관리자 권한 실행)를 눌러야 되는 분도 있습니다. 이제 pip를 사용해서 새로운 모듈을 설치해보겠습니다. pip install package_name을 입력하면 설치가 가능합니다. 예.. 공부 자료실/파이썬(Python) 2020. 7. 30. 파이썬(Python) - 수학 관련 math모듈 좀 더 복잡한 연산을 하기 위한 수학 관련 함수를 제공하는 math모듈에 대해 알아보겠습니다. 먼저 math모듈을 사용하기 위해서는 다음과 같이 추가해야 합니다. import math ceil() 입력된 수를 올림 후 반환합니다. import math print(math.ceil(1.2345)) floor() 입력된 수를 내림 후 반환합니다. import math print(math.floor(1.2345)) fabs() 입력된 수의 절댓값을 반환합니다. import math print(math.fabs(-1.2345)) trunc() 입력된 수의 정수 부분만 반환합니다. import math print(math.trunc(-10.4564)) factorial() 입력된 양의 정수의 팩토리얼을 계산 후 .. 공부 자료실/파이썬(Python) 2020. 7. 29. 이전 1 2 3 4 5 6 7 ··· 9 다음 반응형