ЛЕКЦИЯ 4 ОПЕРАТОРЫ

Содержание

Слайд 2

2. Операторы выражения

1. Операторы описания

char, short, int, long, float, double, unsigned

i++;

2. Операторы выражения 1. Операторы описания char, short, int, long, float, double,

i=1,j=1;
int j=k+i++;

Присваивания:

Вызов функции:

printf("Вызов функции "\printf"\");

getch(); cin.get();

sum(mas,m,n);

Пустой оператор: for (; ;);

1. Операторы описания

Вызов функции "printf"

Поставить дважды

Слайд 3

Условный оператор

for, while, do while, if, switch,
continue, break

3. Операторы управления

Условный оператор for, while, do while, if, switch, continue, break 3. Операторы

Сокращенная форма:
if ( выражение ) оператор

Полная форма:
if ( выражение ) оператор1
else оператор2

Слайд 4

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)

if (56) printf("56 - true\n"); if(-90) printf("-90 - true\n"); if(10%2) printf("true\n"); else
max=x;
else max=y;

printf("Vvedite x: ");
scanf("%d",&x);
if(x>=10) printf("X>=10\n");
else if(x<=5) printf("X<=5\n");
else printf("5

Слайд 5

if (3<2<1) printf("3<2<1-PRAVLNO!!!");
else printf("3<2<1-ERUNDA!!! ");

Как работает следующая программа:

3<2<1-PRAVLNO!!!

3<2==0
0<1==1

ПОЧЕМУ???

if (3 else printf("3 Как работает следующая программа: 3 3 0 ПОЧЕМУ???

Слайд 6

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<2<1) printf("3<2<1-PRAVLNO!!!");

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

else printf("3<2<1-ERUNDA!!! ");

if (3<2&&2<1) printf("3<2<1-PRAVLNO!!!");
else printf("3<2<1-ERUNDA!!! ");

3<2<1-ERUNDA!!!

Слайд 7

Важное замечание

if (x==5) оператор

if (x=5) оператор

Логическая ошибка!!!
Трудно обнаруживаемая!!!

if (5==x) оператор

Лучше писать:

т.к., если

Важное замечание if (x==5) оператор if (x=5) оператор Логическая ошибка!!! Трудно обнаруживаемая!!!
напишем:

if (5=x) оператор

Компилятор сообщит об ошибке!!!

Нужно:

Пишем:

Слайд 8

if (!(x==y)) оператор

if (x>5&&x<10||y==0) оператор

if((x>5||x<10)&&y==0) оператор

if (!(x==y)) оператор if (x>5&&x if((x>5||x

Слайд 9

int number;
printf("Введите время года:\t");
scanf("%d",&number);
if(number<1||number>=5)
printf("Нет такого сезона\n");
if(1 == number) printf("Весна\n");
if(2 == number) printf("Лето\n");
if(3

int number; printf("Введите время года:\t"); scanf("%d",&number); if(number =5) printf("Нет такого сезона\n"); if(1
== number) printf("Осень\n");
if(4 == number) printf("Зима\n");

Пример . Как улучшить алгоритм?

Слайд 10

int number;
printf("Введите время года:\t");
scanf("%d",&number);
if(number<1||number>=5)
printf("Нет такого сезона\n");
else if(1 == number) printf("Весна\n");
else if(2 ==

int number; printf("Введите время года:\t"); scanf("%d",&number); if(number =5) printf("Нет такого сезона\n"); else
number) printf("Лето\n");
else if(3 == number) printf("Осень\n");
else printf("Зима\n");

Не нужен последний if

else следует располагать под соответствующим if

Слайд 11

switch (выражение)
{
case метка1: оператор 1
case метка2: оператор 2
.

switch (выражение) { case метка1: оператор 1 case метка2: оператор 2 .
. .
default: оператор n
}

Оператор switch

Метка – целочисленное выражение

Если значение выражения не совпадает с метками – выполняется оператор, помеченный default

Слайд 12

printf("Vvedite natyralnoe chislo ot 0 do 9: ");
scanf("%u",&n);
switch (n)

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

Слайд 13

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

for (выражение1; выражение2; выражение3) оператор

int k;
for(k=1;k<=5;k++)
printf("%d%5d\n",k,k*k);

1
4
9
16

Оператор цикла for for (выражение1; выражение2; выражение3) оператор int k; for(k=1;k printf("%d%5d\n",k,k*k);
25

for (n=1; n<1000; n++);

int n,j;
for (n=15;n>0;n--)
{printf("%d sekund do starta!\n",n);
for(j=1;j<1000000000;j++);
system("cls");
}

Слайд 14

for(i=1,j=5; i<120;)
i*=j;

for(i=1;;)
{i++;
cout< if (i>5) break;
}

for(n=3;n<60;n+=11)
printf("%2d\n",n);

for(ch='a';ch<='z';ch++)
printf("Kod ASCII %c

for(i=1,j=5; i i*=j; for(i=1;;) {i++; cout if (i>5) break; } for(n=3;n printf("%2d\n",n);
= %d \n",ch,ch);

2 3 4 5 6

Слайд 15

char c;
for(;;)
{printf("\nPress any key, Q to quit:”);
scanf("%c", &c);
if('Q'==c)

char c; for(;;) {printf("\nPress any key, Q to quit:”); scanf("%c", &c); if('Q'==c)
break;
}

Реализовать алгоритм:
нажимаем любую клавишу – никаких действий, нажимаем Q – выход.

Слайд 16

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

unsigned n, s=0, i=1;
printf("Input n:");
scanf("%u", &n);
while (i<=n)

Оператор цикла while unsigned n, s=0, i=1; printf("Input n:"); scanf("%u", &n); while
{ s+=i;
i++;
}
printf("%u",s);

while ( выражение ) оператор

Слайд 17

Эквивалентныe операторы FOR и WHILE.

While(выражение) оператор
For (;выражение;) оператор

For (выр1;выр2;выр3) оператор
Выр1;
while (выр2)

Эквивалентныe операторы FOR и WHILE. While(выражение) оператор For (;выражение;) оператор For (выр1;выр2;выр3)
{
оператор
выр3;
}

Слайд 18

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

unsigned n, s=0, i=1;
printf("Input n:");
scanf("%u", &n);
do

Оператор цикла do while unsigned n, s=0, i=1; printf("Input n:"); scanf("%u", &n);
{ s+=i;
i++;
}
while (i printf("%u",s);

do оператор while (выражение);

Слайд 19

cin.get(); или getch(); ждут нажатия клавиши

ab c d.
4

int i=0;
char ch;
while (1)
{cin>>ch;
if

cin.get(); или getch(); ждут нажатия клавиши ab c d. 4 int i=0;
('.'==ch) break;
i++;
}
cout<

int i=0;
char ch;
while (1)
{cin.get(ch);
if ('.'==ch) break;
i++;
}
cout<

ab c d.
6

Слайд 20

int i=0;
char ch;
cin>>ch;
while(!cin.fail())
{ i++;
cin>>ch;
}
cout<

При вводе текста с клавиатуры конец файла формируется

int i=0; char ch; cin>>ch; while(!cin.fail()) { i++; cin>>ch; } cout При
нажатием клавиш CTRL/Z

Aaa
Bb
Ccc
^Z

int i=0;
char ch;
cin.get()>>ch;
while (!cin.fail())
{i++;
cin.get()>>ch;
}
cout<

Aaa
Bb
Ccc
^Z

8

11

Слайд 21

int i=0;
char ch;
cin.get()>>ch;
while (!cin.eof())
{
i++;
cin.get(ch);
}
cout<

Функции cin.fail() и cin.eof() oбнаруживают конец файла

int i=0; char ch; cin.get()>>ch; while (!cin.eof()) { i++; cin.get(ch); } cout

Слайд 22

Оператор continue

#define D '@'
void main()
{ char s;
while((s=getchar())!=D)
{
if(s=='\n')
continue;
putchar(s);

Оператор continue #define D '@' void main() { char s; while((s=getchar())!=D) {
}
return;
}
Имя файла: ЛЕКЦИЯ-4-ОПЕРАТОРЫ.pptx
Количество просмотров: 89
Количество скачиваний: 0