본문 바로가기

Language/C

<C언어 기초> 04. 자료형과 연산자

1. 자료형

* 데이터 타입

 - 변수의 데이터 타입형식들은 다음과 같다.

 

 - bool : 불리언 표현으로써 True, False를 의미한다. (때에 따라 1,0, yes, no 포함)

 - char : 문자 하나를 의미한다. (ex. 'A', '?')

 - string : 문자열

 - int : 정수 (약 40억 미만까지만 저장 가능)

 - long : 더 큰 크기의 정수

 - float : 부동소수점을 갖는 실수

 - double : 부동소수점을 갖는 더 큰 실수

 

* CS50라이브러리의 get 함수

 - 지금까지 우리는 문자열을 받기위해 cs50라이브러리의 get_string함수를 사용했으나 다른 데이터 타입을 받아오는 함수들도 존재한다.

 

 - get_char, get_double, get_float, get_ing, get_long 등이 있으며, 올바르지 않은 형태를 입력하면 올바를 데이터타입을 입력할 때 까지 자동으로 반복한다.

 

* 형식 지정자

 - 출력함수인 printf함수에서 지금까지 문자열을 %s로 받아 왔지만 이 또한 다른 자료형을 받아올 수 있다.

 

 - %c : char

 - %f : float, double

 - %i : int

 - %l : long

 - %s : string

 

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

int main(void)
{
    int age = get_int("what's your age?\n");
    printf("Your are at least %i days old.\n", age * 365);
}

 

 - 위 코드를 살펴보자. 나이를 정수 값으로 받는 것으로 시작한다.

 

 - 그리고 %i 로 정수 값의 위치를 표시하고 거기에 나이에 365를 곱한 값을 넣어서 출력하였다.

 

 

2. 연산자

* 연산자

 - C언어에는 수학 뿐만아니라 논리연산자도 정의되어있다.

 

 - + : 더하기

 - - : 빼기

 - * : 곱하기

 - / : 나누기

 - % : 나머지

 - && : 그리고

 - || : 또는

 

* 주석

 - C언어에서 주석은 // 를 앞에 입력하여 구분한다.

 

 


 

 

 

 

참고

 

 

 이 글은 하버드 대학교 David Malan 교수CS50 강의를 수강 후 정리하며 쓴 글입니다. 코드는 C언어로 작성되었으며, 개발환경은 CS50 Sandbox에 최적화되어 있습니다. 일부 라이브러리는 다른 환경에서 별도의 설정이 필요할 수 있습니다.

 

 

 

CS50 공식사이트

 

CS50

Introduction to the intellectual enterprises of computer science and the art of programming. This course teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, r

cs50.harvard.edu

 

부스트코스

 

다 함께 배우고 성장하는 부스트코스

부스트코스(boostcourse)는 모두 함께 배우고 성장하는 비영리 SW 온라인 플랫폼입니다.

www.boostcourse.org

 

CS50 Sandbox

 

CS50 Sandbox

Temporary programming environments for students and teachers.

sandbox.cs50.io

 

 

 

'Language > C' 카테고리의 다른 글

<C언어 기초> 06. 배열  (0) 2021.01.27
<C언어 기초> 05. 사용자 정의 함수  (0) 2021.01.24
<C언어 기초> 03. 루프  (0) 2021.01.22
<C언어 기초> 02. 조건문  (0) 2021.01.21
<C언어 기초> 01 출력과 문자열  (0) 2021.01.20