본문 바로가기
CS기초

[CS 기초지식 C기초]-15~16일차

by Jyujae 2022. 6. 10.

1. C언어의 기본

 

#include <stdio.h>

 

int main(void)

{

     printf("hello world\n");

}

 

코드로 입력하는 source code, 0과 1로 이루어진 machine code,

그 사이에서 comiler가 작동하여 우리가 친 코드를 컴퓨터가 알아들을 수 있는 이진법 코드로 변환해준다.

1. clang hello.c -> “clang” 이라는 컴파일러로 “hello.c”라는 코드를 컴파일해라

2. 그럼 a.out 이라는 파일이 생성됨(0과 1로 형성된)

3. 이 코드를 ./a.out 으로 실행!

 

 

2. string

#include <cs50.h>
#include <stdio.h>

 

int main(void)

{

string answer=get_string("What's your name?\n");

printf("I'm %s\n", answer);

}

 

clang이라는 명령어 대신, inlcude 한 파일들을 모두 합쳐주는

make 파일이름 으로 대체

 

3. while/ for

#include <stdio.h>

while (true)

{

    printf("hello,world\n");

}

 

for (int i=0; i<50; i++)

{

    printf("hello,world\n");

}

동일코드

i+=1

i++ 같은 코드

 

4. 데이터 타입

  • 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: 부동소수점을 포함한 더 큰 실수

5. CS50 라이브러리 내의 get 함수

  • get_char
  • get_double
  • get_float
  • get_int
  • get_long
  • get_string

 

6. 형식 지정자

  • %c : char
  • %f : float, double
  • %i : int
  • %li : long
  • %s : string

7. 기타 연산자 및 주석

그 외에도 아래 목록과 같이 다양한 수학 연산자, 논리 연산자, 주석 등이 기호로 정의되어 있습니다.  ㅍ  

  • +:  더하기
  • -: 빼기
  • *: 곱하기
  • /: 나누기
  • %: 나머지
  • &&: 그리고
  • ||: 또는
  • //: 주석

8. 함수정의

내가 함수를 만들면, 

윗 부분에

함수 명을 입력하고; 찍어두면, 코드가 이 함수를 찾을 때 까지 동작해서 찾아냄

 

int 함수명(int i 나 void);

 

를 해두고 코드를 실행하면, 함수가 실행코드보다 밑 줄에 있어도 사용가능

 

9. 하드웨어의 한계

int에서는 32개의 비트가 전부이기 때문에, 정수를 계속 키우는 프로그램에서 10억이 넘어갈 때, 10억보다 늘릴 자리수가 부족해진다

더이상 자리수를 control할 수 없는 한계가 하드웨어에는 분명히 존재한다