ЛЕКЦИЯ 4 ОПЕРАТОРЫ
2. Операторы выражения 1. Операторы описания char, short, int, long, float, double, unsigned i++; i=1,j=1; int j=k+i++; Присваивания: Вызов функции: printf("Вызов функции "\printf"\"); getch(); cin.get(); sum(mas,m,n); Пустой оператор: for (; ;); 1. Операторы описания Вызов функции "printf" Поставить дважды
Условный оператор for, while, do while, if, switch, continue, break 3. Операторы управления Сокращенная форма: if ( выражение ) оператор Полная форма: if ( выражение ) оператор1 else оператор2
if (56) printf("56 - true\n"); if(-90) printf("-90 - true\n"); if(10%2) printf("true\n"); else printf("false\n"); if (x>y) max=x; else max=y; printf("Vvedite x: "); scanf("%d",&x); if(x>=10) printf("X>=10\n"); else if(x
if (3
if(2==2||2==3) printf("True\n"); else printf("False\n"); True if(2==3||2==2) printf(rue\n"); else printf("False\n"); if(2==2&&2==3) printf(rue\n"); else printf("False\n"); False True if (3
Важное замечание if (x==5) оператор if (x=5) оператор Логическая ошибка!!! Трудно обнаруживаемая!!! if (5==x) операторЛучше писать: т.к., если напишем: if (5=x) оператор Компилятор сообщит об ошибке!!! Нужно: Пишем:
if (!(x==y)) оператор if (x>5&&x5||x
int number; printf("Введите время года:\t"); scanf("%d",&number); if(number =5) printf("Нет такого сезона\n"); if(1 == number) printf("Весна\n"); if(2 == number) printf("Лето\n"); if(3 == number) printf("Осень\n"); if(4 == number) printf("Зима\n"); Пример. Как улучшить алгоритм?
int number; printf("Введите время года:\t"); scanf("%d",&number); if(number =5) printf("Нет такого сезона\n"); else if(1 == number) printf("Весна\n"); else if(2 == number) printf("Лето\n"); else if(3 == number) printf("Осень\n"); else printf("Зима\n"); Не нужен последний if else следует располагать под соответствующим if
switch (выражение) { case метка1: оператор 1 case метка2: оператор 2... default: оператор n } Оператор switch Метка – целочисленное выражение В вариантах следует использовать оператор break ! Если значение выражения не совпадает с метками – выполняется оператор, помеченный default
printf("Vvedite natyralnoe chislo ot 0 do 9: "); scanf("%u",&n); switch (n) { case 1: case 3: case 5: case 7: case 9: {puts("vvedeno Nechetnoe chislo"); break; } case 2: case 4: case 6: case 8:{puts("vvedeno Chetnoe chislo"); break; } default:puts("Vveden 0"); } Vvedite natyralnoe chislo ot 0 do 9: 0 Vveden 0 Vvedite natyralnoe chislo ot 0 do 9: 0 vvedeno Nechetnoe chislo vvedeno Chetnoe chislo Vveden 0 Что будет, если break убрать?
Оператор цикла for for (выражение1; выражение2; выражение3) оператор int k; for(k=1;k
for(i=1,j=5; i
char c; for(;;) {printf("\nPress any key, Q to quit:); scanf("%c", &c); if('Q'==c) break; } 8 Реализовать алгоритм: нажимаем любую клавишу – никаких действий, нажимаем Q – выход.
Оператор цикла while unsigned n, s=0, i=1; printf("Input n:"); scanf("%u", &n); while (i
Эквивалентныe операторы FOR и WHILE. While(выражение) оператор For (;выражение;) оператор 1 2 For (выр1;выр2;выр3) оператор Выр1; while (выр2) { оператор выр3; }
Оператор цикла do while unsigned n, s=0, i=1; printf("Input n:"); scanf("%u", &n); do { s+=i; i++; } while (i
cin.get(); или getch(); ждут нажатия клавиши int i=0; char ch; while (1) {cin>>ch; if ('.'==ch) break; i++; } cout
int i=0; char ch; cin>>ch; while(!cin.fail()) { i++; cin>>ch; } coutch; } cout
int i=0; char ch; cin.get()>>ch; while (!cin.eof()) { i++; cin.get(ch); } cout
Оператор continue #define D void main() { char s; while((s=getchar())!=D) { if(s=='\n') continue; putchar(s); } return; }
ВСЕ