Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Основные сведения

Rusa


Для начала давайте разработаем и составим п 11411p156l рограмму печати каждой строки ввода, которая содержит определенную комбинацию символов (это - специальный случай утилиты Grep системы Unix). Например, при поиске комбинации the



Now is the time

for all good

men to come to the aid

of their party

Now is the time

men to come to the aid

of their party

while (имеется еще строка)

if (строка содержит нужную комбинацию)

... // Вывод этой строки

getline printf, которую уже кто-то подготовил для нас. Это значит, что нам осталось только написать процедуру для определения, содержит ли строка данную комбинацию символов или нет. Мы можем решить эту проблему, позаимствовав разработку из PL/1: функция index(s,t) индекс, строки s t s t . В качестве начальной позиции мы используем 0, а не 1, потому что в языке «C» массивы начинаются с позиции нуль. Когда нам в дальнейшем понадобится проверять на совпадение более сложные конструкции, нам придется заменить только функцию index



index Программа также содержит новый вариант функции getline

#define maxline 1000

main() /* find all lines matching a pattern */

// Поместить строку в s и возвратить длину

int getline(char s[],int lim)

// Вернуть индекс t в s, или -1 в противном случае

int index(char s[], char t)

return

}

dummy()



return return

return (выражение)

return может не быть вообще никакого выражения; в этом случае в вызывающую программу не передается никакого значения. Управление также возвращется в вызывающую программу без передачи какого-либо значения и в том случае, когда при выполнении мы «проваливаемся» на конец функции, достигая закрывающейся правой фигурной скобки. Eсли функция возвращает значение из одного места и не возвращает никакого значения из другого места, это не является незаконным, но может быть признаком каких-то неприятностей. В любом случае «значением» функции, которая не возвращает значения, несомненно, будет мусор. Отладочная программа Lint проверяет такие ошибки.

Механика компиляции и загрузки «C»-программ, расположенных в нескольких исходных файлах, меняется от системы к системе.

1. В системе Unix, например, эту работу выполняет команда cc main.с getline.c index.с



cc main.c getline.c index.c

main.o getline.o index.o a.out

main.c

cc main.c getline.o index.o

cc и

2. В системe Windous XP при использовании оболочки Visual Studio и среды программирования Visual C++ используется прогрессивный «проектный» подход: в состав «рабочего пространства проекта» - Workspace в число исходных файлов - Source Files (см. рис. 1.1) нужно включить только исходные модули с суффиксами «.сpp» main.сpp getline.cpp index.сpp. Решение о том, что нужно перекомпилировать, а что не нужно, - принимает оболочка Visual Studio, причем без дополнительного набора каких-либо команд, как этого, например, требует Unix.

rindex(s,t) t s s t




Document Info


Accesari: 747
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )