Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab1-15.doc
Скачиваний:
12
Добавлен:
12.05.2015
Размер:
159.23 Кб
Скачать

- 9-

Информатика

Лабораторная работа 1-15-16

Лабораторная работа № 1-15

Работа с символьными строками в C

1. Цель работы

Целью работы является разработка, отладка и выполнение программы на C для операций над строками символов.

2. Состав рабочего места

2.1. Оборудование: IBM-совместимый персональный компьютер (ПК).

2.2. Программное обеспечение: операционная системаWindows, интегрированная оболочкаBorlandC++.

3. Краткие теоретические сведения

3.1. Ввод и вывод символов и строк

Чтение одного символа с клавиатуры можно выполнить как с помощью функции scanf(), та и с помощью функции

int getchar (void)

Эта функция не имеет параметров (часто параметр voidопускается) и возвращает следующий символ ввода.

Функция

int putchar (int)

выводит символ на экран дисплея и, в качестве результата, возвращает посланный символ.

Функцию getchar() можно использовать для ввода нескольких символов.

Ввод символов будет продолжаться до тех пор, пока во входном потоке не встретится символ точки.

Функция getchar() распознает в качестве вводимого символа также символ конца файла (при вводе с клавиатуры вMSDOSиWindowsэтот символ генерируется при нажатии клавишCtrl+Z). Конец файла задается в Cс помощью константыEOF, которая, как и функцииgetchar() иputchar(), определены вstdio.h. Кроме того, функция возвращает символEOFв том случае, если при выводе символа произошла ошибка.

Если необходимо ввести значение строки в программе, вначале нужно зарезервировать место в памяти для ее хранения, а затем использовать функцию ввода для загрузки строки.

Простейшее решение этой проблемы – включить в объявление явное указание размера массива.

Для ввода и вывода строк, помимо функций scanf()иprintf()можно использовать также функцииgets() иputs(). Эти функции также находится в разделеstdio.hстандартной библиотеки языкаC.

Функция

char *gets (имя-строки)

получает строку из стандартного устройства ввода сис­темы (обычно клавиатуры). Поскольку строка не име­ет заранее определенной длины, функция gets()нужда­ется в способе определения момента прекращения своей работы. Она считывает символы до тех пор, пока не до­стигнет символа перевода строки "\n", который генери­руется путем нажатия клавишиEnter. Функция прини­мает все символы вплоть до символа перевода строки (но, не включая его), дописывает нулевой символ "\0" и пе­редает строку вызывающей программе.

Сам символ пе­ревода строки считывается и отбрасывается, поэтому следующее считывание начинается с начала следующей строки. Функция gets()возвращает значение указателя на введенную строку, что можно использовать для обработки строки.

Если файл ввода закончен или обнаружена ошибка, функция gets()возвращает значениеNULL.

Функция

int puts(имя-строки);

выводит строку на стандартное устройство вывода системы (обычно дисплей). В отличие от функции printf(), при вы­воде функцияputs()автоматически осуществляет пере­ход на новую строку. Функцияputs()прекращает вывод, встретив символ "\0", поэтому необходимо, чтобы строка содержала такой символ. Функция возвращает последний записанный символ "\n" илиEOF(в случае ошибки).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]