2025. 3. 3. 19:25ㆍCS(Computer Science)/Harvard CS50 Review
Q1. 아래 코드를 실행하면 어떤 결과가 출력될까요?
A1. 20, *(&n)으로 볼 수도 있는데, &n 은 n의 메모리 주소를 가리키고 *는 다시 &n의 메모리 주소가 가리키는 것을 호출. 즉 답은 n에 선언된 값인 20
Q2. 아래와 같이 변수 n과 p을 생성했습니다. 변수 n의 메모리 주소를 출력하는 올바른 코드는 다음 중 무엇인가요?
A2. printf("%p\n", p);
Q3. CS50 라이브러리의 string 자료형을 사용해 변수 s를 생성했습니다. 아래와 동일한 의미를 지니는 코드는 무엇인가요?
A3. char *s = “CS50”
CS50 라이브러리에서 string은 c언어에서 char*로 정의된 사용자 지정 자료형
Q4. 아래와 같이 변수 s를 생성했을때, 문자 ‘W’를 출력하는 코드는 무엇인가요?
A4. printf("%c\n", *(s+2));
Q5. 아래와 같이 변수 s를 생성한 뒤, 새로운 변수 t에 “EDWITH” 문자를 복사하려고 합니다. malloc 함수를 이용해 변수 t를 생성할 때 총 몇 바이트의 메모리를 할당해야 할까요?
A5. 7바이트, 문자 6개 + 널 문자 = 7바이트의 메모리
Q6. 할당된 메모리를 해제 하기 위해 사용하는 함수는 무엇인가요?
A6. free()
Q7. malloc() 함수를 통해 할당받은 메모리는 어디에 위치하게 될까요?
A7. 힙(heap), 힙 영역은 메모리가 동적으로 증가/감소를 거친다.
Q8. data.csv 파일에 값을 입력하는 프로그램을 작성하려고 합니다. 이때 필요한 함수가 아닌 것은 무엇인가요?
A8. fcreate()
Q9. 아래와 같은 코드가 있을 때 출력되는 값은 얼마일까요?
A9. 10, func 함수에 *y=10으로 선언이 되었고, main함수 안에서 func함수가 호출이 되니까 func에서 정의된 값을 사용한다.
Q10. 아래 코드와 같이 swap 함수를 통해 메모리에 저장된 x와 y의 값을 교환하려고 합니다. 즉, swap 함수가 호출된 이후 x는 5, y는 3의 값을 가져야 합니다. main 함수에서 호출되는 swap 함수의 괄호에 포함되어야 할 코드로 적절한 것은 무엇인가요?
A10. &x, &y
'CS(Computer Science) > Harvard CS50 Review' 카테고리의 다른 글
[강의 퀴즈 해설] CS50 2019 Chapter 6. 자료구조 Quiz (0) | 2025.03.03 |
---|---|
[강의 퀴즈 해설] CS50 2019 Chapter 4. 알고리즘 Quiz (0) | 2025.03.03 |
[강의 퀴즈 해설] CS50 2019 Chapter 3. 배열 Quiz (0) | 2025.03.02 |
[강의 퀴즈 해설] CS50 2019 Chapter 2. C언어 Quiz (0) | 2025.03.02 |
[강의 퀴즈 해설] CS50 2019 Chapter 1. 컴퓨팅 사고 Quiz (0) | 2025.03.02 |