본문 바로가기

Programming

(99)
C 정리1 메모리에 저장되는건 0,1 뿐이며 메모리에 동일하게 저장되어 있더라도 여러 방법으로 읽을 수 있음.따라서 메모리에 데이터를 읽고 쓸 방법 ( 자료형 ) 을 정해줘야 한다. -변수의 선언과 초기화 지역변수는 초기화하지 않으면 쓰레기값이 들어가고 전역변수와 static변수는 초기화하지 않으면 0으로 초기화 된다. 문자열 상수 - 0개 이상의 문자들의 sequence , 문자열의 끝을 알려주기 위하여 맨 뒤에 Null ( '\0' )이 붙음. 심볼릭 상수 - 값을 변경할 수 없는 변수로 const 키워드를 사용. 반드시 선언과 동시에 초기화해야 한다. 연산자산술 연산자 : + , - , * , / , % 관계 연산자 : > , >= , < , != , == ...etc논리 연산자 : && , ||증감 연산자 ..
포인터 사용하는 모든 변수는 메모리의 특정 위치에 저장되고 그 위치에 대한 메모리 주소를 포인터라고 한다. 포인터 변수는 주소값을 저장하는 특별한 변수다. 포인터 변수가 어떤 변수의 주소를 저장하고 있다는 것은 포인터 변수가 그 변수를 가리키고 있다( 포인트 하고 있다 ) 는 의미가 된다. 포인터 변수를 간단히 '포인터'라고 부르기도 한다. 다음과 같이 하면 포인터 변수를 사용하여 다른 변수를 액세스할 수 있다. int i; //정수형 변수 i 선언int *ptr = &i; // 포인터 변수 ptr에 i의 주소값 저장 포인터 선언은 다음과 같이 한다. 자료형 * 포인터 변수명;1)자료형은 포인터 변수 자체의 자료형이 아니라 포인터 변수에 저장할 주소에 있는 일반 변수의 자료형이다.2)포인터변수 이름은 일반 변수..
Data Structure 배열 배열(Array)은 같은 자료형을 가진 자료들을 나열하여 메모리에 연속으로 저장하여 만든 자료형들의 그룹이다. 예를들어 , 요일을 나타내는 월,화,수,목,금,토,일요일을 각각 변수로 선언하면 7개의 변수를 만들어 개별적으로 사용해야 한다. 하지만 읻르을 묶어서 하나의 배열을 만들면 하 번의 배열 선언으로 만들수 있고 , 각 요일은 배열의 요소가 되어 다루기가 편하다. 1차원 배열 선언법:자료형 배열이름 [배열 요소 갯수]; 1)자료형 : 자료형에서는 배열의 자료형을 선언한다 , 배열 요소들은 모두 같은 자료형이여야 하고 , 그 자료형이 배열의 자료형이 된다.2)배열이름 : 배열이름은 변수이름과 같은 규칙으로 정한다. 3)배열 요소 갯수: 요소 갯수는 대괄호를 이용하여 표시하는데 , 이는 배열의 크기가 된..
표준 라이브러리 파이썬 표준 라이브러리는 파이썬을 설치할 때 항상 함께 설치되는 많은 수의 유용한 모듈들을 말한다.파이썬 표준 라이브러리에 익숙해지면 이를 이용해 해결할 수 있는 많은 문제들을 좀 더 빠르고 쉽게 해결할 수 있다. 지금부터 표준 라이브러리에 포함된 많은 모듈 중에서 자주 사용되는 몇가지 모듈에 대해 알아볼 것이다. sys 모듈sys모듈에는 시스템의 가능을 다루는 여러 함수들이 들어 있다. 예를들어 sys.argv리스트에는 명령줄 인수들이 들어 있다. 또 sys 모듈을 통해 현재 사용하고 있는 파이썬의 버전을 알아올 수 있다.help(sys)를 쳐보면 sys에 대해 알수있다. argv -- command line arguments; argv[0] is the script pathname if known v..
예외 처리 예외 처리 예외란 말 그대로 프로그램에서 벌어지는 예외적인 상황을 뜻한다. 예를 들자면 , 우리가 파일으 읽고자 할 때 그 파일이 존재하지 않는 경우라던지 , 또는 한참 프로그램이 실행중인데 그 파일을 갑자기 지워버렸다던지 하는 경우다. 이러한 상황을 처리해 주는 것을 예외 처리 라고 한다. 비슷하게 우리가 프로그램에 존재하지 않는 명령문이 있을 경우 어떻게 될까? 이런 경우 파이썬은 손을 들고( raise ) 프로그램에 오류 ( error ) 가 있다고 알려준다. 오류 간단히 print함수를 호출하는 상황을 생각해보자. 이 떄 print를 Print 라고 잘못 쳤을 경우 어떻게 될까?SyntaxError ( 구문 오류 ) 가 발생되었고 오류가 발생한 위치가 표시될 것이다. 이것은 이 오류의 오류 핸들러..
입력과 출력 입력과 출력프로그램을 만들다 보면 간혹 프로그램이 사용자와 상호 작용을 해야 할 떄가 있다. 예를 들어 , 사용자로부터 뭔가를 입력받고 처리 결과를 출력해 주는 것 같은 일이 필요할 때 입니다. 파이썬에서는 이를 위해 input()함수와 print()문을 이용한다. 결과를 출력해주기 위해서는 str( 문자열 ) 클래스가 제공하는 여러 메소드를 사용할 수도 있다. 예를들면 , rjust 메소드를 사용하여 출력될 문자열이 특정 폭의 문자열 안에서 오른쪽 정렬되도록 할 수 있다. 사용자로부터 입력받는 예제를 살펴보자. def reverse(text): return text[::-1] # 입력받은 text를 뒤집는 함수 def is_palindrome(text): return text == reverse(tex..
상속 객체 지향 프로그래밍의 또 다른 장점은 코드를 재사용 할 수 있다는 것인데 이를 위한 한가지 방법으로 상속이 사용된다. 상속은 클래스 간의 형식과 세부 형식을 구현하는 것이라고 생각해 볼 수 있다. 만일 우리가 어떤 대학의 교수님들과 학생들의 명부를 작성하는 프로그램을 작성한다고 가정하자. 이 때 교수와 학생 모두 공통적으로 이름 , 나이 , 주소 등의 성질을 가지고 있을 것이며 , 교수에만 적용되는 성질로는 연봉 , 과목 , 휴가 등이 있을 것이고 , 학생에만 적용되는 성질로는 성적 , 등록금 등이 있을 것이다. 따라서 우리는 각각의 경우에 두 독립적인 클래스를 만들 수 있겠지만 , 이 경우 각각의 공통적인 성질 또한 각각의 클래스에 두번씩 반복해서 정의해줘야 한다. ( 여간 귀찮은게 아니다..) 더 ..
클래스 변수와 객체 변수 저번시간 정리한 내용을 복습하고 시작하자 ( 매우 중요 하기 때문)객체 지향 프로그래밍의 두가지 주인공 클래스 : 새로운 형식을 정의 객체 : 클래스의 인스턴스를 의미 ex ) int라는 형식의 변수를 만들 수 있다는 것 , 이는 곧 정수형을 저장하는 변수는 int 클래스의 객체(인스턴스)를 변수에 할당하는 것 이라고 말할 수 있다. 쉽게 생각하면 클래스는 뽑기 틀에 비유하고 , 인스턴스는 틀에 의해 생성되는 뽑기 들을 생각하면된다. 객체는 그 객체에 내장된 일반적인 변수들을 사용하여 데이터를 저장할 수 있다. 이 때 객체 혹은 클래스에 소속된 변수들을 필드라고 불렀다. 객체는 또한 내장된 함수를 이용하여 어떤 기능을 갖도록 하는데 이것을 클래스의 메소드 라고 불렀다.또 이러한 필드와 메소드들을 통틀어 ..