Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
texpr_wpor.docx
Скачиваний:
20
Добавлен:
13.03.2015
Размер:
113.63 Кб
Скачать

Логикалық және қатынас операциялары.

Ќатынас операторлары екі мєнді тексеру ‰шін ќолданылады. Си тілінде программалау кезінде ќолданылатын ќатынас операцияларыныњ тізбегін келтірейік.

<, <=, ==, >=, >, !=.

Егер ќатынас аќиќат болса, онда шартты µрнектіњ мєні 1-ге тењ; егер жалѓан болса, онда шартты µрнектіњ мєні 0-ге тењ. Ќарапайым µрнектіњ шарты ќатынас операцияларынан жєне оныњ оњ жаѓында жєне сол жаѓында орналасќан операндтардан т±рады.

Ќатынас операцияларыныњ ‰стемдігі арифметикалыќ операцияларѓа +, -, *, / ќараѓанда тµмен жєне меншіктеу операцияларына ќараѓанда жоѓары болып саналады.

Ќатынас операцияларын ‰стемдіктерініњ арналуына сєйкес екі топќа жіктеуге болады: жоѓары ‰стемдікке ие операциялар тобы: <, <=, >=, > жєне тµмен ‰стемдікке ие операциялар тобы: ==, !=.

Ќатынас операциялары солдан оњѓа ќарай орындалады.

Мысал:

{

If (x==5) k++;

}

Логикалыќ операциялар

Екі жєне одан да кµп шартты µрнекті біріктіру кезінде логикалыќ операциялар ќолданылады. Си тілінде ‰ш логикалыќ операция бар: &&(жєне), ||(немесе), !(“жоќ” немесе “емес”).

1.f11&&f12 аќиќат, тек екі µрнектіњ де f11 жєне f12 мєндері аќиќат болса.

2.f11||f12 аќиќат, егер f11 жєне f12 µрнектерініњ ењ болмаѓанда біреуі аќиќат болса немесе екеуі де аќиќат болса.

3.!f11 аќиќат, егер f11 µрнегі жалѓан болса жєне керісінше.

Мысал:

15>12&&8>10 - жалѓан (тек ќана бір µрнекше мєні аќиќат)

15>12||8>10 - аќиќат (єйтеуір бір µрнекше мєні аќиќат).

! операциясы µте жоѓары ‰стемдікке ие, тек домалаќ жаќшалар одан жоѓары ‰стемдікке ие. && операциясыныњ ‰стемдігі || операциясыныњ ‰стемдігінен жоѓары, алайда б±л екі операция ‰стемдігі меншіктеу операциясыныњ ‰стемдігінен тµмен.

&& жєне || операцияларын ќолдану кезінде тµмендегілерді білу ќажет:

Б±л операциялардыњ орындалуы нєтиже мєні аќиќат немесе жалѓан болѓан кезде тоќтайды. Мысалы, f11&&f12 µрнегі берілсін. Егер f11 жалѓан болса, яѓни барлыќ µрнек жалѓан, сондыќтан f12 есептелінбейді. Осыѓан ±ќсас, егер бізге f11||f12 µрнегі берілді делік. Онда f11-аќиќат болса, f12 есептелінбейді.

Шартты операторлар.

Си тілі тањдау ќ±рылымыныњ ‰ш типін келтіреді. If тањдау ќ±рылымында ќайсібір єрекет не орындалады (тањдалады), егер шарт аќиќат болса, не µткізіледі, егер шарт жалѓан болса. If/else тањдау ќ±рылымында кейбір єрекет орындалады, егер шарт аќиќат болса жєне басќа єрекет орындалады осы шарт жалѓан болса. Switch тањдау ќ±рылымында ќайсібір µрнектіњ мєніне байланысты єрекеттер жиынтыѓыныњ ішінен біреуі орындалады.

If ќ±рылымы жалѓыз тањдауы бар ќ±рылым деп аталады, µйткені онда бір єрекет тањдалады немесе µткізіледі. If/else ќ±рылымы екі тањдауы бар ќ±рылым деп аталады, µйткені онда екі альтернативті єрекеттіњ арасында тањдау орындалады. Switch ќ±рылымы кµп тањдауы бар ќ±рылым деп аталады.

If тањдау ќ±рылымыныњ жалпы т‰рі:

Іf (µрнек) оператор1;

If/else ќ±рылымыныњ жалпы т‰рі:

Іf (µрнек) оператор1;

Else оператор2;

Егер µрнек мєні аќиќат болса (нµлден µзгеше болса), онда оператор1 орындалады, керісінше жаѓдайда оператор2 орындалады.

Си тілінде If/else ќ±рылымымен тыѓыз байланысќан (?:) шартты операциясы ќарастырылѓан. Б±л операцияѓа ‰ш операнд ќажетті. Шартты операциясымен бірге операндтар шартты µрнекті ќ±рады. Бірінші операнд шарт болып табылады, екінші операнд барлыќ шартты µрнектіњ мєні болады, егер шарт аќиќат болса жєне ‰шінші операнд барлыќ шартты µрнектіњ мєні болады, егер шарт жалѓан болса. Мысалы,

x>y ? printf(“max=%d\n”, x) : printf(“max=%d\n”, y);

If/else бірініњ ішіне бірі енген ќ±рылымдар ќ±рамды шарттарды тексеру ‰шін пайдаланылады, сондай-аќ If/else бір ќ±рылымдар If/else басќа ќ±рылымдардыњ ішіне орналастырылады.

Келесідей жазылу т‰рін келтірейік:

Іf (µрнек1) оператор1;

Else іf (µрнек2) оператор2;

Else оператор3;

Егер µрнек1 аќиќат болса, онда оператор1 орындалады. Егер µрнек1 жалѓан болып, µрнек2 аќиќат болса, онда оператор2 орындалады. Екі µрнек те жалѓан болѓан кезде оператор3 орындалады.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]