русс | укр

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

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

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

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


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

Цикл while


Дата добавления: 2013-12-23; просмотров: 853; Нарушение авторских прав


 

Цикл while является циклом с предусловием. В программе проверка_условия осуществляется до выполнения оператора или операторов, входящих в тело цикла. Циклы с предусловием могут либо не выполняться вообще, либо выполняться множество раз. Синтаксис:

while (проверка_условия)

оператор;

В циклах while с несколькими операторами необходимы фигурные скобки:

while (проверка_условия) {

оператор1;

оператор2;

оператор3;

операторN;}

Обычно управляющие структуры циклов while используются тогда, когда число повторений цикла — неизвестно.

Пример: цикл while используется для определения того, сколько раз переменную lvalue сдвигать вправо. Программа печатает двоичное представление целого числа со знаком.

#include <stdio.h>

#define WORD 16

#define ONE_BYTE 8

main()

{

int lvalue = 256, ibit_position=1;

unsigned int umask == 1;

/* Следующее значение ... */

printf ("The following value %d,\n", lvalue);

/* в двоичном виде выглядит так: */

printf("in binary form looks like: ");

while (ibit_position <= WORD) {

if ((ivalue >> (WORD - ibit_position)) & umask) /*сдвинуть каждый */

printf ("1"); /*разряд в 0-ю */

else /*позицию и */

printf ("0"); /*сравнить с umask*/

if(ibit_position == ONE_BYTE)

printf(" ");

ibit_position++;

}

return(0);

}

Константа WORD используется как флаг, определяющий окончание цикла while. В цикле while переменная lvalue сдвигается, сравнивается с umask, и печатается следующий старший разряд числа. Такой алгоритм позволяет использовать простой оператор printf() для вывода результата.

Пример: у пользователя запрашиваются имена входного и выходного файлов. В цикле while выполняется считывание и эхо-печать входного файла неопределенного размера.



#include <stdio.h>

#include <process.h>

#define sz_TERMINATOR 1 /* sz, признак null-строки */

#define MAX_CHARS 30

main()

{

int c;

FILE *ifile, *ofile;

char sziDOS_file_name[MAX_CHARS + sz_TERMINATOR],

szoDOS_file_name[MAX_CHARS + sz_TERMINATOR];

/* Укажите имя файла: */

fputs("Enter the input file's naine: ",stdout);

gets(sziDOS_fiie_name);

if((ifile=fopen(sziDOS_file_naine,"r")) == NULL) {

/* Файл ... невозможно открыть */

printf("\nFile: %s cannot be opened", sziDOS_fiie_name);

exit; }

/* Укажите имя выходного файла */

fputs("Enter the output file's name: ",stdout);

gets(szoDOS_file_name);

if ((ofile=fopen (szoDOS_file_name, "w")) == NULL) {

/* Файл ... невозможно открыть */

printf ("\nFile: %s cannot be opened", szoDOS_file name);

exit;

}

while(!feof(ifile)) {

c=fgetc(ifile);

fputc(c,ofile);

}

return(0);

}



<== предыдущая лекция | следующая лекция ==>
Циклы for | Цикл do-while


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


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

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

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


 


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

 
 

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

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