русс | укр

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

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

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

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


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

Оператор цикла for, while и do-while


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


Совместное использование операторов if-else-if и switch

В следующем программном примере перечисляемый тип (enum) используется для выполнения необходимых преобразований единиц измерения длины:

#include <stdio.h>

main()

{

int iuser response;

C_TYPE C_Tconversion;

int ilength=30;

float fmeasurement;

/* Укажите единицы измерения для преобразования : */

printf("\nPlease enter the measurement to be converted : ");

scanf ("%f", &f measurement) ;

/* Введите :

0 — ярды

1 — дюймы

2 — сантиметры

3 — метры */

printf("\nPlease enter : \

\n\t\t 0 for YARDS \

\n\t\t I for INCHES \

\n\t\t 2 for CENTIMETERS \

\n\t\t 3 for METERS \

/* Ваш ответ -->> */

\n\n\t\tYour response -->> ");

scanf ("%d",&iuser response);

switch(iuser_response) {

case 0 : C_Tconversion = YARDS;

break;

case 1 : C_Tconversion = INCHES;

break;

case 2 : C_Tconversion = CENTIMETERS;

break;

default : C_Tconversion = METERS;

}

if(C_Tconversion == YARDS)

fmeasurement = ilength / 3;

else if(C_Tconversion == INCHES)

fmeasurement = ilength * 12;

else if(C_Tconversion == CENTIMETERS)

fmeasurement = ilength * 12 * 2.54;

else if(C_Tconversion === METERS)

fmeasurement = (ilength * 12 * 2.54)/100;

else

printf("No conversion required"); /* Преобразование не требуется */

switch (C_Tconversion) {

case YARDS : printf ("\n\t\t %4.2f yards",fmeasurement); break;

case INCHES : printf ("\n\t\t %4.2f inches",fmeasurement); break;

case CENTIMETERS : printf("\n\t\t %4.2f centimeters",fmeasurement);

break;

default : printf("\n\t\t %4.2f meters",f measurement);

}

return(0);

}

В этом примере для указанного пересчета единиц длины используется перечисляемый тип данных. В стандартном С перечисляемые типы существуют только внутри самой программы (для обеспечения читабельности программы), и значения входящих в них переменных нельзя задавать или выводить непосредственно. Первый оператор switch в программе предназначен для преобразования введенного кода в соответствующий тип C_Tconversion. Нужное преобразование выполняется при помощи вложенных операторов if-else-if. В последнем операторе switch печатается преобразованное значение и название единицы измерения. Конечно же, вложенные операторы if-else-if можно было бы записать при помощи оператора switch. (Дальнейшее обсуждение перечисляемых типов можно найти в главе 12.)



Основное различие циклов for и циклов while или do-while заключается в определении числа повторений цикла. Циклы for обычно используются тогда, когда существует заранее определенное число необходимых повторений; циклы while и do-while нужны при "неизвестном" количестве повторений.

 

Повторяющиеся процессы (циклы)

 

Цикл - многократно повторяющаяся часть программы. Циклы бывают: счетные и итерационные.

Счетные циклы - циклы с известным числом повторений. Характеризуются началом цикла к=0, концом цикла n и шагом h.

Итерационные циклы - циклы, повторяющиеся до тех пор, пока не будет достигнута заданная точность.

 

Существуют следующие циклы: for, while, do-while.

Синтаксис:

 

for([необязат. выр.];[необязaт. выр. 2];[необязат. выр. 3])

<оператор> или <группа операторов>

 

Если for( ; ; ), то получается бесконечный цикл.

Все три параметра позиционно зависимы, поэтому если какой-либо из параметров отсутствует, его позиция определяется точкой с запятой. Хотя каждое из трех выражений может быть использовано как угодно, обычно первое выражение служит для инициализации начального значения цикла, второе выражение служит для выполнения проверки окончательного цикла, а третье выражение - для изменения значения параметра цикла.

 

for(ch=1; ch<100; ch++)

printf(“%d”, ch)

 

Цикл for может не выполнится ни разу, если условие ложно. В операторе цикла можно использовать

 

for(sym=’a’; sym<’z’; sym++)

printf(“%c”, sym);

 

Выдадутся все буквы от a до z.

 

Пример:

 

1) ввод чисел от100 до 2 в обратном порядке

2) ввод чисел до появления числа 9999 и вычисление среднего арифметического

 

#include <stdio.h>

#include <conio.h>

void main()

{ long int i, k=1;

int x,s;

float sr;

clrscr();

for(i=100; i>0; (k%10= =0) ? printf(“\n”) : printf(“%d”,i), k+ +, i- =2);

// Ввод чисел и вычисление среднего арифметического

k=0; //счетчик чисел

s=0; // сумма чисел

printf(“\n Введите числа конец ввода 9999 \n”);

printf(“x=”);

for( ; scanf(“%d”, &x), x!= 9999; k++)

{ printf(“\n x =”);

s+ =x; // сумма

}

 

sr=(float) s/k;

printf(“\n Введено %d чисел \n сумма чисел = %d \t среднее арифметическое = %f \n”, k, s, sr );

}



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


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


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

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

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


 


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

 
 

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

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