|
Введение в c++Разрешается также использование экранированных последовательностей, как символьные константы, поэтому '\ n' означает значение символа новой строки, равное 10 в ASCII. Вам следует обратить внимание на то, что '\ n' - это единственный знак и в выражениях является просто целым числом, с другой стороны, "\ n" - это цепную константа, которая, так случилось, что содержит только один знак. 1.5.4 Отсчет слов Четвертая, с нашего набора полезных программ, подсчитывает строки, слова и знаки, с приблизительным определением, что слово - это любая последовательность знаков, не содержащий пробелов, табуляции или новой строки. Это упрощенная версия UNIX-программы wc. # Include # Define IN 1 / * внутри слова * / # Define OUT 0 / * внешне слова * / / * Подсчитывает строки, слова и знаки ввода * / main () { int c, nl, nw, nc, state; state = OUT; nl = nw = nc = 0; while ((c = getchar ())! = EOF) { + + Nc; if (c == '\ n') + + Nl; if (c == '' | | c == '\ n' | | c = '\ t') state = OUT; else if (state == OUT) { state = IN; + + Nw; } } printf ("% d% d% d \ n", nl, nw, nc); } Каждый раз, как программа встречает первый знак слова, она добавляет к счету еще одно слово. Переменная state записывает, или программа в данный момент находится внутри слова или нет, изначально она не "в слове", имея значение OUT. Мы предпочитаем символическим константам IN и OUT перед буквальными значениями 1 и 0, поскольку первые делают программу понятнее. Если это маленькая программа как вот эта, разница не ощутима, но в больших программах, улучшение прочитности стоит этого небольшого усилия - написать именно так с самого начала. Вы также придете к выводу, что гораздо легче внедрять широкие изменения в программах, где "магические" числа появляются только как символические константы. Продолжение статьи: ч.1 Продолжение статьи: ч.2 Продолжение статьи: ч.3 Продолжение статьи: ч.4 Продолжение статьи: ч.5 Продолжение статьи: ч.6 Продолжение статьи: ч.7 Продолжение статьи: ч.8 Продолжение статьи: ч.9 Продолжение статьи: ч.10 Продолжение статьи: ч.11 Продолжение статьи: ч.12 Продолжение статьи: ч.13 Продолжение статьи: ч.14 Продолжение статьи: ч.15 Продолжение статьи: ч.16 Продолжение статьи: ч.17 Продолжение статьи: ч.18 Продолжение статьи: ч.19 Продолжение статьи: ч.20 Продолжение статьи: ч.21 Продолжение статьи: ч.22 Продолжение статьи: ч.23 Продолжение статьи: ч.24 Другие статьи по теме: - Внешние переменные и область действия- Введение в c++ - Символьные массивы - Функции и структура программ - Типы, операторы и выражения |
|
2006-2024 © SMTI.RU Главная страница | Связаться с нами |