Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Ввод-вывод в C: scanf() и printf() — подробное руководство

Ввод-вывод в C

Это руководство проведёт вас через использование scanf() для получения пользовательского ввода и printf() для вывода, с чёткими примерами и лучшими практиками.

Видео: Получение пользовательского ввода в C

Смотрите сопроводительное видео для живых демонстраций scanf() в действии.

Вывод в C

Функция printf() — основной инструмент для вывода форматированного текста в консоль. Ниже иллюстративные примеры.


Пример 1: Базовый текстовый вывод

#include <stdio.h>
int main() {
    printf("C Programming");
    return 0;
}

Вывод

C Programming

Программа печатает простую строку. Ключевые моменты:


Пример 2: Вывод целых чисел

#include <stdio.h>
int main() {
    int testInteger = 5;
    printf("Number = %d", testInteger);
    return 0;
}

Вывод

Number = 5

Спецификатор %d подставляет целочисленное значение в строку вывода.


Пример 3: Вывод чисел с плавающей точкой

#include <stdio.h>
int main() {
    float number1 = 13.5;
    double number2 = 12.4;
    printf("number1 = %f\n", number1);
    printf("number2 = %lf", number2);
    return 0;
}

Вывод

number1 = 13.500000
number2 = 12.400000

Используйте %f для float и %lf для double.


Пример 4: Вывод символа

#include <stdio.h>
int main() {
    char chr = 'a';
    printf("character = %c", chr);
    return 0;
}

Вывод

character = a

Печать одиночного символа через %c.


Ввод в C

Функция scanf() читает форматированные данные из стандартного ввода (обычно клавиатуры). Ниже практические примеры.


Пример 5: Ввод/вывод целого числа

#include <stdio.h>
int main() {
    int testInteger;
    printf("Enter an integer: ");
    scanf("%d", &testInteger);
    printf("Number = %d", testInteger);
    return 0;
}

Вывод

Enter an integer: 4
Number = 4

Оператор адреса & передаёт scanf() адрес памяти для сохранения ввода пользователя.


Пример 6: Ввод/вывод float и double

#include <stdio.h>
int main() {
    float num1;
    double num2;
    printf("Enter a number: ");
    scanf("%f", &num1);
    printf("Enter another number: ");
    scanf("%lf", &num2);
    printf("num1 = %f\n", num1);
    printf("num2 = %lf", num2);
    return 0;
}

Вывод

Enter a number: 12.523
Enter another number: 10.2
num1 = 12.523000
num2 = 10.200000

Пример 7: Ввод/вывод символа

#include <stdio.h>
int main() {
    char chr;
    printf("Enter a character: ");
    scanf("%c", &chr);
    printf("You entered %c.", chr);
    return 0;
}

Вывод

Enter a character: g
You entered g.

Символ внутренне представлен своим ASCII-кодом; печать через %c восстанавливает исходный символ.


Пример 8: Отображение ASCII-значения

#include <stdio.h>
int main() {
    char chr;
    printf("Enter a character: ");
    scanf("%c", &chr);
    printf("You entered %c.\n", chr);
    printf("ASCII value is %d.", chr);
    return 0;
}

Вывод

Enter a character: g
You entered g.
ASCII value is 103.

Обработка множественных входов

Сбор нескольких значений в одном вызове scanf() эффективен и лаконичен.

#include <stdio.h>
int main() {
    int a; float b;
    printf("Enter an integer and then a float: ");
    scanf("%d%f", &a, &b);
    printf("You entered %d and %f", a, b);
    return 0;
}

Вывод

Enter integer and then a float: -3 3.4
You entered -3 and 3.400000

Спецификаторы формата для ввода-вывода

Ниже — краткий справочник для распространённых типов C и их спецификаторов printf() / scanf().

Тип данныхСпецификатор формата
int%d
char%c
float%f
double%lf
short int%hd
unsigned int%u
long int%li
long long int%lli
unsigned long int%lu
unsigned long long int%llu
signed char%c
unsigned char%c
long double%Lf

Дополнительные спецификаторы и флаги

Полезные модификаторы формата:

Язык C

  1. Основы ввода-вывода в C#: Console.WriteLine, ReadLine и форматирование
  2. Освоение ввода и вывода в C++: практическое руководство
  3. Мастерство ввода-вывода и импорта модулей в Python: Практическое руководство
  4. Работа с файлами в Python: открытие, чтение, запись и управление
  5. Ввод и вывод в Java: печать, чтение и форматирование данных
  6. Axiomtek IPS960-511-PoE: All-in-One rugged визионный контроллер для промышленного контроля
  7. acceed EDAM-4200: Интегрированные I/O-модули для масштабируемой надежной передачи данных
  8. Потоки в C++: cout, cin, cerr, clog — практическое руководство
  9. D-защелки: проектирование, принцип работы и ключевые отличия от триггеров
  10. Ввод-вывод в C: stdio.h, потоки stdin/stdout/stderr, функции getchar/putchar, gets/puts, scanf/printf