Programming/C언어

[CS50 2019] C언어 문자열 & 조건문과 루프

aram 2022. 7. 22. 22:44

1) 문자열

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

int main(void)
{
    string animal = get_string("좋아하는 동물을 알려주세요\n");
    printf("내가 좋아하는 동물은 %s\n", animal);
}

- cs50.h 파일: string 문자열 형식 & get_string 함수에 대한 코드 포함 > 이 파일을 포함해야 전체 코드 컴파일 + 실행가능

- 형식지정자 : animal 변수의 값(우리가 저장하고자 하는 값)이 사전에 string이라고 타입을 명명해주고 start

- get_string : 파이썬의 input과 같은 역할

- %s : string의 s를 %뒤에 붙여서 인자를 받아줌

 

* -l + 파일이름 

: "link"의 -l에 "cs50"파일을 합친 것. 컴파일 시 cs50 파일을 연결하도록 알려줌

 

* 간단한 과정 make

: string이라는 프로그램을 만들어달라고 명령  #소스코드의 string.c가 아님

: 알아서 파일명은 무엇을 할지, 다른 사람들은 어떤 라이브러리나 코드를 연결했는지 등을 찾아줌

 

2) 조건문 if 

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

int main(void)
{
    int x = get_int("Enter a number: ");
    int y = 23;
    if(x < y)
    {
        printf("x is less than y\n");
    }
    else if(x > y)
    {
        printf("x is greater than y\n");
    }
    else //if(x == y) 불필요한 부분은 제외
    {
        printf("x is equal to y\n");
    }

}

> 조건을 다 걸고 가능성이 하나 남았을 경우에는 생략 > 더 간결해짐

 

3) 루프 while, for

#include <stdio.h>

int main(void)
{
	//while 반복문
    int i = 0;
    while (i < 10)
    {
        printf("개발공부는 재미있다!\n");
        i++;
    }

	//for 반복문(변수 초기화; 변수조건; 변수증가)
    for (int a = 0; a < 10; a++)
    {
        printf("개발공부는 재미있다!\n");
    }

}

위 두 가지 반복문은 동일한 결과 도출 > 다만, while문에 비해 for문이 훨씬 간단함

a = a  + 1;

a += 1;

a++;

* 모두 동일하게 기존값에 1을 더해준다는 뜻

 

728x90