Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оператор цикла for




Тема 14. Реализация циклических алгоритмов.

Оператор goto.

Break

Default

Case

Таких операторов выбора case может быть очень много, так как это просто различные варианты значений. Но работать будет именно тот оператор case, который будет равен нашему "определенному значению"

Оператор выбора default будет выполняться, если ни один из операторов выбора case не содержит нужного числа. Т.е. если ничего не совпало с "определенным значением", то будет выполняться оператор по умолчанию - default. Двоеточие в конце операторов case значение: и default: являются обязательными.

Оператор break является своего рода остановкой выполнения условия, т.е. с его помощью сразу же завершаем выполнение оператора выбора и дальше продолжается выполнение программы.

Зачем пользоваться оператор break, когда оператор выбора и без него сам завершит свою работу. Он позволяет безусловно прекратить выполнение альтернативных операторов.

Например:

1) составить программу, которая в зависимости от порядкового номера дня недели (1..2) выводит на экран его название (понедельник, вторник..., воскресенье)

#include <iostream.h>

#include <conio.h>

int main(int argc, char* argv[])

{ int day;

cin >> day;

switch(day){

case 1:

cout << "Понедельник";

break;

case 2:

cout << "Вторник";

break;

case 3:

cout << "Среда";

break;

case 4:

cout << "Четверг";

break;

case 5:

cout << "Пятница";

break;

case 6:

cout << "Суббота";

break;

case 7:

cout << "Воскресенье";

break;

}

getch();

return 0;

}

2) доработать книгу служащих, чтобы по введенному инициалу выводился полный пол. (М - мужчина, Ж - женщина)

#include <iostream.h>

#include <conio.h>

int main(int argc, char* argv[])

{

char pol;

cin >> pol;

switch(pol){

case 'Ж':

cout << "Женщина";

break;

case 'M':

cout << "Мужчина";

break;

}

getch();

return 0;

}

Использование оператора безусловного перехода goto в практике программирования на языке С настоятельно не рекомендуется, так как он затрудняет понимание программ и возможность их модификаций.

Формат этого оператора следующий:

goto имя-метки;

...

имя-метки: оператор;

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

Синтаксис оператора цикла for:

for (начальное значение; условие окончания цикла; шаг итерации) { тело цикла; }

 

Ну а вот реальный пример цикла:

for (int i = 0; i < 10; i++){ //тело цикла; }

Т.е. задали начальное значение, равное 0; определили условие окончания оператора цикла (i < 10); и выбрали шаг итерации (i++). Причем ни какой из параметров цикла не является обязательным. Т.е. можно и вот так записать цикл for:

for (;;){ //тело; }

Правда это выйдет бесконечный цикл.

Примеры:

1) Вывести первые 10 чисел

int chislo = 0;

for (; chislo < 10; chislo++){ printf ("%d\t", chislo); }

2) Нужно создать цикл, причем условие окончания цикла, т.е. число вы должны сами определить, введя его с клавиатуры

int chislo;

scanf ("%d", &chislo);

for (int i = 0; i < chislo; i++){ printf ("%d\t", chislo); }

Инициализировать (задать первоначальные значения) переменные можно в самом начальном значении. Это очень удобно, так как созданная переменная имеет область действия только лишь - оператор цикла for.

Так же в начальном шаге можно инициализировать сразу несколько переменных, иногда это необходимо:

for (int a = 5, int b = 0; a < 9 || b > 4;){ //тело; }

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

Примеры:

1) Подсчитать количество натуральных чисел n (102 < n > 987), в которых все три цифры различны

#include <iostream.h>

#include <conio.h>

int main(int argc, char* argv[])

{

int edinici, decjatki, sotni, tri_razlichni=0;

for (int n=102; n < 967; n++) {

sotni = n / 100;

decjatki = (n % 100)/10;

edinici = n % 10;

if (sotni!= decjatki!= edinici)

tri_razlichni++;

}

cout << "Всего различных: " << tri_razlichni << "чисел";

getch();

return 0;

}

2) вводим любое число с клавиатуры и нужно определить является ли оно простым (делится на единицу и на само себя)

#include <stdio.h>

#include <conio.h>

int main()

{ int a, count=0;

printf ("Vvedite luboe chislo:");

scanf ("%d",&a);

for (int i=2; i<a; i++){ if (a%i == 0) count++; }

if (count == 0)

printf ("chislo prostoe\n");

else

printf("Chislo ne prostoe\n");

}.




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 473; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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