CS50 - 코칭스터디 2주차

아론·2021년 1월 22일
0

CS50

목록 보기
3/3
post-thumbnail

수강기간 2021.01.18. ~ 01.22.

2주차. C언어

I. C 기초

1. C언어
	- 순수 텍스트 기반 언어
	- int main(void) {} // 메인함수, 
	 		    // 작성할 코드를 중괄호 안에 작성
	- prinf("hello world\n"); // 프린트 함수, \n : 줄바꿈
				  // 문장이 끝나면 세미콜론
	- #include <stdio.h> // 헤더파일, 표준입출력 라이브러리
2. 컴파일러
    
    - 우리가 작성한 소스 코드를 2진수로 작성된 머신코드로 바꿔주는 프로그램
    - 커맨드 : clang 파일명.c
    - 컴파일된 파일 실행 커맨드 : ./파일명 (맨 앞 .은 현재 폴더를 의미)


    

II. 문자열

1. 문자열

    - 문자들의 집합
    - get_string (cs50 샌드박스)
    - char : 1바이트 문자
    - %s = 문자열 형식의 형식지정자
    

III. 조건문과 루프

1.  조건문

    - 특정 코드가 특정 상황에서만 실행되도록 의사결정 하는 코드
    - bool 연산식
    - 조건분기 (if문, switch, 3항 연산자 등)
    

IV. 자료형, 형식 지정자, 연산자

1. 데이터 타입

    - bool : True/False, Yes/No, 1/0
    - Char : 문자 하나 (1바이트)
    - string : 문자열
    - int : 특정 크기 또는 특정 비트까지의 정수 (eg. 5, 28, -3 등)
    - float : 부동소수점을 갖는 실수(eg. 3.14, 0.0 등)
    - double : 부동소수점을 포함한 더 큰 실수
    
2. 형식 지정자

    - %c : char
    - %f : float, double
    - %i : int
    - %li : long
    - %s : string
    
3. 논리 연산자
       + : 더하기
       - : 빼기
       * : 곱하기
       / : 나누기
       % : 나머지
       && : and
      \\ : or
      // : 주석

V. 사용자 정의 함수

1. 함수 만들기
   void cough(void)		// void 함수명(void) : 기침 함수 만들기
   {
   printf("cough\n")
   }				
- 주의 : 새로운 함수를 만들고 나서 항상 제일 처음에 함수이름을 써 두어야
나중에 실행할 떄 오류가 나지 않음
#include <stdio.h>

void cough(void);  //  미리 함수를 언급해야 나중에 해당 함수가 나와도 실행할 수 있음

int main(void)
{
    for (int i = 0; i < 3; i++)
    {
        cough();
    }
}

void cough(void)
{
    printf("cough\n");
}
- 함수의 기본 형식(c언어) : 출력형식 함수이름(입력형식){}


2. 중첩 루프
	- do while 문

VI. 하드웨어의 한계

RAM에는 유한한 크기의 비트만 저장할 수 있기 때문에 떄때로 부정확한 결과 나옴

	1. 부동소수점 부정확성
    	2. 정수 오버플로우 
        
따라서 다루고자 하는 데이터 값의 범위를 유의하여 프로그램을 작성하여야 함

디브리핑

파이썬으로도 문제를 풀 때 항상 얼마나 많은 메모리를 쓰는지, 얼마나 효율적인지 잘 생각하지 않고 문제를 풀곤 하였다. 이번 기회를 통해 내가 작성한 코드가 얼마나 메모리를 잡아먹는지 얼마나 효율적인지 생각해 봐야겠다는 생각이 들었다.

profile
법대생의 좌충우돌 IT 생존일대기

0개의 댓글

관련 채용 정보