X

Код презентации скопируйте его

Ширина px

Вы можете изменить размер презентации, указав свою ширину плеера!

Простые и составные операторы

Скачать эту презентацию

Презентация на тему Простые и составные операторы

Скачать эту презентацию

Cлайд 1
Простые и составные операторы Если ветвь условной конструкции или тело цикла ... Простые и составные операторы Если ветвь условной конструкции или тело цикла содержит несколько операторов, то они объединяются в составной оператор при помощи “{“ и “}”. Begin в Паскале соответствует “{“ в Си, End - “}”.
Cлайд 2
Пример. Нахождение суммы первых 20 натуральных чисел и вывод сумм на экран. #... Пример. Нахождение суммы первых 20 натуральных чисел и вывод сумм на экран. #include #include using namespace std; int main() {int sum=0; //сумма int c=0; //счетчик while (c++
Cлайд 3
Условная конструкция. Различают три формы условной конструкции : простейшая (... Условная конструкция. Различают три формы условной конструкции : простейшая (в Паскале - if … then… ); расширенная (в Паскале - if … then … else … ); выбор (в Паскале - case … of… ).
Cлайд 4
Простейшая условная конструкция. Псевдокод : если то все Си if () В отличие о... Простейшая условная конструкция. Псевдокод : если то все Си if () В отличие от Паскаля выражение может иметь любой тип. 0, ‘\0’ и NULL считаются ложью, остальные значения - истиной.
Cлайд 5
Расширенная условная конструкция Псевдокод : если то иначе все Си if() else Расширенная условная конструкция Псевдокод : если то иначе все Си if() else
Cлайд 6
Примеры. if(a>b&&b>c) f=x*x-1; else f=x+1; ‘;’ перед else является частью опе... Примеры. if(a>b&&b>c) f=x*x-1; else f=x+1; ‘;’ перед else является частью оператора присваивания в ветви if. if(x>5||x
Cлайд 7
Отличия от Паскаля: 1.  Выражение обязательно заключается в скобки. 2.  ”;” с... Отличия от Паскаля: 1.  Выражение обязательно заключается в скобки. 2.  ”;” ставится перед else, если только нет составного оператора. (“;”- часть ). 3.  Другой приоритет вычисления логического выражения -  сначала операции отношения -  затем логические операции !, &&, || (не, и, или). Приоритет операций отношения меньше, чем у операций “+” и “-” и больше, чем у операции присваивания: х>у+2 то же, что и х>(у+2).
Cлайд 8
Допускается вложенность операторов if. Если нет составного оператора, else от... Допускается вложенность операторов if. Если нет составного оператора, else относится к ближайшему if. Рассмотрим пример. if (number>6) if (number
Cлайд 9
Если необходимо, чтобы else соответствовал первому if, добавим { }. Рассмотри... Если необходимо, чтобы else соответствовал первому if, добавим { }. Рассмотрим пример. if (number>6) { if (number
Cлайд 10
Операция условия - сокращённый способ записи if- else (тернарная). В общем ви... Операция условия - сокращённый способ записи if- else (тернарная). В общем виде условное выражение записывается следующим образом: Например: x=(y
Cлайд 11
Множественный выбор: switch и break switch () /*выражение может быть типа int... Множественный выбор: switch и break switch () /*выражение может быть типа int или char*/ { case : //операторы могут отсутствовать case : //константы типа int или char … default: //ветвь не обязательна } Если значение выражения совпадает с одной из констант, выполняются операторы, расположенные после соответствующей константы. Если подходящей метки не найдется, то, если существует строка с меткой "default", будет выполняться оператор, помеченный этой меткой. В противном случае произойдет переход к оператору, расположенно-му за оператором switch.
Cлайд 12
В каждой последовательности операторов последним должен быть оператор break. ... В каждой последовательности операторов последним должен быть оператор break. Выполнение оператора break осуществляет выход из оператора switch и переход к следующему за ним оператору. При отсутствии оператора break будут выполнены все операторы, начиная с помеченного данной меткой и заканчивая оператором default. char ch='1'; switch (ch) { case '1': printf ("один\n"); case '2': printf ("два \n"); default : printf ("три \n"); } один два три
Cлайд 13
В качестве меток-констант используются выражения типа int или char. В качеств... В качестве меток-констант используются выражения типа int или char. В качестве метки запрещается использовать переменную. Можно пометить оператор несколькими метками одновременно. Например, case 'E': case 'е': printf ("ель\n"); break;
Cлайд 14
Пример. Игра в города #include #include using namespace std; int main() {setl... Пример. Игра в города #include #include using namespace std; int main() {setlocale(LC_ALL, "RUS"); char ch; printf (“Введите букву а, б или в. \n"); printf ("Я назову город на эту букву\n"); scanf("%c", &ch); switch (ch) {case 'a': printf ("\n Ашхабад"); break; case ‘б': printf ("\n Белгород"); break; case 'в': printf ("\n Воронеж"); break; default: printf ("\n неизвестная буква"); break; } return 0; }
Cлайд 15
Правила выбора условных операторов Выбор из двух возможностей - выполнить опе... Правила выбора условных операторов Выбор из двух возможностей - выполнить оператор или пропустить его - оператор if.  Выбор одного из двух вариантов - if...else.           Выбор одного из нескольких - else-if, switch. Если выбор вариантов основывается на вычислении значения переменной или выражения типа float, то switch применить нельзя. Если значения переменной попадают в некоторый диапазон, использовать switch неудобно. Лучше записать: if (i 2).
Cлайд 16
Циклы Существует три базовых структуры цикла: цикл-пока (с предусловием) (в П... Циклы Существует три базовых структуры цикла: цикл-пока (с предусловием) (в Паскале - while … do…); цикл-до (с постусловием) (в Паскале – repeat …until …); цикл от … до (со счетчиком) (в Паскале - for … to/downto do …).
Cлайд 17
Цикл-пока (while) Псевдокод цикл-пока кц Си while () , где - любого типа.  По... Цикл-пока (while) Псевдокод цикл-пока кц Си while () , где - любого типа.  Пока значение выражения отлично от 0 (т.е.истинно), повторяется выполнение операторов в теле цикла. Оператор может быть простым или составным. while является циклом с предусловием, поэтому возможно, что он не выполнится ни разу.
Cлайд 18
Пример 1. Напечатать целые числа от 1 до 100 и их квадраты. /*Здесь и в следу... Пример 1. Напечатать целые числа от 1 до 100 и их квадраты. /*Здесь и в следующих примерах пропущены операторы #include #include using namespace std; */ int main() { setlocale(LC_ALL,"RUS"); int n=0; printf("число квадрат"); while(n++
Cлайд 19
Пример 2. Сколько членов гармонического ряда S=1+1/2+1/3+...+1/n надо взять, ... Пример 2. Сколько членов гармонического ряда S=1+1/2+1/3+...+1/n надо взять, чтобы получить сумму, большую числа dano? int main() { int i=0; float dano, S=0.0;   printf ("введите число"); scanf("%f",&dano); while (dano
Cлайд 20
Цикл for Псевдокод цикл от i:= до [ шаг ] кц Си for (; ; ) Цикл for Псевдокод цикл от i:= до [ шаг ] кц Си for (; ; )
Cлайд 21
,где – инициализирующее: вычисляется один раз до начала цикла; – проверяемое:... ,где – инициализирующее: вычисляется один раз до начала цикла; – проверяемое: вычисляется перед каждым выполнением оператора. Тело цикла выполняется, если значение проверяемого выражения истина (или не равно нулю); – корректирующее: вычисляется после каждого выполнения тела цикла. Перед первым выполнением цикла проверяется , т.е. тело цикла может не выполниться ни разу! Любое выражение, а также оператор может отсутствовать, но точка с запятой сохраняется.
Cлайд 22
Оператор for эквивалентен следующей последовательности операторов: ; while() ... Оператор for эквивалентен следующей последовательности операторов: ; while() { ; }
Cлайд 23
Пример 1. Найти сумму n членов гармонического ряда S=1+1/2+1/3+...+1/n. Опера... Пример 1. Найти сумму n членов гармонического ряда S=1+1/2+1/3+...+1/n. Операция «запятая» связывает два выражения в одно и гарантирует, что самое левое будет вычисляться первым. Обычно используется для включения дополнительной информации в спецификацию цикла for, например: , < выражение 2> Значением всего выражения является значение . a) s=0.0; for(i=1;i
Cлайд 24
Пример 2. Найти минимальное n, при котором S=1+1/2+1/3+...+1/n > dano.   for ... Пример 2. Найти минимальное n, при котором S=1+1/2+1/3+...+1/n > dano.   for (n=0, S=0.0; S
Cлайд 25
Пример 3. Счет в порядке убывания for(n=10;n>0;n--) printf ("%d секунд !\n", ... Пример 3. Счет в порядке убывания for(n=10;n>0;n--) printf ("%d секунд !\n", n); printf("пуск!\n");   Можно использовать любое значение шага цикла, например: for(n=2; n
Cлайд 26
Пример 4. Переменная цикла может быть не только числом, но и символом.  for(c... Пример 4. Переменная цикла может быть не только числом, но и символом.  for(ch='a';ch
Cлайд 27
Следующие записи эквивалентны: while () и for (; ;) Применение операторов for... Следующие записи эквивалентны: while () и for (; ;) Применение операторов for или while -дело вкуса. Цикл for предпочтительнее, когда в цикле используется инициализация и коррекция переменной, в остальных случаях лучше использовать while. Возможно изменение параметров, входящих в проверяемое и корректирующее выражения, в теле цикла.
Cлайд 28
Пример 6. Вложенные циклы. Вычислить все совершенные числа, меньшие или равны... Пример 6. Вложенные циклы. Вычислить все совершенные числа, меньшие или равные заданному числу smax. Совершенное число равно сумме своих делителей, исключая делитель, равный самому числу. 6=1+2+3.
Cлайд 29
int main() {int n, sum, del, smax; printf ("введите предел"); scanf ("%d", &s... int main() {int n, sum, del, smax; printf ("введите предел"); scanf ("%d", &smax); printf ("совершенное число\n"); for(n=6; n
Cлайд 30
Цикл с постусловием do…while Псевдокод цикл до кц Си do while() Тело цикла вс... Цикл с постусловием do…while Псевдокод цикл до кц Си do while() Тело цикла всегда выполняется хотя бы один раз. Выполнение цикла продолжается до тех пор, пока выражение не станет ложным (равным 0). В Паскале - наоборот, цикл продолжается пока выражение не станет истинным.
Cлайд 31
Пример.Найти минимальное число членов гармонического ряда с S > dano i = 0; S... Пример.Найти минимальное число членов гармонического ряда с S > dano i = 0; S=0.0; do S+=1.0/(float)++i; while (S< = dano); При помощи этого цикла можно организовать ввод данных с проверкой их правильности, например. do { printf ("введите положительное число"); scanf("%f”, &dano); } while (dano < =0);
Cлайд 32
Управляющие операторы break, continue, goto По возможности следует избегать и... Управляющие операторы break, continue, goto По возможности следует избегать их использования. Все эти операторы предназначены для безусловного перехода. Частое применение этих операторов - признак низкой квалификации программиста и слабого владения структурным программированием.
Cлайд 33
break - выход из ближайшего цикла любого вида или switch и переход к следующе... break - выход из ближайшего цикла любого вида или switch и переход к следующему оператору программы. do {… for(...) {… while( … ) { … if (…) break; /*выход из цикла while*/ … }  if(…) break; /*выход из цикла for*/ … } ; if (…) break; /*выход из цикла do while*/ … } while(…);
Cлайд 34
continue - окончание текущей итерации данного цикла. В циклах while и do … wh... continue - окончание текущей итерации данного цикла. В циклах while и do … while происходит переход к проверке условия продолжения цикла. В цикле for – переход к вычислению корректирующего выражения, а затем к проверке. for (; < выражение2>; ) { while(…) {… continue; … } … continue; }
Cлайд 35
Оператор goto goto метка; Метка должна быть идентификатором, например: goto m... Оператор goto goto метка; Метка должна быть идентификатором, например: goto m1; Допускается использовать в одном случае - выход из вложенного набора циклов при обнаружении каких-либо ошибок. for (…) for (…) for (…) { if () goto Code; } … Code:
Скачать эту презентацию
Наверх