Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Оператор множественного выбора




Оператор if...else осуществляет выбор между двумя (условиями) вариантами. Но иногда нужно сделать выбор из нескольких вариантов. Это можно сделать с помощью if-else if-else. Иногда удобнее применить оператор switch.

Switch (целое выражение)

{

case конст1:

Оператор;

case конст2:

Оператор;

default:

Оператор;

}

 

В начале вычисляется выражение в скобках за ключевым словом. Затем просматривается список меток case 'a': пока не будет найдена, соответствующая этому значению. Если нет такой метки, то будет выполнен default. Метка default может отсутствовать, тогда оператор switch ничего не выполнит и программа перейдет на следующий оператор. Оператор break служит для выхода из оператора switch и перехода к следующему оператору. Метки в операторе switch должны быть константами целого типа, включая chаr. Могут следовать несколько меток подряд.

 

//пример программы на множественный выбор

#include <stdio.h>

void main(void)

{

int x, y;

char c;

printf("Введите 2 целых числа и знак операции");

scanf(“ %d %d %c”, &x, &y, &c);

switch (c) {

case '+': printf("x + y = %3d\n”, x+y);

break;

case '-': printf("x - y = %3d\n”, x-y);

break;

case '*': printf("x * y = %3d\n”, x*y);

break;

case '/': printf("x / y = %3d\n”, x/y);

break;

default:

printf("Такой операции нет!\n);

}

}

Операторы цикла while

Цикл – это многократно повторяющиеся действия или группа действий.

Операторы цикла могут быть трех видов: с предусловием, с постусловием, со счетчиком.

а) с предусловием:

Оператор while состоит из трех частей: это ключевое слово while, затем в круглых скобках указывается проверяемое условие, и тело цикла - оператор, который выполняется, если условие истинно (таких операторов может быть несколько, тогда они заключаются в {} и получается составной оператор). Если оператор один, то действие оператора while распространяется от ключевого слова while до ‘;’.

while (условное выражение) или while (условное выражение){

Оператор; операторы;

}

 

Схема выполнения цикла

 
 

 


while Истина

 

 

Ложь (переход к следующей операции)

 

Тело цикла может состоять из нескольких операторов. В этом случае оно заключается

в фигурные скобки.

 

Пример 1: Пример 2:

index = 0; index = 0;

while (index++ < 10) while (index++ < 10) {

sum = 10*index + 2; sum = 10*index + 2;

printf ("sum = % d \n", sum); printf ("sum = % d \n", sum);

}

В примере 1 в цикл включен только один оператор присваивания. Печать данных будет производиться только 1 раз – после завершения цикла (будет выведено – sum=102). В примере 2 в цикл включено два оператора, поэтому печать результатов будет выводиться на каждом шаге работы цикла.

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

Последовательность действий, состоящая из проверки выражения и выполнения оператора, периодически повторяется до тех пор, пока выражение не станет ложным. Каждый такой шаг называется «итерацией».

 

//Пример программы с циклом while

#include <stdio.h>

void main(void)

{

int guess=1;

char res;

printf("Задумайте число от 1 до 100. Я попробую его угадать");

printf("\n Отвечайте д, если моя догадка верна и”);

printf(«\n н, если я ошибаюсь.\n»);

printf("Итак ваше число %d?\n", guess);

while((res=getchar())!= 'д')

if(res!='\n')

printf("Тогда оно равно %d?\n", ++guess);

printf("Ура, я угадала!!!");

}

б) Оператор цикла с постусловием (истинность условия проверяется после выполнения каждой итерации цикла. Решение, выполнять или нет очередной раз тело цикла, принимается после выполнения всех итераций). Этот цикл всегда выполняется хотя бы 1 раз.

do или do {

Оператор; операторы;

while (условное выражение); } while (условное выражение);

 

Проверка истинности осуществляется после выполнения оператора или блока операторов. Хотя бы один раз этот цикл будет выполнен.

 

Схема выполнения цикла

 
 


Do while Истина

 

 

Ложь

 

Рассмотрим два примера:

Пример 1 Пример 2

do { while((ch = getchar())! = '\n')

ch = getchar(); putchar (ch);

putchar (ch);

} while(ch! = '\n')

 

Функция getchar() получает один символ, поступающий с клавиатуры и передает его программе, аргументов она не имеет. Функция putchar получает один символ, поступающий из программы, и пересылает его для вывода на экран, эта функция имеет один аргумент, т.е. в скобках необходимо указывать символ, который будет выведен на печать. Можно использовать эту функцию в следующем виде: putchar(getchar()) – эта запись компактна и не требует введения вспомогательных переменных.)

Во втором примере на экран будут выводиться все символы до появления символа «новая строка». А в первом примере будут выводиться все символы, включительно и символ «новая строка» (только после печати этого символа, если он введен, в цикле производится проверка символа «новая строка» и действие цикла завершается).

Цикл выполняется хотя бы один раз, так как проверка осуществляется только после его завершения.





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


Дата добавления: 2016-11-23; Мы поможем в написании ваших работ!; просмотров: 585 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Человек, которым вам суждено стать – это только тот человек, которым вы сами решите стать. © Ральф Уолдо Эмерсон
==> читать все изречения...

2303 - | 2154 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.