Escape-последовательности.
В строках языка С для представления специальных (например, непечатаемых) символов используются escape-последователъности, состоящие из обратной дробной черты, за которой следует один или несколько символов. Например, последовательность — \n. Сама обратная косая черта называется escape-символом..
Escape-последовательности языка С
Последовательность | Название | Описание |
\а | Звонок | Подает звуковой сигнал. |
\b | Возврат на шаг | Возврат курсора на одну позицию назад. |
\f | Перевод страницы | Начинает новую страницу. |
\n | Перевод строки | Начинает новую строку. |
\r | Возврат каретки | Возврат курсора к началу текущей строки. |
\t | Табуляция | Переход к следующей позиции табуляции. |
\v | Вертикальная табуляция | Переход на несколько строк вниз. |
\\ | Выводит обратную дробную черту. | |
\' | Выводит апостроф (одинарную кавычку). | |
\" | Выводит кавычку (двойную). |
Еsc-последовательности могут представлять символы в ASCII-коде — в восьмеричном или шестнадцатеричном формате:
\000 (от одной до трех восьмеричных цифр после esc-символа).
\хНН или \ХНН (Одна или две шестнадцатеричных цифры после esc-символа).
Функции ввода строки — scanf() и gets()
Функция scant () читает данные со стандартного ввода, по умолчанию — клавиатуры. Она так же, как и printf (), принимает строку формата с несколькими спецификаторами преобразования и несколько дополнительных параметров, которые должны быть адресами переменных, куда будут записаны введенные значения.
В языке С функция не может изменять значение передаваемых ей аргументов, поскольку ей передается только временная копия содержимого соответствующей переменной. Это называется передачей параметра по значению. В языке Pascal возможна также передача по ссылке, позволяющая функции изменить саму переменную-аргумент. Параметр, передаваемый по ссылке, объявляется с ключевым словом var. В С нет автоматического механизма передачи по ссылке. Чтобы передать из функции некоторое значение через параметр, ее вызывают с указателем на переменную (грубо говоря, ее адресом), подлежащую модификации. Функция не может изменить переданный ей аргумент, т. е. сам адрес, но она может записать информацию в память по этому адресу. Адрес получают с помощью операции &.
Пример вызова scanf ():
int age;
printf("Enter your age: "); //' Запросить ввод возраста пользователя.
scanf ("%d", &age); // Прочитать введенное число.
Ввод строки с клавиатуры производится функцией gets ():
char s[80] ;
gets (s) ;
S – это массив из 79 символов. Одна дополнительная позиция необходима для хранения признака конца строки \0. Функции обработки строк сами распознают эти символы или, как gets (), автоматически добавляют нуль-символ в конец строки-результата. Функция gets () возвращает данные через параметр, поэтому ей нужно передать в качестве параметра адрес соответствующего символьного массива. Операция взятия адреса, однако, здесь не нужна, поскольку имя массива (без индекса) само по себе является указателем на начало массива. Показанная нотация эквивалентна
gets(&s[0]);
// Аргумент - указатель на начальный элемент массива s.
Для преобразования строк, содержащих цифровое представление чисел, в численные типы данных могут применяться функции atoi(), atol() и atof(). Они преобразуют строки соответственно в целые, длинные целые и вещественные числа (типы int, long и double). Входная строка может содержать начальные пробелы; первый встреченный символ, который не может входить в число, завершает преобразование. Прототипы этих функций
Char s[80];
Int number;
Printf(“enter telefone number: ”);
Gets(s);
Number=atoll(s); // в переменной Number введенная строка будет представлена в числовом виде.