Программа бұл компьютерді басқаруға қажетті командалардың логикалық реттелген тізбегі


Тақырып 5. Меншіктеу операторы. Енгізу – шығаруды ұйымдастыру



бет3/7
Дата16.06.2016
өлшемі0.88 Mb.
#138775
түріПрограмма
1   2   3   4   5   6   7

4 апта



Тақырып 5. Меншіктеу операторы. Енгізу – шығаруды ұйымдастыру.

Дәріс жоспары

  1. Берілгендерге қолданылатын операциялар.

  2. Өрнектер.

  3. Меншіктеу.

  4. Типтерді келтіру. Типтерді түрлендіру ережелері.

  5. Берілгендерді шығару функциялары.

  6. Берілгендерді енгізу функциялары.


Дәрістің қысқаша конспектісі

1.Берілгендерге қолданылатын операциялар

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

Негізгі унарлы операциялар

-

унарлы минус, арифметикалық операнда белгісін өзгертеді

+

унарлы плюс, симметрия үшін унарлы минуспен енгізілген

!

ЕМЕС – операнданың мәнін логиклық жоққа шығару

++

Бірге үлкейту (инкремент немесе автоүлкейту); екі формасы бар:

префиксті операция – операнданың мәнін қолданғанға дейін 1 ге ұлғайту.

постфиксті операция - операнданың мәнін қолданғаннан кейін 1 ге ұлғайту.

Операцияның операндасы ретінде тұрақты мен өрнек болмауы керек



--

Бірге кеміту (декремент немесе автокеміту) – унарлы операция, операндасы ретінде тұрақты мен өрнек болмауы керек:

префиксті операция – операнданың мәнін қолданғанға дейін 1 ге ұлғайту.

постфиксті операция - операнданың мәнін қолданғаннан кейін 1 ге ұлғайту.

Негізгі бинарлы операциялар

+

Бинарлы плюс – операндаларды қосу.

-

Бинарлы минус - операндаларды азайту.

*

Операндаларды көбейту.

/

Операндларды бөлу.

%

Бүтінсанды операндаларды бөлуден қалған қалдық (модулі бойынша бөлу).

Қатыс операциялары (салыстырулар)

<

Кіші

>

үлкен

<=

Кіші немесе тең

>=

Үлкен немесе тең

= =

Тең

!=

Тең емес

Операциялар операндалары арифметикалық типті немесе нұсқаушы болуы керек. Нәтиже бүтін санды: 0 (жалған) немесе 1 (ақиқат).

Меншіктеу операциялары

=

Жай меншіктеу: өрнек мәнін меншіктеу –оң жақтағы операндаға сол жақтағы операнданы меншітеу.Мысал: Р= 10 3-2*х;

*=

Көбейтуден кейінгі меншіктеу сол жақтағы операнданы оң жақтағы операндаға көбейткен мәнді сол жақтағы операндаға меншіктеу. Р *= 2 эквивалентті Р = Р * 2;

/=

Бөлуден кейінгі меншіктеу: сол жақтағы операнданы оң жақтағы операндаға бөлген мәнді сол жақтағы операндаға меншіктеу. Р /= 2.2 - d эквивалентті P=P/(2.2-d);

%=

Модуль бойынша бөлуді меншіктеу: сол жақтағы операнданы оң жақтағы операндаға бүтін санды бөлген кездегі қалдық мәнді сол жақтағы операндаға меншіктеу. N %= 3 эквивалентті N = N % 3;

+=

Қосудан кейінгі меншіктеу: сол жақтағы операнданы оң жақтағы операндаға қосқан мәнді сол жақтағы операндаға А += В эквивалентті А = А +В;

-=

Азайтудан кейінгі меншіктеу: сол жақтағы операндадан оң жақтағы операнданы азайтқан мәнді сол жақтағы операндаға меншіктеу. Х -= 4.3 - Z эквивалентті Х = Х - (4.3 - Z);

Барлық құрама операциялар үшін меншіктеу формасы Е1 ор= Е2 эквивалентті Е1 = El op (E2), мұндағы ор – операцияның белгіленуі.

2. Өрнек және арифметикалық типтерді келтіру

Әр өрнек бір немесе бірнеше операндалардан, операциялар символынан және көбінесе жақша ретінде берілетін шектеушілерден тұрды. Кез келген өрнектің тағайындалуы - қандай да бір мәннің формирциялануы.Формирацияланатын мәндердің типіне сәйкес өрнектің типі анықталады. Егер өрнек мәні бүтін немесе нақты сандар болса, онда арифметикалық өрнек туралы йтылады. Арифметикалық өрнектерде келесі амалдар қолданылады: +, -, *, /, %

Көрсетілген операциялар үшін операндалар ретінде тұрақтылар мен ариметикалық типтегі айнымалылар, сонымен қатар жақшаға алынған өрнектер қызмет атқарады.

Қатынастар мен логикалық өрнектер. Қатынас қатынас белгілері арқылы байланысқан арифметикалық өрнектердің жұптарынан тұрады.

Си тілінің логикалық типі жоқ болғандықтан, қатынастың мәні нөлге тең емес (әдетте 1 ), егер ол ақиқат болса және 0 тең, егер жалған болса. Сөйтіп, 6<=44 қатынасы 1 ге тең.

>, >=, <, <= операцияларында бір ранг.Теңестіру және теңдік операциялары = = және != бірдей бірақ, басқа қатынас операцияларына қарағанда біршама төмен рангілі. Ал арифметикалық операциялар қатынас операцияларына қарағанда біршама жоғары рангілі.

Си тілінің логикалық операциялры:



!

Жоққа шғару,яғна логикалық ЕМЕС

&&

конъюнкция, яғни, логикалық ЖӘНЕ

||

дизъюнкция, яғни ,логикалық НЕМЕСЕ

Олар рангілерінің төмендеуі бойынша реттелген. Ереже бойыша, логикалық операциялар қатынастарға қолданылады. Логикалық операциялар орындалғанға дейін, логикалық өрнекке кіретін қатынастар мәні есептелінеді. Бір рангтің бірнеше операциялары солдан онға қарай орындалады, және нәтиженің ақиқаттығы (жалғандығы) анықтлған жағдайда есептеу тоқтатылады.

Қатынастың мәні бүтін болғандықтан (0 немесе 1), бүтін сандық мәндерге логикалық операцияларды қолдануға ешнәрсе қарсылық етпейді . Сонымен қатар нөлге тең емес кез келген мән ақиқат ретінде қабылданады , ал жалған ретінде тек нөлдік мән ғана қабылданды.



3. Меншіктеу (өрнектр мен операторлар)

Си тіліндегі "=" символы өрнекте екі операнда болуы керек – сол (әдетте айнымалы болатын, модифицирленетін атаулы өрнек ) және оң (әдетте өрнек) бинарлы операцияны білдіреді. Егер z – айнымалы болса , онда

z= 2.3+5.1

мәні 7.4 ке тең өрнек бар. Сонымен бірге бұл мән z айнымалысына меншіктеледі. Тек егер меншіктеу операциясы бар өрнектің соңынан ";" символы қойылса, сонда ғана өрнек меншіктеу операторы болып табылады. Сөйтіп,

z= 2.3+5.1;

мәні 7.4– ке тең z айнымалысына меншіктеу операторы .



Оператор – нақты бір әрекеттен тұратын программалау тілінің сөйлемі. Меншіктеу операциясымен өрнектің типі мен мәні '=' белгісінен кейінгі оң жақтағы өрнектің мәнімен анықталады. Бірақ, бұл тип өрнектің сол жағындағы айнымалалардың типімен сәйкес келмеуі мүмкін Бұндай жағдайда айнымаланың мәнін анықтауда типтердің түрленуі орындалады.

'=' белгісінің оң жағындағы өрнек өз кезегінде меншіктеу операциясынан тұруы мүмкін болғандықтан, бір меншіктеу операторында бірнеше айнымалыны меншіктеуге болады, яғни көп меншіктеу ұйымдастыруға болады, мысалы:

с = х = d = 4.0 +2.4;

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

Си тілінде "меншіктеудің құрама операторының" жиыны бар. Меншіктеудің құрама операцияларының әр қайсысы қандай да бір бинарлы логикалық немесе арифметикалық операцмяларды және өздік меншіктеулерді біріктіреді.Меншіктеудің құрама операциясы меншіктеудің құрама операторының негізгісі болып табылады:

Айнымалы аты ор=өрнек;

Мұндағы ор - *, /, %, +,- операцияларының бірі. Егер "ор*" конструкциясын екі операция ретінде қарастырсақ, онда алдымен ор орындалады, содан кейін '='.



4. Типтерді келтіру

Екі бүтін операндалардың бөлінуінен нәтиже бүтін болады. Мысалы, 5/2 өрнегінің мәні 2.5 емес 2 болады.Нақты нәтиже алу үшін бүтін емес нақты операндалардың бөлінуін орындау керек. Мысалы 5.0/2,0 жазу арқылы , 2.5 мәнін аламыз.

Егер операндалар атсыз тұрақтылар болса, онда бүтін тұрақтыларды нақтыға ауыстыру қиын емес.Ондай жағдайда, операнда аталған тұрақты, айнымалы немесе тырнақшадағы өрнек болса, сол есепті шешу үшін типті келтіру(түрлендіру) операциясын қолдану керек . Осындай келтірулер орындалтын ережелерді қарастырайық.

Типтерді түрлендіру ережелері. Өрнектерді есептеу кезінде кейбір операциялар операндалар сәйкес типте брлуын талап етеді, ал егер типке қойылатын талаптар орындлмаған болса, қажетті түрлендірулерді мәжбүрлі түрде жүргізуді шақырады.Инициализацияланатын өрнек типі анықталған обьект типіне келтірілген жағдайда да осындай ситуация пайда болады. Оң жақ бөліктегі өрнектің мәнін меншіктегенде әрқашан сол жақтағы айнымалының типіне келтіріледі, бұл типтердің сәйкестігіне аса мән берілмейді.

Негізгі типтер үшін Си тілінің түрлендіру ережесі тілдің стандартымен анықталған . Бұл стандартты түрлендірулер "төменгі" типті "жоғарғыға" айландырудан тұрады.



5. Берілгендерді шығару функциялары

Си тілінің ішкі берілгендермен алмасудң барлық мүмкіндіктері енгізу- шығару библеотекалық функцияларының көмегімен орындалады.Компилятордың стандартты библеотекасынан енгізу- шығару құралдарын сипаттауды программаға қосу үшін #include . директивасын қолданамыз.



Берілгендерді шығару– ОП дан өңдеуден өткізгеннен кейін ақпаратты ішкі тасымалдаушыға(монитор экранына, принтерге және т.б ) жіберу. Берілгендерді шығарудың негізгі функцияларына: printf(), puts(), putchar() жатады.

Формтталған шығару функциясы. ЭЕМ – нан шығару үшін printf() функциясы жиі қолданылады. Ол берілгендерді ішкі кодтан символдық түрге келтіреді және алынған символар суретін дисплейдің экранына шығарады. Сонымен қатар берілгендерді түрлендіру мүмкіндігі бар, яғни олардың экран дисплейінде жариялануына әсер ету. printf() шақыру операторы функциясын келесі түрде келтіруге болады:

printf(форматты_жол,аргументтре тізімі);

Форматты_жол екілік тырнақшалармен шектелген және өздік мәтінндерден , басқарушы символдардан берілгендерді түрлендіруші спецификациялардан тұрады.

Аргументтер тізімі (алдыңғы үтірмен ) жоқ болуы мүмкін.

Өзіндік мәтін (түрлендіру спецификациясы емес және басқарушы символдар да емес) өзгертусіз экранға шығарылады. Басқарушы символдар(жолдарды ауыстыру, табуляция және т.б) шығарылатын символдрдың дисплей экранда орналасуына әсер етеді.

Берілгендерді түрлендіру спецификациясы және берілгендерді түрлендіру printf() функциясының аргументтерінің мәнінің ішкі формасын жариялауды басқаруға арналған. Түрлендіру спецификациясы элементтері арасындағы негізі екі символ - '% символы және спецификатор болып табылады.

Негізгі спецификаторлар :

d – бүтін ондық сандар үшін (типі int)

u – таңбасыз бүтін ондық сандар үшін (типі unsigned)

f –фиксирленген нүкте формасындағы нақты сандар үшін (типі float және double)

е – жылжымалы нүкте формасындағы нақты сандар үшін ( мантиссамен және ретпен) – double және float типтері үшін

c – символдар үшін

s – для строки



printf()функциясының аргументтерінің тізіміне мәндері программадан енгізілетін обьекттер жатады. Бұл өрнек және дербес жағдайлар – айнымалылар және тұрақтылар.Аргументтер саны мен олардың типі форматты жолда түрлендіруінің кезектілігі сәйкес келуі керек. Түрлендіру спецификациясында сандық мәнді шығару үшін "өріс ұзындығы" және "нақтылығы" маңызды.

Өріс ұзындығы – шығатын мәнді жариялауды анықтау үшін , бүтін оң сан (экран позициясындағых).

Нақтылық- нақты сан (фиксирленген нүкте) немесе оның мантиссасын (жылжымалы нүкте формасын қолданудағы) ішкі жариялаудың бөлшек бөлімін анықтайтын бүтін оң сан.Кейбір кодтар монитор экранында графикалық түрде жарияланбайды, мысалы, курсордың жаңа жлға көшуі,курордың жолдың басына көшуі және т.б. Сәйкес символдық тұрақтыларды программада бейнелеу үшін бірнеше символдан тұратын комбинация қолданылады. Осындай әр комбинация'\' символынан басталады. Осындай символдар жиыны кезекті басқару деп аталады. Төменде олардың тізімі келтірілген:

'\n' – жолдарды көшіру;

'\t' - горизонтальді табуляция;

'\r' – курсорды жолдың басына қайтару;

'\\' –кері қисық сызық \;

'\'' - апостроф (бір тырнақша);

'\"' - тырнақша ( екі тырнақша);

'\0'- нөлдік символ;

'\а' – қоңырау -сигнал;

'\b'- бір позицияға кері қайту (бір символға);

'\f' – бетті аудару (прогон);

'\v' – вертикальді табуляция;

'\?' – сұрақ белгісі.



Аталған тұрақтылар екі немесе одан да көп литерлермен бейнеленеді, бірақ олар жекеленген екілік коды бар.

puts() функциясы экранға символдар жолын шығару үшін және автоматты түрде жаңа жолға көшу үшін қолданылады.

putchar() функциясы экранға бірлік имвол шығарады.выводит единичный символ на экран.

6. Берілгендерді енгізу функциясы

Берілгендерді енгізу– бұл ақпаратты ішкі тасымалдаушыдан өңдеу үшін ОП-ға жіберу. Си тілінде енгізу үшін бірнеше стандартты функция қолданылады: scanf(), read(), gets(), getch().

scanf()

Шақыру операторы scanf() функциясының түрі келесідей:



scanf (форматты_жол, аргумент _тізімі );

scanf()функциясы клавятурадан енгізілген кодты "оқуды" орындайды.Бұл көрінетін символдардың кодтары, сонымен қатар, көмекші пернелер мен олардың бірігуімен түсетін басқарушы кодтар болуы мүмкін . scanf( ) функциясы кодтарды қабылдайды, оларды ішкі форматқа түрлендіреді және программаға жібереді. Сонымен қатар программист форматты жол специфиациясының көмегімен енгізілетін кодттың интерпретациясына әсер ете алады.

scanf() функциясы үшін форматты жол және аргументтер тізімі міндетті түрде болуы керек. scanf() функциясы үшін форматты жол және аргументтер тізімін түрді түрлендіру спецификациясынан формирациялаймыз:

% * өріс_ұзындығы модификатор спецификатор

Түрлендіру спецификациясы элементтерінің ішінен тек % және спецификатор міндетті . printf() функциясына қарағанда scanf() функциясының аргументі ретінде тек обьект программасының адресі ғана бола алады, дербес жағдайда, олардың айнымалыларының адрестері. Адрестің шифрленбеген ұғымы, Си тілінде обьектінің адресін алу үшін & унарлы операциясы бар:

& объект аты

Айнымалының адресін алу өрнегі келесідей:

& айнымалының _аты

Сөйтіп,адресті анықтау үшін айнымалының атының алдында & символы жазылады . Егер name – айнымалы аты болса, онда &name – оның адресі.

Енгізілетін ақпаратты тергенде, пернетақтада scanf()функциясы батырмасын басқаннан кейін берілгендерді енгізу басқарылады.



Өзін –өзі тексеру сұрақтры

  1. Өрнек деген не?

  2. Берілгендерге қолданылатын операциялар қандай?

  3. Қандай меншіктеу операторлары бар?

  4. Меншіктеу операторының тағайындалуы мен жзылу форматы.

  5. Типтерді келтіру ережелері.

  6. Берілгендерді енгізу және шығару деген не?

  7. Қандай шығару функциялары бар?

  8. Қандай енгізу функциялары бар?


8.1. Негізгі әдебиеттер

1. Нейбауэр А. Моя первая программа на С/С++ /Перев. с англ. – СПб: Питер, 1995

2. Подбельский В.В., Фомин С.С. Программирование на языке СиЖ Учеб. пособие. – 2-е доп. изд. – М.: Финансы и статистика, 1999

3. Информатика. Базовый курс. 2-е издание / Под ред. С.В. Симоновича. – СПб.: Питер, 2005

8.2. Қосымша әдебиеттер

1.Дейтел Х., Дейтел П. Как программировать на Си. – М.: Бином, 2000

2. Мейер Б., Бодуэн К. Методы программирования. Т. 1 и 2. – М.: Мир, 1984



Достарыңызбен бөлісу:
1   2   3   4   5   6   7




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет