본문 바로가기

cs78

3: 배열-3(메모리와 배열:전역변수) 3. 메모리 c에는 아래와 같은 여러 자료형이 있고, 각각의 자료형은 서로 다른 크기의 메모리를 차지함 bool: 불리언, 1바이트(8비트) char: 문자, 1바이트 int: 정수, 4바이트(32비트) float: 실수, 4바이트 long: (더 큰) 정수, 8바이트(64비트) double: (더 큰) 실수, 8바이트 string: 문자열, ?바이트 사진에서 여러 개의 노란색 사각형이 메모리를 의미하고, 작은 사각형 하나가 1바이트를 의미함 예) char 타입의 변수를 하나 생성하고, 그 값을 입력한다고 하면 한 사각형 안에 그 변수의 값이 저장됨 *string은 선언할 때 " "(큰따옴표로) / char은 ' '(작은따옴표로) 4. 배열 예) 세 개의 점수를 저장하고 그 평균을 출력하는 코드 짜기 #.. 2021. 11. 25.
3: 배열-2(버그와 디버그) 2. 디버깅 1) 버그와 디버깅 버그(bug): 코드에 들어있는 오류 버그로 인해 프로그램의 실행에 실패하거나 프로그래머가 원하는 대로 동작하지 않게 됨 디버깅(debugging)은 코드에 있는 버그를 식별하고 고치는 과정 프로그래머는 디버거라고 불리는 프로그램을 사용해 디버깅을 하게 됨 2) 디버깅의 기본 디버거는 프로그램을 특정 행에서 멈출 수 있게 해 주기 때문에 버그를 찾는데 도움이 됨 프로그래머는 멈춰진 지점에서 무슨 일이 일어나는지 볼 수 있음 프로그램이 멈추는 특정 지점을 중지점(break point)이라고 함 프로그래머가 프로그램을 한 번에 한행씩 실행할 수 있게 해 줘서 프로그래머는 프로그램이 내리는 모든 결정들을 단계별로 따라갈 수 있게 됨 3) help 50 help50은 cs50파일.. 2021. 11. 25.
3: 배열-1(컴파일링) 1. 컴파일링 간단하게 말하면 소스코드(원시코드)를 목적코드(머신코드)로 변환하는 것 make나 clang 명령어를 사용해서 프로그램을 실행할 때(컴파일을 할 때) 네 단계를 거치게 됨 전처리(Precompile) - 컴파일링 - 어셈블링 - 링킹 1) 전처리(Precompile) 전처리기에 의해 전처리가 수행됨 #으로 시작되는 C 소스 코드는 전처리기에게 실질적인 컴파일이 이루어지기 전에 무언가를 실행하라고 알려줌 예) #include는 전처리기에게 다른 파일의 내용을 포함시키라고 알려줌. 프로그램의 소스코드에 #include와 같은 줄을 포함하면 전처리기는 새로운 파일을 생성하는데 이 파일은 여전히 C 소스 코드 형태이고 stdio.h 파일의 내용이 #include 부분에 포함됨 2) 컴파일(Comp.. 2021. 11. 25.
2: C언어-6(오버플로우) 6. 하드웨어의 한계 컴퓨터는 RAM이라는 저장장치를 포함하는데 RAM은 유한한 크기의 비트만 저장할 수 있기 때문에 때때로 부정확한 결과를 내기도 함 오버플로우: 컴퓨터 하드웨어의 한계로 인해 발생하는 문제 중 하나로, 변수가 담을 수 있는 최대 허용 범위를 벗어난 값을 저장해 예상치 못한 결과가 나오는 현상 *부동 소수점 부정확성* 나눈 결과를 소수점 50자리까지 출력하기로 하기 때문에 %.50f라고 씀! x에 1을 y에 10을 입력하면 정확한 결과는 0.1이 되어야 하지만, float 에서 저장 가능한 비트 수가 유한하기 때문에 부정확한 결과를 내게 되는 것 https://www.boostcourse.org/cs112/joinLectures/41307 모두를 위한 컴퓨터 과학 (CS50 2019) .. 2021. 11. 24.
2: C언어-5(중첩 루프) 5. 사용자 정의 함수, 중첩 루프 1) 사용자 정의 함수 void를 입력하고 원하는 함수명(cough)을 적은 뒤 괄호 안에 void를 적기 printf로 cough를 출력하는 코드 작성 함수의 이름을 cough로 정하고 int main(void)의 안에 cough(함수명) 사용 하지만 계속해서 새로운 함수를 만들면 main 함수는 아래로 내려 감 오류를 방지하기 위해서 void cough(void)를 세미콜론과 함께 위로 올림 cough 함수를 본 적은 없지만 이름은 있지만 main 함수에 나올 때까지 코드를 계속 읽도록 함 * Cough 함수에 원하는 만큼의 횟수만 cough를 출력하기!* void cough( ) 안의 int n은 함수가 입력값을 받아서 int 형식을 갖는 n이라는 변수에 저장하겠.. 2021. 11. 24.
2: C언어-4(자료형, 연산자) 4. 자료형, 형식 지정자, 연산자 bool: boolean표현(True, False, 1, 0, yes, no) char: 문자 하나(‘a’, ‘Z’, ‘?’) string: 문자열 int: 특정 크기 또는 특정 비트까지의 정수(5, 28, -3, 0) long: 더 큰 크기의 정수 float: 부동소수점을 갖는 실수(3.14, 0.0, -28.35) double: 부동소수점을 포함한 더 큰 실수 *int는 대략 40억까지 셀 수 있기 때문에 40억 개 이상의 데이터를 가진 기업과 같은 상황이 아니면 일반 사용자들은 대부분 정수에 int를 사용 형식 지정자 printf 함수에서는 각 데이터 타입을 위한 형식 지정자를 사용할 수 있음 %c: char, %f: float, double, %i: int, %.. 2021. 11. 24.