C 언어 사용자 입력 읽기

CBeginner
지금 연습하기

소개

이 랩에서는 C 프로그래밍 언어에서 scanf() 함수를 사용하여 사용자 입력을 읽는 방법을 배우게 됩니다. scanf() 함수는 사용자로부터 입력을 읽는 강력한 도구이며, 표준 입출력 라이브러리 stdio.h에 정의되어 있습니다. C 는 다양한 데이터 형식을 지원하는 강력한 형식 언어입니다. 이 랩에서는 사용자 입력을 읽고 표시하기 위해 charint 데이터 형식을 사용하는 데 중점을 둡니다.

개발 환경 설정

이 단계에서는 개발 환경을 설정하고 프로그램에 사용할 새로운 C 파일을 생성합니다.

  1. WebIDE 에서 터미널을 엽니다. 기본적으로 /home/labex/project 디렉토리에 있어야 합니다. 확실하지 않은 경우 pwd (print working directory, 현재 작업 디렉토리 출력) 를 입력하여 현재 위치를 확인할 수 있습니다.

  2. 다음 명령을 사용하여 user_input.c라는 새 파일을 생성합니다.

    touch user_input.c
    

    touch 명령은 존재하지 않는 경우 새 빈 파일을 생성하거나, 기존 파일의 타임스탬프를 업데이트합니다.

  3. WebIDE 편집기에서 user_input.c 파일을 엽니다. WebIDE 왼쪽의 파일 탐색기에서 파일 이름을 클릭하거나, File 메뉴에서 Open File 옵션을 사용하여 이 작업을 수행할 수 있습니다.

기본 프로그램 구조 작성

이 단계에서는 C 프로그램의 기본 구조를 작성합니다.

  1. user_input.c 파일에 다음 코드를 추가합니다.

    #include <stdio.h>
    
    int main() {
        // We will add our code here
        return 0;
    }
    

    자세히 살펴보겠습니다.

    • #include <stdio.h>는 컴파일러에게 표준 입출력 라이브러리를 포함하도록 지시합니다. 이 라이브러리에는 입출력을 위해 사용할 printf()scanf()와 같은 함수가 포함되어 있습니다.
    • int main()은 프로그램 실행이 시작되는 main 함수입니다. 모든 C 프로그램에는 main 함수가 있어야 합니다.
    • 중괄호 { }는 main 함수의 본문을 정의합니다.
    • main 의 끝에 있는 return 0;은 프로그램이 성공적으로 실행되었음을 나타냅니다.
  2. 파일을 저장합니다. Ctrl+S 를 누르거나 File 메뉴에서 Save를 선택하여 이 작업을 수행할 수 있습니다.

이름 입력을 위한 구현

이제 사용자의 이름을 읽는 기능을 구현해 보겠습니다.

  1. user_input.c 파일을 수정하여 main() 함수 내에 다음 코드를 포함합니다.

    #include <stdio.h>
    
    int main() {
        char name[100];
    
        printf("Enter your name: ");
        scanf("%s", name);
    
        printf("Hello, %s!\n", name);
    
        return 0;
    }
    

    각 새로운 줄의 기능은 다음과 같습니다.

    • char name[100];은 최대 99 개의 문자 및 null 종결자를 저장할 수 있는 문자 배열 (문자열) 을 선언합니다.
    • printf("Enter your name: ");은 사용자에게 이름을 입력하라는 메시지를 표시합니다.
    • scanf("%s", name);은 사용자 입력에서 문자열을 읽어 name 배열에 저장합니다. %s 형식 지정자는 문자열을 읽는 데 사용됩니다.
    • printf("Hello, %s!\n", name);은 사용자가 입력한 이름을 사용하여 인사를 출력합니다. 형식 문자열의 %sname의 값으로 대체됩니다.
  2. 파일을 저장합니다.

나이 입력 추가

프로그램을 확장하여 사용자의 나이도 묻도록 하겠습니다.

  1. user_input.c 파일을 수정하여 나이 입력을 포함합니다.

    #include <stdio.h>
    
    int main() {
        char name[100];
        int age;
    
        printf("Enter your name: ");
        scanf("%s", name);
    
        printf("Enter your age: ");
        scanf("%d", &age);
    
        printf("Hello, %s! You are %d years old.\n", name, age);
    
        return 0;
    }
    

    여기서 새로운 내용은 다음과 같습니다.

    • int age;는 사용자의 나이를 저장하기 위한 정수 변수를 선언합니다.
    • 나이를 묻고 읽기 위해 다른 printf()scanf() 쌍을 추가했습니다.
    • scanf("%d", &age);는 사용자 입력에서 정수를 읽습니다. %d 형식 지정자는 정수에 사용됩니다. age 앞에 &가 있다는 점에 유의하십시오. 이는 scanf()가 입력을 저장하기 위해 변수의 메모리 주소가 필요하기 때문입니다.
    • 최종 printf()는 이제 출력 메시지에 나이를 포함합니다.
  2. 파일을 저장합니다.

프로그램 컴파일 및 실행

이 마지막 단계에서는 C 프로그램을 컴파일하고 실행하여 결과를 확인합니다.

  1. 터미널에서 user_input.c 파일이 있는 디렉토리로 이동합니다.

    cd /home/labex/project
    

    이 단계는 올바른 디렉토리에 있는지 확인합니다. 이미 해당 디렉토리에 있는 경우 "cd: no such file or directory"라는 메시지가 표시되지만 무시해도 됩니다.

  2. GCC 컴파일러를 사용하여 프로그램을 컴파일합니다.

    gcc user_input.c -o user_input
    

    이 명령은 GCC 에게 user_input.c를 컴파일하고 user_input이라는 실행 파일을 생성하도록 지시합니다. 코드에 오류가 있는 경우 여기에 오류 메시지가 표시됩니다. 그런 경우 코드로 돌아가 오류를 수정하고 다시 컴파일을 시도하십시오.

  3. 컴파일된 프로그램을 실행합니다.

    ./user_input
    

    ./는 셸에게 현재 디렉토리에서 프로그램을 찾도록 지시합니다.

Terminal compiling C program

  1. 프로그램은 이름과 나이를 입력하라는 메시지를 표시합니다. 응답을 입력하고 각 입력 후 Enter 키를 누릅니다.

  2. 이름과 나이가 포함된 개인화된 인사 메시지가 표시됩니다.

문제가 발생하면 오타가 있는지 코드를 다시 확인하고 컴파일하기 전에 모든 변경 사항을 저장했는지 확인하십시오.

요약

이 랩에서는 scanf() 함수를 사용하여 C 에서 사용자 입력을 읽는 방법을 배웠습니다. 사용자의 이름과 나이를 묻고, 입력을 읽고, 개인화된 인사 메시지를 표시하는 프로그램을 만들었습니다. 이 연습을 통해 C 의 기본 입/출력 연산, 다양한 데이터 유형 (문자열의 char 배열 및 정수의 int) 작업, C 프로그램 컴파일 및 실행 프로세스를 소개했습니다.

주요 내용:

  1. scanf() 함수는 사용자로부터 입력을 읽는 데 사용됩니다.
  2. 읽는 입력 유형에 따라 다른 형식 지정자 (%s는 문자열, %d는 정수) 가 사용됩니다.
  3. scanf()로 정수 또는 다른 문자열이 아닌 유형을 읽을 때는 변수의 주소를 전달하기 위해 & 연산자를 사용해야 합니다.
  4. 컴파일 프로세스는 C 코드를 실행 가능한 프로그램으로 변환합니다.

이러한 기본적인 기술은 더 복잡한 C 프로그래밍 작업의 기초를 형성하며 프로그래밍 능력을 계속 배우고 개발하는 데 유용할 것입니다. 기억하세요, 프로그래밍에서는 연습이 중요합니다. 이 프로그램을 수정하거나 새로운 프로그램을 만들어 배운 내용을 강화해 보세요!