λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ’»/CS

CS50_Cμ–Έμ–΄

1) C기초

#include <stdio.h>λŠ” “stdio.h”λΌλŠ” μ΄λ¦„μ˜ νŒŒμΌμ„ μ°Ύμ•„μ„œ “printf” ν•¨μˆ˜μ— μ ‘κ·Όν•  수 μžˆλ„λ‘ ν•΄μ€Œ.

μš°λ¦¬κ°€ 직접 μž‘μ„±ν•œ μ½”λ“œλŠ” “μ†ŒμŠ€ μ½”λ“œ”

이λ₯Ό 2μ§„μˆ˜λ‘œ μž‘μ„±λœ “λ¨Έμ‹  μ½”λ“œ”둜 λ³€ν™˜ν•΄μ•Ό 컴퓨터가 이해할 수 μžˆμŠ΅λ‹ˆλ‹€.

이런 μž‘μ—…μ„ μ»΄νŒŒμΌλŸ¬λΌλŠ” ν”„λ‘œκ·Έλž¨μ΄ μˆ˜ν–‰

 

2) λ¬Έμžμ—΄

get_string ν•¨μˆ˜κ°€ μ‚¬μš©μžμ˜ 이름을 λ°˜ν™˜ν•˜λ©΄ κ·Έ 이름을 anwserμ΄λΌλŠ” λ³€μˆ˜μ— μ €μž₯
string μ—μ„œμ˜  s λ₯Ό  % 뒀에 λΆ™μ—¬μ„œ 인자λ₯Ό λ°›μ•„μ€Œ

 

3) 쑰건문과 루프

쑰건문
루프_while
루프_for

  • 데이터 νƒ€μž…
  • bool: λΆˆλ¦¬μ–Έ ν‘œν˜„, (예) True, False, 1, 0, yes, no
  • char: 문자 ν•˜λ‚˜ (예) 'a', 'Z', '?'
  • string: λ¬Έμžμ—΄
  • int: νŠΉμ • 크기 λ˜λŠ” νŠΉμ • λΉ„νŠΈκΉŒμ§€μ˜ μ •μˆ˜ (예) 5, 28, -3, 0
  • long: 더 큰 크기의 μ •μˆ˜
  • float: λΆ€λ™μ†Œμˆ˜μ μ„ κ°–λŠ” μ‹€μˆ˜ (예) 3.14, 0.0, -28.56
  • double: λΆ€λ™μ†Œμˆ˜μ μ„ ν¬ν•¨ν•œ 더 큰 μ‹€μˆ˜
  • CS50 라이브러리 λ‚΄μ˜ get ν•¨μˆ˜(#include <cs50.h>)
  • get_char
  • get_double
  • get_float
  • get_int
  • get_long
  • get_string

 

  • ν˜•μ‹ μ§€μ •μž
  • %c : char
  • %f : float, double
  • %i : int
  • %li : long
  • %s : string

 

5) μ‚¬μš©μž μ •μ˜ ν•¨μˆ˜, 쀑첩 루프

 

  • μ‚¬μš©μž μ •μ˜ ν•¨μˆ˜
#include <stdio.h>

void cough(int n);

int main(void)
{
    cough(3);
}

void cough(int n)
{
    for (int i = 0; i < n; i++)
    {
        printf("cough\n");
    }
}

main ν•¨μˆ˜λ₯Ό μš°λ¦¬κ°€ μ •μ˜ν•œ cough ν•¨μˆ˜λ³΄λ‹€ μœ„μ— μœ„μΉ˜μ‹œν‚€κ³  μ‹Άλ‹€λ©΄,

void cough(int n);λ₯Ό λ¨Όμ € μž…λ ₯ν•΄μ„œ cough λΌλŠ” ν•¨μˆ˜κ°€ μ •μ˜λ˜μ–΄μžˆμŒμ„ μ•Œλ €μ€˜μ•Ό 함.

 

  • μ‚¬μš©μž μ •μ˜ ν•¨μˆ˜μ˜ μž₯점

1. κ°„κ²° (쀑볡 제거)

2. 가독성

3. μœ μ§€ 보수 (νš¨μœ¨μ„±)

 

  • 쀑첩루프
#include <cs50.h>
#include <stdio.h>

int main(void)
{
    int n;

    do
    {
        n = get_int("Size: ");
    }
    while (n < 1);

    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            printf("#");
        }
        printf("\n");
    }
}

 

6) ν•˜λ“œμ›¨μ–΄μ˜ ν•œκ³„

  • μ˜€λ²„ν”Œλ‘œμš°κ°€ λ°œμƒν•˜μ§€ μ•ŠκΈ° μœ„ν•΄μ„œλŠ”?

1. ν”„λ‘œκ·Έλž¨ 섀계 μ‹œ λ©”λͺ¨λ¦¬ μš©λŸ‰ μΆ©λΆ„νžˆ 확보

2. 데이터 κ°’μ˜ λ²”μœ„ κ³ λ €

3. μ˜€λ²„ν”Œλ‘œμš° λ°œμƒ μ „ 리셋

'πŸ’» > CS' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[운영체제] Synchronization - 1  (0) 2022.12.16
[운영체제] Real-time Systemμ΄λž€?  (1) 2022.12.16
CS μ°Έκ³   (0) 2022.06.12
CS50_λ°°μ—΄  (0) 2022.06.12
CS50_μ»΄ν“¨νŒ… 사고  (0) 2022.06.12