전체 글
-
14 - inputPython 2020. 7. 22. 11:27
input() - 함수는 문자, 문자열(str 타입)을 입력받는다 - 입력된 값은 정수가 아닌, 문자나 문자열이다 - var = input() ex) print("{}".format(var)) print("var = " + var) # 두개의 문장을 연결함 print("var = ", var) # ,는 매계변수를 구분, 공백으로 구분 var1 = input() # hello var2 = input() # python print("{} {}".format(var1, var2)) # var1 var2 print("{1} {0}".format(var1, var2)) # var2 var1 split() 함수는 입력값을 공백으로 구분한다 ex) x, y = input().split() a, b = input('문..
-
13 - 논리 연산자Python 2020. 7. 20. 13:01
논리 연산자(logical operator) 논리연산자는 주어진 논리식을 판단하여 참과 거짓을 결정하는 연산자 and : 논리식 모두가 True 이어야 True 가 된다. or : 논리식 중에서 1개라도 True 이면 True 가 된다. not : 논리식의 결과가 True 면 False 이고 False 이면 True 가 된다. print(True and True) # True print(True and False) # False print(True or True) # True print(True or False) # True print(True) # True print(not True) # False print(not False) print(not bool("True")) # False bool함수를 사..
-
12 - 비교/관계 연산자Python 2020. 7. 20. 12:52
비교/관계 연산자(relational operator) 피연산자(operand) 사이의 상대적인 크기를 판단하는 연산자이다. 왼쪽의 피연산자와 오른쪽 피연산자를 서로 비교하여 어느 쪽이 더 큰지 작은지, 또는 같은지를 판단한다. 연산한 결과는 언제나 불리언 타입으로 변환 True or False 중 하나의 값 크기를 비교허는 연산자 : 값 자체가 같은지를 비교하는 연산자: ==, != ex) i = 10 j = 100 print(i j) # False print(i == j) # False print(i != j) # True print("IT" == 'it') # False print(i == 10) # True result = "abc" print(result ..
-
11 - formatPython 2020. 7. 20. 12:41
format 출력 형식(서식) 지정한다. 1) format의 사용방법 : {} {} 사이에 공백이 있으면 안 된다. { } x python3 이후방식은 print("출력 형식".format(데이터) ex) print("{}".format("test")) 2) format의 사용방법: {} 안에 형식 지정하 print("{:d}".format(1000)) # decimal은 정수 출력 print("{:f}".format(1000.12)) # float은 실수 출력 print("{:F}".format(1000.12)) # 대문자 float 또한 실수 출력 {} 형식에서 2진수는 대문자 출력 안됨 에러 발생! print("{B}".format(10)) print("{:b}".format(10)) # 1010 ..
-
3.4 구조체와 포인터자료구조(C)/배열,구조체,포인터 2020. 7. 17. 11:58
구조체에 대한 포인터를 선언하고 포인터를 통하여 구조체 멤버에 접근할 수 있다. 표기법은 "->"이다. ps가 구조체를 가리키는 포인터라 할 때, (*ps).i 보다는 ps->i라고 쓰는 것이 더 편리하다. 자료 구조에서 구조체에 대한 포인터도 자주 함수의 매개변수로 전달된다. #include #include #include typedef struct studenTag { char name[10]; int age; double gpa; } student; int main() { student *s; s = (student *)malloc(sizeof(student)); if (s == NULL) { fprintf(stderr, "메모리가 부족해서 할당할 수 없습니다."); exit(1); } strcpy..
-
3.3 동적 메모리 할당자료구조(C)/배열,구조체,포인터 2020. 7. 17. 11:10
동적 메모리 할당(dynamic memory allocation) C언어에서는 필요한 만큼의 메모리를 운영체제로 부터 할당받아서 사용하고, 상용이 끝나면 시스템에 메모리를 반납하는 기능이 있다. 히프(heep) 동적 메모리가 할당되는 공간 운영체제가 사용되지 않는 메모리 공간을 모아 놓은 공간이다. 동적 메모리 할당 코드 int *p; p = (int *)malloc(sizeof(int)); 동적메모리 할당 *p = 1000; 동적메모리 이용 free(p); 동적메모리 반납 malloc() size 바이트 만큼의 메모리 블록을 할당한다. 동적 메모리 블럭의 시작 주소를 반환한다. 반환되는 주소의 타입은 void *이므로 이를 적절한 포인터로 형변환시켜야 한다. 포인터로만 사용이 가능하다. *p = 100..
-
3.2 포인터자료구조(C)/배열,구조체,포인터 2020. 7. 13. 18:09
포인터(pointer) 다른 변수의 주소를 가지고 있는 변수이다. ex) int a = 100; int *p; p = &a; p가 a를 가리킨다. 포인터와 관련된 연산자 & : 주소 연산자(변수의 주소를 추출한다.) * : 간접참조 연산자(포인터가 가리키는 곳을 가리킨다.) 역참조 연산자라고도 한다. ex) int a; //정수형 변수 p = &a //변수의 주소를 포인터로 저장 int a = 20 *p = 200; //포인터 p가 가리키는 곳에 200을 저장한다 -> a = 200; NULL 포인터 어떤 객체도 가리키지 않는 포인터이다. 포인터가 아무것도 가리키고 있지 않을 때는 항상 널포인터 상태로 만들어 두는 것이 좋다. 함수 매개변수로 포인터 사용 포인터는 함수의 매개변수로 전달될 수 있다. 특정..
-
3.1 배열자료구조(C)/배열,구조체,포인터 2020. 7. 9. 17:34
배열(array)의 개념 동일한 타입의 데이터를 한 번에 여러 개 만들 때 사용된다. "연속적인 메모리 공간"이 할당되고 index 번호를 사용하여 쉽게 접근이 가능하다. -> 렌덤 억세스: 기억 장치에서 자료를 읽거나 쓸 때 기억 장소에 관계없이 동일한 접근 시간이 걸리는 접근 방식. 즉, 기억 장치에 저장된 자료를 차례대로 접근하지 않고 거의 동일한 시간 내에 임의의 장소를 찾아 접근할 수 있는 방식이다. ex) int list[6]; 배열 ADT array 객체: 쌍의 집합 연산: - create(size) ::= size개의 요소를 저장할 수 있는 배열 생성 - get(A, i) ::= 배열 A의 i번째 요소 반환. - set(A, i, v) ::= 배열 A의 i번째 위치에 값 v 저장. c에서는..