Язык программирования C

Скачать в pdf «Язык программирования C»


Управляющие комбинации, используемые в строковых константах, разрешаются также и в символьных константах, так что, например, ‘ п’ обозначает символ конца строки с ASCII-кодом, равным 10. Уясните себе важное различие: константа 1 п’ — это один символ, и в выражениях она является просто целым числом, тогда как «п» — это строковая константа, которая по случайности содержит всего один символ. Тема строковых и символьных констант рассматривается более подробно в главе 2.


Упражнение 1.8. Напишите программу для подсчета пробелов, знаков табуляции и символов конца строки.


Упражнение 1.9. Напишите программу для копирования входного потока в выходной с заменой каждой строки, состоящей из одного или нескольких пробелов, одним пробелом.


Упражнение 1.10. Напишите программу для копирования входного потока в выходной с заменой знаков табуляции на t, символов возврата назад (Backspace) на Ь, а обратных косых черт— на . Это сделает табуляции и символы возврата легко читаемыми в потоке.

1.5.4. Подсчет слов


Четвертая программа из нашей серии полезных утилит для обработки текстовых потоков подсчитывает строки, слова и символы. Используется нестрогое определение слова как последовательности символов, не содержащей пробелов, табуляций и символов новой строки. Это сильно урезанный “скелет” программы wc для системы Unix.


#define IN 1    /* внутри слова */


#define OUT 0    /* снаружи слова */


/* подсчет строк, слов и символов во входном потоке */ main()

{


int с, nl, nw, nc, state;


state = OUT;


nl = nw = nc = 0;


while ( (c = getcharO) != EOF) {


++nc;


if (c == ‘n’)


++nl;

Скачать в pdf «Язык программирования C»