Студопедия

Главная страница Случайная страница

Разделы сайта

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






Билет №32






1. Кө рсеткіш - бұ л айнымалы адресінен тұ ратын айнымалы. Кө рсеткіштер Си-де кең інен пайдаланылады, бір жағ ынан кейбір жағ дайларда да оларсыз мү мкін емес, ал бір жағ ынан программалар олармен қ ысқ а жә не тиімді қ ұ рылады. Белгілі тә ртіпті кө рсеткіштердің кө мегімен сақ тау кезінде тү сініктілікке пен қ арапайымдылық қ а жетуге болады.

Келесі бірнеше жолдар * жә не & операторлары қ алай қ олданылатынын кө рсетеді.

ip=& x; // кө рсеткішке х айнымалысының адресі меншіктелген ip - х-ті кө рсетеді

y=*ip; // y енді 2-ге емес, 1-ге тең

*ip=0; // х енді 0-ге тең

ip=z; // ip - z (бастапқ ы) массивінің 0 –ші элементін кө рсетеді.

ip = & z [5]; // ip - енді z массивтің 5 элементін кө рсетеді.

Бұ дан кө рсеткіш айнымалысы декларацияның синтаксисі, бұ л айнымалы кездесуі мү мкін болатын " синтаксис” ө рнегіне бейімделеді. Кө рсетілген принципті функцияны сипаттау қ атынасында да қ олданамыз. Мысалы, double *dp, atof(char*) жазбасы *dp жә не atof (s) ө рнегі double типінен екендігін, ал atof функциясының аргументі char-дың кө рсеткіші (нақ ты тү рде, стрингті кө рсету) екенін білдіреді.

Кө рсеткішке берілген типтің объектісіне ғ ана жіберілуіне рұ қ сат етілген.

void-тың кө рсеткіші кез-келген типті объектіге сілтенуі мү мкін, бірақ мұ ндай кө рсеткішке сілтемені ашу операторын қ олдануғ а болмайды.

Кө рсеткіштердің ө зі айнымалылар болғ андық тан, мә тінде олар сілтемені ашу операторынсыз да кездесуі мү мкін.

Си-де функциялар ө зінің аргументтері ретінде параметрлер мә нін қ абылдайтын болғ андық тан, тікелей мү мкіншілік шақ ырылатын функцияда айнымалыны ө згертуге болмайды.

Қ ажетті нә тижені алу ү шін, шақ ырылатын программада ө згертілуі тиісті мә нге кө рсеткіштерді беру қ ажет. Бұ л жағ дайда шақ ырылатын функция формальды параметрлердің кө рсеткіштер ретінде сипатталуы қ ажет, бұ дан параметрлердің мә ніне қ атынасу олар арқ ылы жанама тү рде жү ргізіледі. Формальды параметрлер – шақ ырылатын функцияда оның программасын шақ ыратын объектіге қ атынасуды жү зеге асыратын кө рсеткіштер жә не осы объектілерді ө згертуге мү мкіндік береді.

Программада сұ рыптауды екі реттелмеген элементтердің орнын ауыстыратын swap функциясы арқ ылы орындалатынын қ арастырайық.

Егер swap функциясы келесі тү рде анық талса:

void swap (int x, int y)

{ int temp;

temp=x; x=y; y=temp;

}

онда swap(a, b)-ны шақ ыру a мен b айнымалыларына ешқ андай ә сер етпейді, swap олардың мә ндерінің кө шірмесін ғ ана алады.Нә тижеге жету ү шін алмастырулар, swap функциясының формальды параметрлері кө рсеткіш ретінде сипатталуы керек, алфункцияны шақ ырудағ ы аргументтер, swap (& a, & b)-ның сә йкес параметрлерінің адрестерімен кө рсетілуі тиіс..

void swap (int *px, int *py)

{int temp;

temp=*px; *px=*py; *py=temp;

}

 

2. if жә не case операторларымен жұ мыс.

If
Тармақ талу процестері бар алгоритмдерді ұ йымдастыру ү шін шартты операторлар пайдаланылады. Тармақ талу белгілі бір шарттың орындалуы немесе орындалмауына тә уелді атқ арылады. Кейде бір тармақ ешбір амал орындалмай да қ ала береді.
If шартты операторы. If (егер) операторы программадағ ы іс-ә рекеттердің орындалу реттілігін ө згертетін мү мкіндіктің ең кең тарағ ан тә сілі болып табылады.

If THEN ELSE немесе қ ысқ артылғ ан тү рде IF THEN Мұ ндағ ы 1- жә не 2- операторлардың ө здері қ арапайым немесе қ ұ рама оператор болуы мү мкін.
Case
Тармақ талу операторында белгілі бір шарттың орындалуы немесе орындалмауына байланысты алгоритмнің 1- немесе 2- операторы орындалады, кө бінесе мү мкін болғ ан жағ дайда, екеуі емес одан да кө п болады, яғ ни процесс кө п тармақ ты болады.
Таң дау операторы (case) бірнеше операторлардың ішінен таң дау жолымен кө п тарамды тармақ талуды ұ йымдастырады.
CASE таң дау операторы кө п тармақ ты алгоритмдерді барынша қ арапайым жә не кө рнекі тү рде жазуғ а мү мкіндік береді. Оның қ ұ рамында селектор (selector – таң дау) деп аталатын ө рнек жә не параметрлер тізімі болуы тиіс, ә рбір параметрге сә йкес таң дау тұ рақ тылары болуы қ ажет.
Таң дау командасы былай орындалады: алдымен селектор-ө рнек мә ні есептеледі де, ол тұ рақ тылармен салыстырылады. Егер ө рнектің мә ні 1-тұ рақ тығ а тең болса, онда 1-оператор орындалады, ал ө рнектін мә ні 2-тұ рақ тығ а тең болса, онда 2-оператор, 3-тұ рақ тығ а тең болса, онда 3-оператор т.б. тізімдегі тек бір ғ ана оператор орындалады да, таң дау командасы осымен аяқ талады.

сase of
:;
:;

еlse;
еnd.

3. Трамвай номерін енгіз. Оның соң ғ ы аялдамасын шығ ар

#include< stdio.h>

#include< conio.h>

void main()

{intaialdama; // Трамвайномері

puts (“\n “Трамвай нө мерін енгіз”);

printf(“− > “);

scanf(“%t”, & aialdama);

{

case 4 puts(“Tole bi-Auezova”); break;

Case 1 puts (“Tashkentski-avrora”); break;

case 2 put (“Abaia-Jarokova”); break;

defaull(“Трамвайдың соң ғ ы аялдамасын шығ ару”);

}

getch(); }

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.