Создание программы для ввода данных пользователя на языке C

CCBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабораторном занятии вы создадите программу на языке C, которая будет принимать ввод от пользователя. Вы настроите среду разработки, напишете базовую структуру программы, реализуете прием ввода имени и возраста от пользователя, а затем скомпилируете и запустите программу. Цель состоит в том, чтобы научиться принимать и обрабатывать ввод от пользователя в программе на языке C.

В лабораторном занятии описаны необходимые шаги, начиная от настройки среды разработки и создания нового исходного файла на языке C. Затем вы добавите базовую структуру программы, включая главную функцию, и приступите к реализации функциональности для приема ввода имени и возраста от пользователя. Наконец, вы скомпилируете и запустите программу, чтобы увидеть результаты.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/CompoundTypesGroup(["Compound Types"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/BasicsGroup -.-> c/variables("Variables") c/CompoundTypesGroup -.-> c/strings("Strings") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-438242{{"Создание программы для ввода данных пользователя на языке C"}} c/strings -.-> lab-438242{{"Создание программы для ввода данных пользователя на языке C"}} c/user_input -.-> lab-438242{{"Создание программы для ввода данных пользователя на языке C"}} c/output -.-> lab-438242{{"Создание программы для ввода данных пользователя на языке C"}} end

Настройка среды разработки

На этом шаге мы настроим среду разработки для создания программы на языке C, которая будет считывать ввод от пользователя. Мы будем использовать WebIDE для создания и управления файлами нашего проекта.

  1. Откройте терминал в WebIDE. Убедитесь, что вы находитесь в каталоге проекта по умолчанию:
pwd

Пример вывода:

/home/labex/project
Терминал, показывающий каталог проекта

Эта команда подтверждает, что вы находитесь в правильном начальном каталоге. /home/labex/project - это рабочее пространство по умолчанию для ваших лабораторных работ.

  1. Убедитесь, что компилятор GCC установлен:
gcc --version

Пример вывода:

gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Эта команда проверяет, что GNU Compiler Collection (GCC) доступен, который мы будем использовать для компиляции нашей программы на языке C.

Написание базовой структуры программы

На этом шаге мы создадим базовую структуру нашей программы на языке C, чтобы подготовиться к функциональности приема ввода от пользователя.

  1. Создайте новый исходный файл на языке C в каталоге проекта:
touch user_input.c

Команда touch создает новый пустой файл с именем user_input.c в текущем каталоге.

  1. Откройте файл в редакторе WebIDE, кликнув на имя файла в проводнике файлов или используя опцию Open File.
  2. Добавьте базовую структуру программы на языке C в файл user_input.c:
#include <stdio.h>

int main() {
    // Program code will go here
    return 0;
}

Разберем эту базовую структуру:

  • #include <stdio.h> включает стандартную библиотеку ввода-вывода, которая предоставляет такие функции, как printf() и scanf().
  • int main() - это главная функция, с которой начинается выполнение программы.
  • Пустая функция main() в настоящее время просто возвращает 0, что означает успешное выполнение.
  • Фигурные скобки { } определяют тело главной функции.
  1. Сохраните файл, используя комбинацию клавиш Ctrl+S или выбрав опцию Save в меню File.

Реализация ввода имени пользователя

На этом шаге мы модифицируем нашу программу на языке C для чтения и вывода имени пользователя с использованием функций ввода.

  1. Откройте файл user_input.c в редакторе WebIDE.
  2. Обновите программу, добавив функциональность ввода имени:
#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 символов плюс нулевой символ-терминатор.
  • printf("Enter your name: "); предлагает пользователю ввести свое имя.
  • scanf("%s", name); считывает строку из ввода пользователя и сохраняет ее в массиве name.
    • Спецификатор формата %s используется для чтения строк.
    • Обратите внимание, что scanf() с %s считывает до тех пор, пока не встретит пробел, поэтому он лучше всего работает с именами из одного слова.
  • printf("Hello, %s!\n", name); выводит приветствие с использованием введенного имени.
    • %s в строке формата заменяется значением переменной name.
  1. Сохраните файл, используя комбинацию клавиш Ctrl+S или выбрав опцию Save в меню File.

Мы скомпилируем и запустим программу, чтобы протестировать функциональность на последнем шаге, так что следите за обновлениями!

Добавление ввода возраста

На этом шаге мы расширим нашу программу, чтобы она считывала и выводила возраст пользователя вместе с его именем.

  1. Откройте файл user_input.c в редакторе WebIDE.
  2. Обновите программу, добавив функциональность ввода возраста:
#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("Enter your age: "); предлагает пользователю ввести свой возраст.
  • scanf("%d", &age); считывает целое число из ввода пользователя и сохраняет его в переменной age.
    • Спецификатор формата %d используется для чтения целых чисел.
    • Символ & перед age указывает на адрес памяти, куда должно быть сохранено введенное значение.
  • Теперь в последнем вызове printf() в выходном сообщении выводятся и имя, и возраст.
  1. Сохраните файл, используя комбинацию клавиш Ctrl+S или выбрав опцию Save в меню File.

Компиляция и запуск программы

На этом последнем шаге мы скомпилируем нашу программу на языке C и запустим ее, чтобы взаимодействовать с функциональностью ввода данных пользователя.

  1. Откройте терминал в WebIDE и перейдите в каталог проекта:
cd ~/project
  1. Скомпилируйте программу с использованием компилятора GCC:
gcc user_input.c -o user_input

Эта команда компилирует исходный файл user_input.c и создает исполняемый файл с именем user_input. Если в вашем коде есть ошибки, здесь будут отображены сообщения об ошибках.

  1. Запустите скомпилированную программу:
./user_input

Пример взаимодействия:

Enter your name: Alice
Enter your age: 25
Hello, Alice! You are 25 years old.

При запуске программы:

  • Сначала вам будет предложено ввести ваше имя.
  • Затем вас попросят ввести ваш возраст.
  • Программа выведет персонализированное приветствие с вашим именем и возрастом.
  1. Попробуйте запустить программу несколько раз с разными именами и возрастами, чтобы увидеть, как она работает.

Резюме

В этом практическом занятии вы настроили среду разработки, создав специальный каталог проекта, проверив установку компилятора GCC и написав базовую структуру программы на языке C. Затем вы реализовали функциональность ввода данных пользователя, которая позволяет программе считывать имя и возраст пользователя. Наконец, вы скомпилировали и запустили программу, чтобы увидеть результаты.

Основные аспекты обучения, охваченные в этом практическом занятии, включают настройку проекта на языке C, понимание базовой структуры программы и использование функции scanf() для ввода данных пользователя. Эти базовые навыки являются обязательными для создания более сложных приложений на языке C, которые взаимодействуют с пользователями.