CS50 2019 (David J. Malan) - 3

Minkyu Shin·2023년 3월 28일
0

CS

목록 보기
3/3
post-thumbnail

하기 코드는 CS50 강의에서 주어진 CS50 라이브러리를 활용하여 작성된 코드입니다.

기본 C 언어 문법과는 다른 점이 있음을 참고해 주세요.

1. 문자열 (string)

  • 문자열은 따옴표 안에 들어 있는 0개 이상의 문자들
  • = 는 assignment operator, 마치 <- 화살표와 같음

#include <cs50.h> // 라이브러리
#include <stdio.h>

int main(void) 
{
  string answer = get_string("What's your name?\n);
  printf("hello, %s\n", answer);
}
$ clang -o string string.c -lcs50 // cs50 파일 link
$ ./string
  • 변수 answer에 응답을 받고, 변수를 사용하여 문자열을 출력하는 코드
  • 컴퓨터 메모리 어디엔가 answer라는 변수와 그 값이 저장되어 있음
  • %s => 형식 지정자 (placeholder)의 일종

2. 조건문과 loop

#include <stdio.h>

// 조건문
if (x < y)
{
	printf("x is less than y\n");
}
else if (x > y)
{
	printf("x is greater than y\n");
}
else
{
	printf("x is equal to y\n");
}

// while loop
#include <stdio.h>

int i = 0;

while (i < 50)
{
	printf("Hello, world!\n");
    i++; // == i = i + 1
}

// for loop
for (i = 0; i < 50; i++) 
{
	printf("hello, world\n");
}

3. 자료형과 형식 지정자

자료형형식지정자내용
char%c한 글자
float%f실수
int%i정수
long%li더 큰 수까지 셀 수 있는 정수
  • 등등 많은 자료형과 형식 지정자가 있다

4. 사용자 정의 함수

void funct_name(void) 
{
	수행할 동작
}

이 때 void 는 첫번째의 경우 함수값을 반환하지 않음을, 두번째는 입력값을 받지 않음을 의미
모든 함수가 이런 형식은 아니니 참고만 하자

5. 컴퓨터의 한계

  • 컴퓨터는 RAM이라는 물리적 저장장치(하드웨어)를 포함하고 있음
  • 실행 중인 프로그램은 구동 중 RAM에 저장되는데, 용량이 제한적이다
  • 따라서 때떄로 부정확한 결과를 내기도 한다
  • e.g. 부동 소수점 부정확성, 정수 오버플로우 ...
profile
개발자를 지망하는 경영학도

0개의 댓글