컴퓨터 과학

c언어-문자열

용용it 2023. 1. 18. 09:04

#include <stdio.h>

int main(void)
{
    printf("hello, world\n");
}

 

 

여기서 int main(void)시작한다는 의미를 가지고 있다.

printf(" ")는 " " 안에 있는 내용을 화면에 표시한다.

 

 \n줄바꿈. 여기서 백슬래시는 ₩로 써도 된다.

₩n 

 

파일 확장자 명은 c로 한다.

ex) hello.c

 

 

터미널에서 "$" 기호 옆에 명령어를 입력하는데,

$clang hello.c 라는 명령어는 “clang” 이라는 컴파일러로 “hello.c”라는 코드를 컴파일하라는 의미이다.

그러면  a.out 가 생성이 되는데

 

./a.out 는 현재 디렉토리에 있는 a.out 프로그램을 실행하는 것이다.

 

String은 단어나 구절, 문장을 부르는 말이다. 즉, 문자열을 뜻한다. (숫자와는 다른 종류이다.)

 

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

여기서 = 는 할당 연산자라고 한다.

"같다"가 아닌 오른쪽에 있는 것을 왼쪽에 지정한다.

get_string 함수가 사용자의 이름을 반환하면 그 이름을 anwser이라는 변수에 저장하는 것이다.

 

 

 

이 것을 printf 함수로 출력할 때

이때 유의할 점은 printf("hello, answer");아닌 점이다.

이 코드를 실행한다면 answer이 출력이 되어 hello, answer이 그대로 결과로 나오기 때문이다.

 

answer이라는 변수에 들어있는 이름을 출력을 해야하기 때문에 %를 사용한다.

이 때도 어떤 종류의 인자를 받는지 말해줘야한다.

이름이라는 문자열을 받기 때문에 string에서의 s를 %뒤에 붙여서 인자를 받아준다.

그래서 최종적으로는 printf("hello, %s\n", answer);이 되는 것이다.

가장 위에 포함된 cs50.h 파일 안에 string이라는 문자열 형식과

get_string 이라는 함수에 대한 코드가 포함되어 있어서

이 파일을 포함해야만 전체 코드를 컴파일 하고 실행할 수 있다.

 

터미널창에 아래 명령어를 입력하여 컴파일을 할 수 있다.

 

 

$make string 

이와 같이 작성한 코드를 컴파일 하고 실행하면, 

사용자에게 입력값을 받고 문장 내에 포함하여 출력하는 프로그램이 된다.

 


"좋아하는 음식을 알려주세요"로 질문해서 음식 이름을 food라는 변수에 저장하고,

이를 "내가 좋아하는 음식은"으로 출력해주는 코드를 작성하면,

 

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

int main(void)
{
string food = get_string("좋아하는 음식은?\n");
printf("내가 좋아하는 음식은 %s\n", food);
}

 

코드를 작성하여

string.c 파일을 터미널로 $clang string 명령어를 입력해서 string 파일을 생성하고

 $clang string 대신 $make string 으로도 생성 가능.

./string으로 실행하면, 

이렇게 나온다.