Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Функция стандартного ввода scanf()




Функция scanf() - функция форматированного ввода. С её помощью вы можете вводить данные со стандартного устройства ввода (клавиатуры). Вводимыми данными могут быть целые числа, числа с плавающей запятой, символы, строки и указатели.

Функция scanf() имеет следующий прототип в файле stdio.h:
int scanf(char *управляющая строка);

Функция возвращает число переменных которым было присвоено значение.

Управляющая строка содержит три вида символов: спецификаторы формата, пробелы и другие символы. Спецификаторы формата начинаются с символа %.

Спецификаторы формата:

%c чтение символа
%d чтение десятичного целого
%i чтение десятичного целого
%e чтение числа типа float (плавающая запятая)
%h чтение short int
%o чтение восьмеричного числа
%s чтение строки
%x чтение шестнадцатеричного числа
%p чтение указателя
%n чтение указателя в увеличенном формате

При вводе строки с помощью функции scanf() (спецификатор формата %s), строка вводиться до первого пробела!! т.е. если вы вводите строку "Привет мир!" с использованием функции scanf()

char str[80]; // массив на 80 символов
scanf("%s",str);

то после ввода результирующая строка, которая будет храниться в массиве str будет состоять из одного слова "Привет". ФУНКЦИЯ ВВОДИТ СТРОКУ ДО ПЕРВОГО ПРОБЕЛА! Если вы хотите вводить строки с пробелами, то используйте функцию

char *gets(char *buf);

С помощью функции gets() вы сможете вводить полноценные строки. Функция gets() читает символы с клавиатуры до появления символа новой строки (\n). Сам символ новой строки появляется, когда вы нажимаете клавишу enter. Функция возвращает указатель на buf. buf - буфер (память) для вводимой строки.

Хотя gets() не входит в тему этой статьи, но всё же давайте напишем пример программы, которая позволяет ввести целую строку с клавиатуры и вывести её на экран.

#include <stdio.h>

void main(void)
{
char buffer[100]; // массив (буфер) для вводимой строки

gets(buffer); // вводим строку и нажимаем enter
printf("%s",buffer); // вывод введённой строки на экран
}

Ещё одно важное замечание! Для ввода данных с помощью функции scanf(), ей в качестве параметров нужно передавать адреса переменных, а не сами переменные. Чтобы получить адрес переменной, нужно поставить перед именем переменной знак &(амперсанд). Знак & означает взятие адреса.

Что значит адрес? Попробую объяснить. В программе у нас есть переменная. Переменная хранит своё значение в памяти компьютера. Так вот адрес, который мы получаем с помощью & это адрес в памяти компьютера где храниться значение переменной.

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

Например:

scanf("%5s",str);

указывает необходимость прочитать из потока ввода первые 5 символов. При вводе 1234567890ABC массив str будет содержать только 12345, остальные символы будут проигнорированы. Разделители: пробел, символ табуляции и символ новой строки - при вводе символа воспринимаются, как и все другие символы.

Функция puts()

Функция puts() позволяет записать строку в стандартный выходной поток stdout. Строка должна оканчиваться нулем (символ '\0'). Этот символ не помещается в выходной поток. Вместо него записывается упрвляющий символ '\n', который переводит курсор в начало новой строки.

Функция имеет следующий прототип:

int puts(char *string);

Единственный параметр функции содержит указатель на отображаемую строку. При успешном выполнении функция возвращает ноль. Если же произошла ошибка, то возвращается ненулевая величина.

При использовании функции puts() необходимо включить директивой include файл stdio.h, содержащий спецификацию этой функции.

// использование функци puts

 

#include <stdio.h>

 

void main(void) {

puts("Работаетфункция puts!");

}

функция printf()
printf()

Стандартная функция форматированного вывода языка Си, с помощью которой осуществляется вывод данных в стандартный потокstdout в соответствии с форматом

функция scanf()
scanf()

Стандартная функция форматированного ввода языка Си, осуществляющая ввод со стандартного потокаstdin в соответствии с форматом

функция getchar()
getchar()

Стандартная функция языка Си для ввода символа

функция putchar()
putchar()

Стандартная функция языка Си для вывода символа

функция ungetc()
ungetc()

Стандартная функция языка Си для работы с символом

функция gets()
gets()

Стандартная функция языка Си для ввода строки

функция puts()
puts()

Стандартная функция языка Си для вывода строки

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных