반응형 공부 자료실68 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. 파이썬(Python) - 난수생성 random모듈 파이썬에는 random모듈은 난수(Random Number) 생성 관련 함수를 지원합니다. 먼저 random을 사용하기 위해서는 다음과 같이 추가해야 합니다. import random random() random()은 0 이상~1 미만 사이의 실수를 랜덤 하게 반환합니다. import random for i in range(5): print(random.random()) uniform() uniform(x, y)은 두 수를 받아 x 공부 자료실/파이썬(Python) 2020. 7. 28. 파이썬(Python) - 얕은 복사, 깊은복사 파이썬에서는 변수가 곧 객체라고 말할 수 있습니다. 객체가 속성과 동작들을 하나로 묶은 데이터라고 했었습니다. 파이썬의 모든 것은 객체입니다. print(type(1)) >> a = 1 print(type(a)) >> a = 10은 a라는 변수에 정수형 객체 10의 주소를 가리킨다는 의미기도 합니다. (a는 객체 10을 가리킨다) 이제 객체를 두가지 성격으로 나눌 수 있습니다. 바로 mutable과 immutable입니다. mutable은 '변하기 쉬운'이라는 뜻이고 immutable은 반대로 '불변의'라는 뜻입니다. mutable는 변경이 가능한 객체이고 immutable는 변경이 불가능한 객체 입니다. 변경이 가능한 객체(mutable)는 리스트(list), 딕셔너리(dict), 집합(set)이 있습.. 공부 자료실/파이썬(Python) 2020. 7. 27. C언어 - #if, #elif, #else, #endif 와 ifdef, #ifndef, #endif 지시문 #if, #elif, #else, #endif와 #ifdef, #endif를 보통 조건부 컴파일 지시자라고 합니다. #이 앞에 오는 전처리 지시자입니다. C언어뿐만 아니라 C++, C#에서도 자주 등장하므로 알아보고 가겠습니다. 먼저 #if, #elif, #else, #endif부터 알아보겠습니다. 일반적으로 사용하는 if , else if, else와 방식은 유사합니다. 대신 #elif, #else는 사용하지 않아도 상관없지만 #if를 사용하면 꼭 끝나는 부분에#endif를 삽입해야 합니다. 전처리기는 {}를 사용하지 않기 때문에 끝을 내줘야 합니다. 보통 조건부로 코드를 추가 및 제거해서 컴파일할 때 많이 사용합니다. 예제로 알아보겠습니다. #include #define VERSION 3 int ma.. 공부 자료실/C언어 2020. 7. 22. 비주얼스튜디오(Visual Studio) - 다크모드, 글꼴, 글자색 변경과 라인번호 표시 *Visual Studio 2017로 작성했습니다. 사람마다 코딩을 하다 보면 눈에 편하고 보기가 좋은 환경이 조금씩 다릅니다. 이번에는 비주얼스튜디오에서 다크 모드, 글꼴, 글자색 변경에 대해서 알아보겠습니다. 먼저 현재 제가 사용하고 있는 상태는 다음과 같습니다. 보통 다크모드라고 합니다. 다크모드로 변경하믐 방법에 대해 알아보겠습니다. 먼저 도구(Tools) -> 옵션(Options)으로 들어갑니다. 옵션에서 환경(Environment) -> '일반(General)'을 들어가면 색 테마(Color theme)에서 '어둡게(Dark)'를 선택하면 다크 모드가 됩니다. 광원이나 파랑은 다음과 같으니 자신에게 편한 테마를 선택하면 됩니다. 다음으로는 글꼴과 글자색입니다. 글꼴 같은 경우는 코딩에 좋은 글.. 공부 자료실/자료실 2020. 7. 21. C언어 - 내장 매크로 *Visual Studio 2017로 작성했습니다. 내장 매크로는 사용자가 사용하기 편하게 미리 정의되어 있는 매크로입니다. 전처리기 매크로이기 때문에 컴파일하기 전에 해당 매크로는 해당 결과로 치환이 됩니다. 몇 가지 자주 사용하는 매크로만 알아보겠습니다. __는 _(underbar 또는 underscore)가 2개입니다. 예제로 매크로를 사용해 보겠습니다. #include void fun(); int main(void) { printf("컴파일 날짜 : %s \n", __DATE__); printf("컴파일 시간 : %s \n", __TIME__); printf("컴파일 날짜 요일 시간 : %s \n", __TIMESTAMP__); printf("라인 번호 : %d \n", __LINE__); fun.. 공부 자료실/C언어 2020. 7. 21. 비주얼스튜디오(Visual Studio) - 브레이크 포인트(Break Point) *Visual Studio 2017로 작성했습니다. 코드를 작성해서 실행하다 보면 에러가 발생합니다. 에러가 발생하면 빌드가 실패했다는 메시지가 나옵니다. 보통 컴파일 에러는 아래 어떤 에러가 발생했는지 오류 목록에서 알려줍니다. 에러 내역을 클릭하면 발생한 라인까지도 표시해 줍니다. 아니면 빨간 줄로 표시되는 경우도 있습니다. 하지만 다음과 같이 실행은 되지만 런타임 에러가 발생하는 경우 에러가 난 위치가 설명으로 나와서 쉽게 찾는 경우도 있지만 방대한 양의 코드를 작성했거나 설명이 모자라면 난감한 상황이 발생합니다. 이때 브레이크 포인트(또는 중단점)를 이용해서 에러가 발생한 범위를 압축해서 원인을 찾을 수 있습니다. 이제 브레이크 포인트 삽입하는 방법을 알아보겠습니다. 브레이크 포인트를 삽입하는 가.. 공부 자료실/자료실 2020. 7. 20. 파이썬(Python) - 예외 처리(Exception) _ raise, assert 이번에는 예외처리에서 raise와 assert에 대해 알아보겠습니다. 먼저 raise는 강제로 예외를 발생시킬 수 있습니다. 강제로 예외를 발생시키기 위한 예제를 작성해보겠습니다. while 1: a = input("숫자 입력 : ") try: if int(a) == 1: raise ValueError elif int(a) == 2: raise TypeError elif int(a) == 3: raise NameError print("입력하신 값은 : ", float(a)) except ValueError: print("1 입력") except TypeError: print("2 입력") except NameError: print("3 입력") else: break finally: print("-----.. 공부 자료실/파이썬(Python) 2020. 7. 18. 이전 1 2 3 4 5 6 다음 반응형