русс | укр

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

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Цикл DO - WHILE


Дата добавления: 2015-01-16; просмотров: 446; Нарушение авторских прав


Как уже отмечалось в главе 1, циклы WHILE и FOR обладаюттем приятным свойством, что в них проверка окончания осущес-твляется в начале, а не в конце цикла. Третий оператор циклаязыка "C", DO-WHILE, проверяет условие окончания в конце,после каждого прохода через тело цикла; тело цикла всегдавыполняется по крайней мере один раз. Синтаксис этого опера-тора имеет вид: DO операторWHILE (выражение) Сначала выполняется оператор, затем вычисляется выражение.Если оно истинно, то оператор выполняется снова и т.д. Есливыражение становится ложным, цикл заканчивается. Как и можно было ожидать, цикл DO-WHILE используетсязначительно реже, чем WHILE и FOR, составляя примерно пятьпроцентов от всех циклов. Тем не менее, иногда он оказывает-ся полезным, как, например, в следующей функции ITOA, кото-рая преобразует число в символьную строку (обратная функцииATOI). Эта задача оказывается несколько более сложной, чемможет показаться сначала. Дело в том, что простые методы вы-деления цифр генерируют их в неправильном порядке. Мы пред-почли получить строку в обратном порядке, а затем обратитьее.ITOA(N,S) /*CONVERT N TO CHARACTERS IN S */CHAR S[];INT N;{INT I, SIGN; IF ((SIGN = N) < 0) /* RECORD SIGN */ N = -N; /* MAKE N POSITIVE */I = 0;DO { /* GENERATE DIGITS IN REVERSE ORDER */ S[I++] = N % 10 + '0';/* GET NEXT DIGIT */} WHILE ((N /=10) > 0); /* DELETE IT */IF (SIGN < 0) S[I++] = '-'S[I] = '\0';REVERSE(S);} Цикл DO-WHILE здесь необходим, или по крайней мере удобен,поскольку, каково бы ни было значение N, массив S должен со-держать хотя бы один символ. Мы заключили в фигурные скобкиодин оператор, составляющий тело DO-WHILе, хотя это и необязательно, для того, чтобы торопливый читатель не принялчасть WHILE за начало оператора цикла WHILE. Упражнение 3-3 -------------- При представлении чисел в двоичном дополнительном коденаш вариант ITOA не справляется с наибольшим отрицательнымчислом, т.е. Со значением N рAвным -2 в степени м-1, где м -размер слова. объясните почему. Измените программу так, что-бы она правильно печатала это значение на любой машине. Упражнение 3-4 -------------- Напишите аналогичную функцию ITOB(N,S), которая преобра-зует целое без знака N в его двоичное символьное представле-ние в S. Запрограммируйте функцию ITOH, которая преобразуетцелое в шестнадцатеричное представление. Упражнение 3-5 --------------- Напишите вариант Iтоа, который имеет три, а не два аргу-мента. Третий аргумент - минимальная ширина поля; преобразо-ванное число должно, если это необходимо, дополняться слевапробелами, так чтобы оно имело достаточную ширину.


<== предыдущая лекция | следующая лекция ==>
Циклы - WHILE и FOR | Оператор BREAK


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.046 сек.