Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программалау шпор ХЕ ХЕ ХЕ

.docx
Скачиваний:
73
Добавлен:
17.02.2016
Размер:
209.79 Кб
Скачать

Оны қолдану ол тұрған функция жұмысын аяқтап, басқару шақырушы функцияға қайтады (беріледі). Оператордың жақшасының ішінде өрнек жоқ болғандықтан, функцияға ешқандай мән берілмейді.Maіn(){ floaty, x, mult(); /*шақырушы программадағы баяндау*/ іnt n; y=mult(x, n); } float mult(v, k) /*функция анықтамасында баяндау*/float v; іnt k;{ float res;for(res=0.0; k>0;k--) res=res*v; return(res);/*float типтімәндіқайтарады*/ }Return операторыкөмегіменшақырушыпрограммағатекбірғанамәнберіледі. Егерекішамаберілукерекболса, ондакөрсеткіштердіқолданукерек.Функция анықталуы атымен, формалды параметрлерімен және функция денесімен ерекшеленеді. Ол тағы да қайтаратын мәнінің типі және функцияның жады класы бойынша ерекшеленеді. Функцияны анықтау синтаксисі келесідей:[<ЖК түрі>][<тип түрі>]<сипаттаушы>([<параметрлер тізбегі>])[<параметрлерді баяндау>]<функция денесі>

Операторлар және оның түрлері.Оператор – белгілі бір іс-әрекетті орындайтын, Delphi-дегі аяқталған сөйлем.Операторлар:жай;құрлымды;болып екіге бөлінеді.Жай операторлар – программаның сызықтық орындалуын бұзбайтын операторлар. Мысалы: меншіктеу немесе арифметикалық операторлар.Құрлымды операторлар – программа жолдарының орындалу реттілігіне әсер ететін операторлар. Мысалы: тармақталу, қайталану және т.с.с.Жай операторларDelphi тіліндегі программада қандайда бір іс-әрекеттерді орындау үшін операторлар қолданылады. Оператор – тіл компиляторына белгілі бір іс-әрекеттерді орындау үшін берілген бұйрықтар (команды). Барлық операторлар жай және құрлымды операторлар болып екіге бөлінеді.Жай операторларға мыналар жатады:меншіктеу операторы;бос оператор;құрама оператор ;кіру операторы (операторы доступа); Меншіктеу операторыБұл оператор Delphi тіліндегі программада өте жиі пайдаланылады және «:=» таңбасы арқылы жазылады. Айтылған оператор сол жақтағыайнымалығаоң жақтағы айнымалының мәнін меншіктейді. Мысалы А := 10; Бос оператор Бос оператор – (;) белгісі арқылы анықталады және программаның ке келген жерінде кездеседі. Бұл оператор нақты бір ісәрекетті орындамайды,бірақ көп кездерде қажетті болып келеді. Құрама операторҚұрама оператор – begin және end операторларының арасында орналасқан, бір бірімен нүктелі үтір арқылы ажыратылған операторлар тобы. Сонымен құрама операторды келесі түрде көрсетуге болады:Begin оператор1; оператор2end;Delphi – де бір біріне қойылған операторлар саны шектелмеген.Қатынау (доступ) операторыҚатынау операторы – белгілі бір объектілердің құрама бөлшектеріне жеңіл, әрі тез қол жеткізуге мүмкіндік береді. Оператор келесі түрде анықталады:with объект do іс-әрекет;Құрлымдық операторларҚұрлымдық операторлар – программаның орындалу барысын өзгертетін операторлар. Оларға келесі операторлар жатады:шартсыз көшу операторы;шартты оператор;таңдау операторы;қайталану операторы;Шартсыз көшуоператорыШартсыз көшу операторы – программының ағымдағы орындалу жолынан басқа жолға ешбір іс-әрекетті орындамай көшіру үшін керек. Көшу белгілер көмегімен жүзеге асады.Белгі – программадағы белгілі бір оператордың алдында орналасқан, қос нүктемен ажыратылған идентификатор немесе таңбасыз 0 мен 9999 аралығындағы бүтін сан. Бұл белгілер программада пайдаланылмастан бұрын белгілерді сипаттау бөлімінде анықталуы керек. Ол бөлім label сөзінен басталады.Шартсыз көшу операторы:goto белгі;Программа бөлігін мысалға келтірейік:label 1;// 1 деген атпен белгі берілсінvar a: Integer;begin a: = 1 goto 1;// 1 белгісіне көшу a: = sqrt (a);// Бұл оператор еш уақытта орындалмайды!1: a:= a + a// 1 белгісімен белгіленген операторend;Шартты операторШартты оператор қандайда бір іс-әрекеттің орындалуын немесе орындалмауын берілген шартқа байланысты анықтайтын оператор. Бұл операторды программаның тармақталынуы үшін пайдаланады. Шартты оператордың құрлымы:if шарт then 1-оператор else 2-оператор;Шартты операторды қысқартылғантүрдеде пайдалануға болады:if условие then оператор;Мысал келтірейік:if a > 0 then b: = sqrt (a) else b: = a * 2; // толық түріif a = 10 then b: = b + 1;// қысқартылған түріПрограмманың тармақталуын бірнеше бағытта тармақталуы үшін бір біріне кірістірілген шартты операторларды пайдалануға болады. Оларда жоғарғыда көрсетілген форма бойынша бір біріне кірістіріледі.Таңдау операторыТаңдау операторы – белгілі бір варианттарға сәйкес таңдау жасауға және сол таңдауға сәйкес белгілі бір іс-әрекеттерді орындауға арналған оператор. Бұл оператор бірнеше шартты операторды пайдаланбай оларды ықшамды ұйымдастыруға мүмкіндік береді.Таңдау операторы:case селектор ofТізім1: Оператор1;ТізімN: ОператорN;else Оператор;end;Сонымен таңдау операторы селектордан, варианттар тізімінен және міндетті емес else бөлімінен тұрады. Мұндағы селектор міндетті түрде реттік типті болуы керек. Селектор ретінде жолдық шамаларды пайдалануға болмайды. Ол тексан, сипатталған тұрақтылар;селектор типімен сәйкес;ерекше (бір мән екі рет кездесуі мүмкін емес);Қайталану операторыКей кездерде программаның кейбір жолдары бірнеше орындалуы тиіс. Сол себепті көптеген программалау тілдерінде, сол сияқты Delphi-де де қайталану операторы немесе цикл қолданылады.Қайталану операторы(цикл) – бір реттен көп орындалатын операторлар тізбегі. Бұл операторларды цикл денесі деп атайды.Delphi-де қайталану операторының үш түрі бар:параметірлі қайталану операторы;қайталануды шартты жалғастыру операторы;қайталануды шартты аяқтау операторы;Циклдың денесіне goto шарсыз көшу операторын қоюға болады. Бұған қосымша, циклды аяқтамай тұрып, оның орындалуын тоқтату үшін break процедурасы пайдаланылады.Циклдің денесінде бірнеше цикл кездесуі мүмкін. Бұл жағдайда алдымен ішкі циклдер орындалып, содан кейін сыртқы циклдер орындалады. Параметірлі циклПараметірлі цикл - алдын ала қанша рет қайталанып орындалатыны белгілі болатын цикл. Бұл цикл келесі түрде болды:for параметр: = <бастапқы мән> to <соңғы мән> do оператор; немесеfor параметр: = <бастапқы мән> downto <соңғы мән> do оператор;Мұндағы, цикл параметірі – айнымалылар бөлімінде сипатталған, реттік типті айнымалы. Бастапқы мән дегеніміз цикл параметірі қабылдайтын алғашқы мәні, сәйкесінше соңғы мән дегеніміз цикл параметірі қабылдайтын соңғы мән. Бұл мәндердің типтері цикл параметірінің типіне сәйкес келуі керек. Ал оператор – циклдің денесін құратын, жалғыз немес құрама оператор. Қайталануды шартты жалғастыру операторыҚайталануды шартты жалғастыру операторы циклдің қанша рет орындалатындығы алдын ала белгісіз және циклдің денесі кейбір шарттарға байланысты орындалмайтын жағдайларда қолданылады. Мұндай цикл келесі түрде болады:while шарт do оператор;Мұндағы шарт логикалық амал, ол ақиқат немесе жалған бола алады, ал оператор – циклдің денесі. Ол қарапайым немес құрама болып келеді. Айтылған цикл тек шарт ақиқат (true) болғанда ғана орындалады. Шарт мәні жалған болысымен цикл қайталануын тоқтатады. Қайталануды шартты аяқтау операторыҚайталануды шартты аяқтау операторы циклдің алдын ала қанша рет орындалатыны белгісіз және цикл денесі кем дегенде бір рет орындалсын деген жағдайларда қолданылады. Мұндай цикл келесітүрде болады:repeat оператор1; операторNuntil шарт;repeat және until сөздерінің арасында орналасқан операторлар цикл денесі, ал шарт логикалық амал. Цикл денесіндегі операторлар кем дегенде бір рет орындалып, содан кейін ғана шарт тексеріледі. Егер шарт жалған болса, онда цикл денесі қайта орындалады. Цикл шарт ақиқат болғанша орындала береді.

Операциялар және оның түрлері(С/С++).Арттыру және азайту операциялары: ++ және - -. Бұл операциялар кез келген операторға 1-ді қосуға немесе азайтуға мүмкіндік береді. Көрсетілген операциялардың екі формасын ажыратады, постфикстік және префикстік. Олар өз арасында тек қай кезде арттыру немесе азайту болатынына байланысты ажыратылады. Арттыру және азайту операциялары өрнектің ортасындада орындалуы мүмкін, және де осы операциялар өрнек есептелгеннен кейін де, есептелмей тұрып та орындалуы мүмкін. Мысал қарастырайық:Мысал: L=10 болсын; онда, х=L++; x айнымалысына 10 мәнін меншіктеу болады.х=++b; x айнымалысына 11 мәнін меншіктеу.Екі жағдайда да L 11-ге тең болады.2-мысал:Sum=a+b++;Sum=a+ ++b;b++ - постфикстіктүр: b айнымалысыоныңмәніқолданылғаннанкейін өзгереді.++b - префикстіктүр: b айнымалысыоныңмәніқолданылмайтұрып өзгереді.Біріншіжағдайда: “a және b-нықосу, нәтижесін sum-ғаменшіктеужәне b айнымалысынбіргеарттыру”.Екіншіжағдайда: “b айнымалысынбіргеарттыру, a және b-нықосу, жәненәтижесін sum-ғаменшіктеу”.3-мысал:{ maіn()іnt a, b, s=0;a=b=g;s=a+b++; prіntf("%d %d\n", s, b)s=a+ ++b;prіntf("%d %d\n", s, b)}Азайтужәнеарттыруоперацияларыжоғарғы үстемдіккеие, текдомалақжақшалардың үстемдігіжоғарырақ.

операциясы – адрес арқылы қатынас жасау үшін пайдала­нылатын операция. Мысалы, ptrнұсқауыш типті айнымалысында max айныма­лысына нұсқайтын сілтеме сақталған болсын. Осы айнымалының мәнін білу үшін * адресі бойынша қатынас жасау операциясын қолдануға болады. ptrнұсқауышы мәнін анықтау үшін келесі операцияны орындау қажет: res=*ptr; Нұсқауышты сипаттау. Нұсқауыш типті айнымалыны сипатта­ғанда бе­ріл­ген нұсқауыш қандай типті айнымалыға сілтейтінін көрсету қажет. Өйт­ке­ні әр түрлі типті айнымалыға ЭЕМ жадында ұялардың әр түрлі саны бөлініп беріледі.

орындалу тиіс сериялар (бір блоктық оперторлар). Егер блок бірнеше операторлардан тұрса, олар бір құрама оператор ретінде қарастырылып, begin-end операторлық жақшалардың ішінде жазылады (мұндағы ескертетін жайт- программа денесі де бір сыртқы блок ретінде қарастырылады):if p then beginS1endelse beginS2end; Блокқа енгізілген тек біреу болса, оны операторлық жақшаларға алу міндетті емес.If (егер) командасының орындалу стандарты Паскальдағы сияқты: егер шарт орындалса, онда then кілттік сөзінен соң жазылған блок, шарт орындалмаса else кілттік сөзінен соң жазылған блок орындалды.Таңдау командасы- көп сериалы тармақталу командасы. Әдетте ол Case (қорап) операторын пайдаланып құралады.Оператордың жазылу үлгісі: Case өрнек of1-тізім: beginS1end;2-тізім: beginS2end;n- тізім: beginSnend;end; мұндағы өрнек- мәні бойынша сәйкес тізім нұсқаулары (S1, 2, …, Sn) орындалатын өрнек. Көбінесе ол мәні case операторының алдында енгізілетін айнымалы түрінде алынады;k- тізім сұрыптаушы (таңдаушы) делінеді Ол үтір арқылы ажыратылып жазылатын тұрақтылар тізімі (к=1, 2, …n).Тізім орнына бір тұрақтыны не тұрақтылар аралығын алуға болады. Ралық екі нүкте арқылы ажыратылып жазылады. Мысалы: 3.4.5.6 тізімін 3...6 аралығымен ауыстыру мүмкін: егер айнымалы (х)мәні (-;2) аралығында алынса таңдаушыны x<2 деп жазуға болады. Сәйкес тізім нұсқаулары орындалып болған соң басқару case операторынан соңғы нұсқауға беріледі. Егер өрнек не өрнек орнына жазылған айнымалы мәні бірде-бір таңдаушыға сәйкес келмесе case операторы орындалмай тастап кеті леді.

пППППППППППППППП

Параметрлі қайталану операторы(С/С++).FOR цикл операторыFor операторы айнымалы ретінде берілген цикл параметрінің алғашқы, соңғы мәні мен өзгеру қадамы белгілі болғанда, соған сәйкес бірнемесе бірнеше операторларды қайталап орындау кезінде қолда­нылады. Бұл оператор параметрлі цикл операторы немесе арифмети­калық цикл деп аталады.Forцикл операторының жалпы жазылу түрі:for (x=x0; x<=xk; x=x+dx)<1-оператор>;<2-оператор>;<n-оператор>;Мұнда x=x0 – цикл айнымалысының бастапқы мәні, x<=xk – циклдің орындалу шарты, x=x+dx – цикл айнымалысының қадамы. x=x0 цикл опера­торы орындаларда бір рет есептеледі, x<=xk ақиқат болса немесе 0-ге тең болмаса, цикл тұлғасы ретіндегі операторлар атқарылады. Содан соң x=x+dx есептеледі және x<=xk мәні қайта анықталады. x<=xk мәні жалған болса немесе жалпы жағдайда ол 0-ге тең болса, for операторының жұмысы аяқталады. Сонымен цикл тұлғасының келесі орындалуы немесе орын­дал­мауы оның атқарылуы алдында анық­талады.1-мысал./* 1-ден 100-ге дейінгі сандар қосындысын анықтау */#include <stdio.h>#include <conio.h>main (){ int s=0,i;clrscr(); printf("1-ден 100-ге дейінгі сандар қосындысы:");for (i=1;i<=100;i++)s+=i;printf("s=%d",s);printf("\nАяқтау үшін Enter басыңыз\n");getch(); While операторы Орындалу саны алдын ала белгісіз болатын циклдер құру кезінде шарттары алдын ала немесе соңынан тексерілетін екі цикл түрі бар. Шарты алдын ала тексерілетін цикл операторының орындалу схемасы Оның жазылуы:while (шарт-өрнек) оператор;Мұнда шарт ретінде шартты өрнек немесе кез келген типтегі өрнек пайдаланылуы мүмкін. Опера­тор қарапайым немесе құрама болуы мүмкін. Ол құрама оператор болса, онда операторлар жиыны жүйелі жақшаға алынып жазылады. While операторы орындалғанда, алдымен жақша ішіндегі өрнек есептеліп тексеріледі. Егер өрнек мәні ақиқат болса немесе жалпы жағдайда 0-ге тең болмаса, онда оператор атқары­лады. Содан соң жақшадағы өрнек тағы да есеп­теледі. Егер өрнек мәні жалған болса (немесе жалпы жағдайда 0-ге тең болса), онда while цикл операторы өз жұмысын аяқтайды. Мұнда шарт-өрнек құрамына кіретін айнымалы цикл ішінде өзге­ріп отырады. 5-мысал. /* 1-ден 100-ге дейінгі бүтін сандар қосындысы */#include <stdio.h>#include <conio.h>main (){int s,k;clrscr();s=0; k=1;while (k<=100){ s+=k k++;}printf("s= %d",s);printf("\nАяқтау үшін Enter басыңыз\n");getch();} Do ... while цикл операторыШарты соңынан тексерілетін do … while циклінің орындалу схе­масы суретте көрсетіл­ген. Осыған сәйкес оператордың жалпы жазылу түрі:

Препроцессор директивалары. Препроцессордың директивалары. Кез келген Си программасы бір немесе бірнеше “функциялардан”, яғни ол жиналатын негізгі модульдерден тұрады.Си тіліндегі программаның қарапайым мысалын келтіреміз.#include<stdio.h>препроцессордың директивалары */main( )/*аргументі бар функцияның аты *{ intm; /* сипаттау операторы */m=1; меншіктеу операторы */printf (“%d нач. знач. \n “ , m); } /* шығару функцияның шақыру операторы*/Препроцессордың командалық қатарлары (директивалар)Си препроцессорі программаның алғашқы мәтінін соңғысы компилятордың кірісіне түспес бұрын си тіліне өңдейді. Препроцессор бүкіл макрошақыруларды кеңейтеді және бүкіл сыртқы файлдарды қояды. Препроцессор командасын белгілеуге # символы қолданылады. Мысалы: #defіne - макроны анықтау;#іnclude - сыртқы файлдан мәтін қою;#іnclude <stdіo.h> - stdіo.h (стандартты кіріс/шығыс) файлдарынан мәтін қою үшін.(қойылатын файлдар кітапханаға қосылған функциясымен интерфейстерді суреттеуден тұрады).<math.h> - математикалық функция.Сонымен, программа бір немесе бірнеше функциялардан тұрады, тіпті олардың біреуі міндетті түрде maіn() болып аталуы керек. Функцияларды суреттеу тақырыбынан және денесінен тұрады. Тақырып өз кезегінде #іnclude және т.б. түрдегі препроцессор директивалардан және функция атынан тұрады. Функция атының өте жақсы белгісі ретінде дөңгелек жақшалар қызмет атқарады, тіпті аргумент, жалпы айтқанда, болмауы мүмкін. Функция денесі жүйелі жақшаға алынған және әрқайсысы “;” символымен аяқталатын операторлар жиынтығынан береді.

Си тілінде массивтердің бірнеше индекстері болуы мүмкін. Көп өлшемді массивтер жиі жол және бағандар бойынша реттелген мәндерден тұратын кестелерді бейнелеу үшін қолданылады. Кесенің нақты элементін иднтификациялау үшін екі индекс көрсетіледі: бірінші-элементтің жолын көрсетеді, ал екіншісі бағанын көрсетеді. Осындай кестелер немесе массивтер екі өлшемді массивтер деп аталады. Массивтер. Екі өлшемді массивтерді қолдану арқылы программаны өңдеу.*Жоспары:Массивтің сипатталуы.Екі өлшемді массивтерМассивтің сипатталуы. Массивтер бірдей типті және бір атты логикалық байланысқан жадының ұяшықтар тобы болып табылады. Массивтің элементіне қатынас жасау үшін массивтегі осы элементтің массивтің атын және позициясының нөмірін көрсету қажет. Кез келген массивтің бірінші элементі нөлдік реттік нөмерге ие болады. Массивті баяндағанда массивтің атын, әрбір элементінің типін және элементтерінің санын көрсету керек. Массивтің элементтері массивті баяндаудың соңына теңдік белгісін және үтірмен бөлінген инициалданатын мәндер (фигурлы жақшаға алынған) тізімін қою жолымен инициалдауға болады. Төменде келтірілген программа бүтін типті массивті оң 10 мәндермен инициалдайды./* Баяндауда массивті инициалдау */#include <stdio.h>main(){ int i, n[10]={2, 27, 64, 18, 95, 14, 90, 70, 6, 3}; for (i=0; i<=9; i++) printf(“%3d”, n[i]);

Си тілінде массивтердің бірнеше индекстері болуы мүмкін. Көп өлшемді массивтер жиі жол және бағандар бойынша реттелген мәндерден тұратын кестелерді бейнелеу үшін қолданылады. Кесенің нақты элементін иднтификациялау үшін екі индекс көрсетіледі: бірінші-элементтің жолын көрсетеді, ал екіншісі бағанын көрсетеді. Осындай кестелер немесе массивтер екі өлшемді массивтер деп аталады.Көп өлшемді массив бір өлшемді массив сияқты оның баяндалуында инициалдануы мүмкін. Мысалы, int b[2][2]={{1, 2}, {3, 4}};Келесі программа екі өлшемді массивтің баяндалу кезіндегі инициалдауын көрсетеді. Программада екі жол және үш бағанды (әрқайсысы алты элементтен тұрады) үш массив баяндалады. Әрбір массивтің элементтерін шығару үшін программада printarray функциясы шақырылады.

Си тілінде нұсқауыш типті айнымалылар да бар. Нұсқауыш тип­ті айнымалылар мәні болып белгілі бір шаманың адресі саналады. Мысалы, нұсқауыш типті айнымалы ptr идентификаторы арқы­лы белгіленген болсын, онда төмендегі оператор sum айнымалы­сының адресін ptrаттынұсқауыш типті айнымалыға меншіктейді. ptrаттынұсқауыш типті айнымалы басқа да объектіге сілтеуі мүмкін. Мысалы:int *ptr;ptr=∑ ptr=&max;

Си тіліндегі нұсқауыштар. Нұсқауыштар. Нұсқауыш мәліметтердің адресін сақтайтын айныма­лы бо­лып табылады. Жалпы алғанда, нұсқауыш адрестің символдық кескін­делуі болып саналады.Қарастырылатын мысалда &sum – sum атты айныма­лыға сілтейтін нұсқауыш болып табылады. Нақты адрес ретінде белгілі бір сан тұрады, ал &sum нұсқауыш типті константа болып табылады.

СССССССССССССССССССССССССС

Си тіліндегі программа құрылымы. Кез келген программа бір немесе бірнеше функциялардан тұрады. Олар программа құруға керекті негізгі модульдер болып табылады. Кез келген программаның жазылған алғашқы мәтіні бастапқы код деп ата­лады. Оны біріктірілген программалау ортасында теріп, сонан соң компилятор арқылы машиналық кодқа түрлендіріп орындаймыз. Келесі суретте Си программасының жалпы құрылымы көрсетіСонымен, Си программасы бірнеше функциялардан (main, f1, f2…) құралады және олардың біреуі міндетті түрде main() болуы қажет. Қарапайым программаның мысалын қарастырайық. Жалпы кез кел­ген функция оның тақырыбы мен денесінен тұрады.Алдымен программа препроцессор арқылы өңделіп, оның директивала­рын (командаларын) орындайды. Мұнда программаға тақырыптық файлдар – программаға қосымша элементтер енгізетін мәтіндік файлдар жазылады. Олар мәліметтерді енгізу/шығару операцияларын немесе экран сипаттамала­рын өзгерту үшін қажет.Программадағы кез келген функция тақырыбы препроцессордың дирек­ти­васынан және функция атынан тұрады. Функция атынажалғасып, жақша ішіне параметрлер жазы­луы мүмкін, кейде параметрлер болмайды, ондайда жақша ішіне ешнәрсе жазылмайды.Функция тұлғасы операторлардан тұрады, олар жүйелі жақша­лар­мен шек­теледі. Әрбір оператордан кейін ; таңбасы қойылады.Енді бір программа мысалын келтірейік:/* Герон формуласы арқылы үшбұрыш ауданын табу  */#include <stdio.h>/* енгізу/шығару директивасы */#include <math.h>/* математикалық функциялар директивасы main() /* басты функцияны қолдануint a,b,c; бүтін айнымалыларды сипаттау float p,s; /* нақты айнымалыларды сипаттау */printf("\n‚ үшбұрыш қабырғаларын енгіз : \n");scanf("%f%f%f",&a,&b,&c); p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c) printf("s=%f",s);Программадатүсініктемелерберуүшін /* және */ таңбаларықолда­ны­лады, олардыңішінеқазақша, орысша, ағылшыншасөзтіркестерінжазуғаболады. Препроцессор директивалары #include сөзінен кейін жазылады, stdio.h тіркесі енгізу/шығару операциялары орындалатынын білдіреді. Ал math.h сөз тіркесі программада математикалық функциялар пайдаланыла­тынын көрсетеді (сурет).

Си тіліндегі мәліметтер типтері.Си тілінде бірнеше негізгі мәліметтер типтерін қолдану негізделген. Си тілі стандартында әр түрлі мәліметтер типтеріне нұсқайтын жеті кілтті сөздер қолданылады. Осы кілтті сөздер тізімін келтірсек: іnt, long, short, unsіgned, char, float, double. Бірінші төрт кілтті сөздер бүтін сандарды, яғни ондық түбір бөлігінсіз бүтін санды білдіруге пайдаланады. Олар программада бөлек немесе кейбір бірігулерден, мысалға unsіgned short сияқты пайда болуы мүмкін. Char сөзі әріптерге және кейбір өзге символдарға, және де #, $, % және & сияқтыларға көрсету үшін арналған. Соңғы екі кілттік сөздер ондық нүктелі сандарды ұсынуға қолданылады. Іnt, short, long типтері. Бұл типтердің мәліметтері “таңбалы сан”, яғни мұндай типті айнымалылар алатын мәні тек қана оң, теріс сандар және нөл саны бола алады. Бір бит таңбасы жоқ санның таңбасын көрсету үшін пайдаланылады. Мысалға, 16-бит форматындағы 0-ден 65535 диапазоны арасындағы таңбасы жоқ кез келген бүтін санды алуға болады. Дәл солай-ақ 16-биттік сөзді -32768-ден 32767 диапазонындағы таңбасы бар бүтін санды елестетуге қолдануға болады. Көңіл аударсақ, диапазондар ұзындығы қос жағдайларда бірдей. Мәліметтерді суреттеу кезінде тек қана одан кейін айнымалылар аттарының тізімі болуы керек типті енгізу қажет. Суреттеу мысалын келтірейік:Іnt m1, m2; Short k1, k2, k3; Long l1, l2, l3Кілтті сөздер тіркестерін, мысалға, long, іnt немесе short іnt сияқтыларда пайдалану long және short кілтті сөздерінің ұзынырақ жазылуы.Бүтін тұрақтылар. Си тілінің заңдылығы бойынша, ондық нүктесіз және дәреже көрсеткішінсіз сан бүтін ретінде қаралады. Мысалы:25, 239 - бүтін; 25.0, 25е2 - бүтін емес;long типті тұрақтылар мына түрде жазылады: 225а.Бүтін типті айнымалылар. Тұрақтылар көбінесе айнымалыларды инициализациялау кезінде қолданылады. Бұл дегеніміз айнымалыға кейбір мәнді өңдеу алдында меншіктеуді білдіреді. Мысалы: К2=0; m2=1.Айнымалыны суреттеу операторларына инициалдауға болады. Мысалы: Іnt m2=15;Short k2, k3=0;Long l1=25, l2=30;Unsіgned мәліметтер типі. Көбінесе мұндай тип модификатор болып қызмет атқарады, дегенмен ертерек баяндалған үшеуінен ғана. Мына варианттарды пайдаланылуы мүмкін: unsіgned іnt, unsіgned long. Таңбасы жоқ бүтін айнымалылар қарапайым бүтін айнымалылар сияқты баяндалады және инициалданады.Unsіgned іnt kol;Unsіgned short s=2;Char мәліметтертипі. Бұл тип 0-ден 255 диапазонындағы таңбасы жоқ бүтін сандарды анықтайды. Көбінесе, мұндай бүтін бір байт жадыға орналастырылады.Машинада санды символға және керісінше аударатын бір код пайдаланылады. Көптеген компьютерлерде бұл код ASCІІ. Символдық айнымалыны баяндау үшін char кілтті сөзі қолданылады. Мысалы:Char s2;Char s2, s3; Char sk=k;Си тілінің стандартында қабылданған тәртіп бойынша айнымалы мәні және char типті тұрақты тек қана жалғыз символ болуы мүмкін.Float және double мәліметтер типтері. Есептеу сипатындағы программаларда жылжымалы нүктелі сан жиі қолданылады. Си тілінде және де мәліметтер float типімен баяндалады. Жылжымалы нүктесі бар айнымалылар бүтін типті айнымалылар сияқты сипатталады және инициалданады. Мысалы:Float s1, s2; Double s; Float pe=7.52e-7;

Си тілінің логикалық операцияларыЛогикалықоперациялар. Екіжәнеодандакөпшартты өрнектібіріктірукезінделогикалықоперацияларқолданылады. Ситілінде үшлогикалықоперациябар: &&(және), ||(немесе), !(“жоқ” немесе “емес”).f11&&f12 ақиқат, текекі өрнектіңде f11 және f12 мәндеріақиқатболса.f11||f12 ақиқат, егер f11 және f12 өрнектерініңеңболмағандабіреуіақиқатболсанемесеекеуідеақиқатболса.!f11 ақиқат, егер f11 өрнегіжалғанболсажәнекерісіншеМысал 15>12&&8>10 - жалған (текқанабір өрнекшемәніақиқат)15>12||8>10 - ақиқат (әйтеуірбір өрнекшемәніақиқат). операциясыөтежоғары үстемдіккеие, текдомалақжақшалароданжоғары үстемдіккеие. &&операциясының үстемдігі || операциясының үстемдігіненжоғары, алайдабұлекіоперация үстемдігіменшіктеуоперациясының үстемдігінентөмен. &&және || операцияларынқолданукезіндетөмендегілердібілуқажет: Бұлоперациялардыңорындалуынәтижемәніақиқатнемесежалғанболғанкездетоқтайды. Мысалы, f11&&f12 өрнегіберілсін. Егер f11 жалғанболса, яғнибарлықөрнекжалған, сондықтан f12 есептелінбейді. Осығанұқсас, егербізге f11||f12 өрнегіберілдіделік. Онда f11-ақиқатболса, f12 есептелінбейді.Келесі программада екі таңдауы бар if/else құрылымының қолдану мысалы келтірілген. / Жеңілдік есебімен сатып алу бағасы есептеледі#include <stdio.h>#include <conio.h>void main(){ float sum; /* сатып алудың бағасы * printf(“\n Жеңілдік есебімен сатып алу бағасы ”); printf(“есептеледі \n”); printf(“Сатып алу бағасын енгіз ->”); scanf(“%f”, &sum); if (sum<1000) printf(“Жеңілдік берілмейді.\n”);else { printf(“Сізге жеңілдік беріледі ”); if (sum>3000) { printf(“5%\n”); sum = 0.95 * sum; } else { printf(“3%\ sum = 0.97 * sum; printf(“Жеңілдікпен берілетін бағасы %.2f тг\n”, sum); printf(“\nАяқталу үшін <Enter> басыңыз”); getch(); }Программаның нәтижесі:Жеңілдік есебімен сатып алу бағасы есептеледіСатып алу бағасын енгіз -> 2250Сізге жеңілдік беріледі 3%.Жеңілдікпен берілетін бағасы: 2182.50 тг.

Символдық жолдарға қолданылатын функциялар(С/С++)..Символдық қатарларды баяндау.Символдық қатарлардан тұратын массивтер.Символдарды өңдеу библиотекасы. Қатарлардытүрлендіруфункциялары Стандарттыенгізу/шығарубиблиотекасыныңфункциялары Символдық қатарларды баяндау. Символдық қатарларды бірнеше әдістер арқылы анықтауға болады. Келесі әдістер негізгі әдістерге жатады:қатарлық константаларды қолдану;символдық қатарлардан тұратын массивтерді және char типті массивтерді қолдану.қатарлық константалар тырнақшаларға алынады. Тырнақшаларға алынған символдар және қатарлардың ең соңғы ‘/0’ символы жадының тізбектелген ұяшықтарында жазылады. Компилятор қатарды жадыға орналастырғанда жадының қажетті өлшемін анықтау үшін символдардың санын есептейді. қатарлық константаларды #define директивасының көмегімен анықтауға болады. Егер қатарда тырнақша символын қолдану керек болса, онда бұл символдың алдына кері бөлшек сызығы жазылады. Мысалы:printf (“\” Сведения о сессии”\n”);қатарлық константа осы жол жазылған жадыдағы орынға сілтейтін көрсеткіш болып табылады. Символдық қатарлардың массивін анықтағанда компилятор жадыдының қажетті өлшемін анықтау үшін массивті баяндағанда қатарлық константа арқылы инициалдауға болады. (Статикалық және сыртқы массивтер қолданылады).charc[ ]=”Определение максимального балла”; (сыртқы массив)Әдеттегі массивтерді қолданған жағдайдағы сияқты бұл массивтің аты с, осы массивтің 1-ші элементіне сілтейтін көрсеткіш болып табылады.==&c[0]; *c==’0’, және *(c+1)==c[1]==’n’;қатарларды анықтау үшін көрсеткіштерді қолданамыз. Мысалы:char *c1=”\n ввод баллов”;Осы баяндалуға келесі баяндалу эквивалентті:static char c1[ ]=”\n вводбаллов”;қарастырылғанқатардыңекібаяндауыс1 қатардыңкөрсеткішіекенінкөрсетеді. Жадыныңқажетті өлшемінайқынкөрсетугедеболады. Сыртқыбаяндаудакелесіқатардымынатүрдежазуғаболады:charc[35]=”определение максимального балла”; вместоcharc[ ]=”определение максимального балла”;Элементтердің саны қатардың ұзындығынан бір символға артық болуы керек (нөль-символын есептегенде).Басқа статикалық немесе сыртқы массивтердегідей кез келген қолданылған элементтер автоматты түрде нөлмен инициалданады (символдық түрде бұл нөль санының символыны емес, нөль-символы болып табылады).Символдық қатарлардан тұратын массивтер. Әрбір жолы символдық массив болып табылатын символдық қатарлардан тұратын массивтерді қарастырайық. Статикалық массивтің баяндалуын келесі түрде келтірейік:staticchar *m[4]={“регистр”,”ячейка”,”указатель”,”элемент”};*m[4] массиві символдық қатарларға сілтейтін 4 көрсеткіштен тұрады. Сонымен, символдық қатарлар массивтер болып табылатын болса, онда осы массивтерге сілтейтін 4 көрсеткіш қарастырылады. 1-ші жолға сілтейтін 1-ші көрсеткіш болып m[0]-ші табылады. 2-ші жолға сілтейтін 2-ші көрсеткіш m[1]. Сонымен, әрбір көрсеткіш сәйкес қатардың ең бірінші символына сілтейді.*m[0]==’р’; *m[1]==’я’; *m[2]==’у’; *m[3]==’э’;инициалдау массивтерге арналған ережелер бойынша орындалады. Тырнақшаларға жазылатын текстер жақшалы жазбаларға эквивалентті:{{…},{…},…,{…}};қатарлардан құрылған массивтерді баяндағанда символдық қатарлардың өлшемін көрсетуге де болады және бұл баяндалуда қатарлардың ұзындығы бірдей болады:staticcharm[4][10];статикалық (сыртқы) массивтің қатарларының қолданылмаған (артық) элементтері ‘/0’ (нөль-символымен) символымен инициалданады. Артық элементтер (яғни, жады тиімді жұмсалу үшін) болмас үшін келесі баяндалуларды қолдануға болады:staticchar *[4];Мұнда әрбір қатардың ұзындығы массивтің сәйкес қатарын инициалдайтын нақтылы қатармен анықталады. Символдарды өңдеу библиотекасы. Символдарды өңдеу библиотекасы символдық мәліметтермен бір қатар пайдалы тексерістер мен операцияларды орындайтын бірнеше функциялардан тұрады. Әрбір функция аргумент ретінде int типін немесе EOF (файл соңы) индикаторын ұсынатын символды қабылдайды. Символдарды өңдеу библиотекасының функцияларымен жұмыс істеу үшін <ctype.h> тақырыптық файлды қосамыз. Кестеде символдарды өңдеу библиотекасының функциялар тізімі келтірілген. Кесте-Символдарды өңдеу библиотекасының функциялары