С++ Қарапайым обьектілер. С тіліні арапайым обьектілері
Скачать 467.86 Kb.
|
С++ тілінің қарапайым обьектілері Тілдің қарапайым объектілеріне сан, идентификатор, константа, айны малы жəне функция, өрнек ұғымдары кіреді. Программадағы негізгі амалдардың орындалуына керекті мəлі мет тердің сандық, логикалық немесе символдық (литерлік) мəн дері бо лады. Олармен жұмыс істеу қолайлы болуы үшін лгебра кур сын дағы белгілеу лерге ұқсас шартты атаулар пайдаланы лады. Бұл атау лар əр түрлі мəндер ді (сандық мəн, символдық мəн, т.с.с.) қабыл дауы мүмкін, сондықтан оның типі деген ұғым енгізіледі. Сандар. Сандар мен айнымалылар бүтін жəне нақты болып екіге бөлінеді. Бүтін сандар: +4, -100, 15743, 0, т.с.с. Қазіргі дербес компью терлер үшін қолданылатын бүтін сандар (ағылшынша ІNTE GER) -32768 бен +32767 аралығында ғана жазылады, бұдан үлкен сандар көбінесе нақты сандарға айналдырылады. Нақты сандар кəдімгі табиғи аралас сандар тəрізді санның бүтіні мен бөлшегін нүкте арқылы бөлген күйде жазылады. Мысалы: 2.65, 0.5, -0.862, -6.0. Ал өте үлкен немесе өте кіші нақты сандар көрсеткіші бар экспоненциал сандар ретінде mЕ±р түрінде жазылады да, олардың диапазоны əлде қайда кең болады, мұндағы m – санның мантиссасы деп аталады, Е немесе е – онның дəрежесі дегенді білдіреді, ал р – дəреженің өз мəні. Мысалы: Кəдімгі жазылуы С тілінде жазылуы Символдардан тіл лексемдері құралады, ал лексемдер константалар, айныма лы лар, идентификаторлар, т.б. тұрады Тұрақты немесе константа деп программаның орындалу бары сында мəн дері өзгеріссіз қалатын шамаларды айтады, олар сандық, символдық немесе тіркестік мəнді тұрақты түрде қабылдайтын лексем болып табылады. Тіл ережесі бой ынша бірнеше константа типтері болады, мысалы, символдық, бүтін, нақты жəне тіркестік константалар. Компилятор константа ны лексем (қарапайым конструкция) ретінде қарас тырып, оны сыртқы түріне қарай бір типке жатқызады. Əрбір типке сəйкес константалар форматтары 5.2 кестеде көрсетілген. 5.2 кесте. С/C++ тілінің константалары Бүтін жəне нақты константалардың қабылдай алатын мəндердиапазондары келесі тарауда келтірілген. Егер теріс таңбалы бүтін немесе нақты кон станта алғымыз келсе, оның алды на сан таңбасын керіге ауыстыратын унарлық, яғни бір орындық операция белгісі (-) қойылады, мысалы: -218,-022, -0х4С, -4.8, -0.1е4. Константа жəне сан жазылуында бос орын таңбасы болмайды жəне де санның бүтіні мен бөлшегін айыру үшін үтір емес нүкте қойылады. Бір ғана символдан тұратын символдық константалар стандартты char типінде болып, компьютер жадында бір байт орын алады. Екі таңбадан тұратын символдық константалар екі байт орын алып, int типінде болады да, алғашқы символ кіші адресті байтта сақталады. Айнымалылар деп программаның орындалу барысында əр түрлі мəндерді қабылдай алатын шамаларды айтады. Əрбір айнымалы мен константа прог рамма алдында сипат талуы тиіс. Олардың компьютер жадында алатын орны типтеріне байланысты болады. Константалар мен айнымалылар идентифи катормен белгі ленеді. Айнымалы қасиеттері: 1. айнымалы белгілі бір мəнге ие болмағанша, анықталмаған бо лып саналады. Оған мəн беру мынадай тəсілдермен орындалады: • сырттан енгізу арқылы; • константантаны меншіктеу арқылы; • бұрын анықталған айнымалының мəнін беру арқылы; 2. кез келген сəтте айнымалының белгілі бір мəні болады немесе ол анықталмаған болып есептеледі; 3. айнымалыға соңғы берілген мəн оның алдыңғы мəнін жойып (өшіріп) жібереді. Айнымалыны таңдау (оқу) жəне оны пайдалану айнымалының мəнін өзгертпейді. Əрбір айнымалы мен константа программа алдында сипатталуы тиіс. Олардың компьютер жадында алатын орны типтеріне байланысты болады. Константалар мен айнымалылар идентификатормен белгі ленеді. С/С++ тілдеріндегі айнымалы – белгілі бір типтегі мəліметтер сақталатын компьютер жадының ат қойылған аймағы. Айныма лының аты мен мəні болады. Аты компьютер жадында мəні сақталған мəліметті пайдалану үшін керек. Пайдалану алдында кез келген айнымалы сипатталуы тиіс. Мысалы: int a; float x; Атау – идентификатор (іdentіfіcatіon – объектінің белгілі бір символдар тіркесіне сəйкестігін бекіту) программаны жəне прог рам мадағы тұрақтыларды, типтер ді, айнымалыларды, функциялар ды, фай л дар ды жəне тағы басқа ларды белгілеп жазу үшін қажет. Иден ти фи ка тор лар тұрақтыларды, айнымалыларды,олардың түрлерін, функ ция ларды, программаларды, файлдарды,т.б. программа объектілерін бел гілеу үшін қолданылады. Оның ұзындығын өте үлкен етудің қажеті жоқ, өйткені атауларды теружəне кейіннен сақтау біраз уақыт керек етеді. Идентификатор – латын əрпінен басталып, əріптер мен цифрлардан тұратын тізбек. Мысалы, a, beta, b5, baga, т.с.с. Айнымалыны сипаттау мынадай нұсқада орындалады: char f; long z, t; int a, beta, baga; float b5, k, n; int y = 10; Идентификаторлар латын алфавитінің бас жəне кіші əріте рінен жəне цифр лардан құралады. Əріп ретінде астын сызу символын (_) қолдануға рұқсат етілген. Бас əріп пен кіші əріп бірдей болып саналмайды, олар əр түрлі иден тификаторлар болып есептеледі, мысалы, abc, ABC, A128B, a128b төрт түрлі идентификатор болып есептеледі.Идентификатор ұзындығына шек қойылмайды, бірақ оның алғаш қы 31 символы ғана мағыналы болып саналады. Идентификатор оны сипат тау кезінде анықталады да, кейінгі операторларда қолданыла береді. Сипатта латын иденти фикатор С тілінің алдын ала анықталған түйінді сөздерімен сəйкес кел меуі тиіс. Константалардан, айнымалылардан, функциялардан жəне опе ра циялар таң ба ларынан өрнектер құралады. Əрбір өрнек арифме тика лық опера циялар таңбаларымен қажетті жақшалар арқылы бір ік ті рілген бірнеше операнд тар дан (сан, айнымалы, константа) тұра ды. Ма тематикадағы формулалар,алгеб радағы көпмүшеліктер прог рам малау тілінде тек осы өрнек ұғымы арқылы беріледі.Егер өрнек мəні бүтін немесе нақты сан болатын болса, ол арифме ти калық өрнек болып саналады. Арифметикалық өрнектерде мынадай операциялар: + - * / % (қалдық табу) болады. Жалпы өрнектер бір жол бойына жа зылады жəне олардағы операция реттілігі жақшалармен анықта лады. Өрнектерді жазу мысалдары: і = і+1; k = 5.35; x1=(-b+sqrt(b*b-4*a*c))/(2*a); y = sqrt(sin(x)+1); c = 2*pі*r; R = 19.36; Қатынас таңбасы арқылы біріктірілген екі арифметикалық өрнек мəні басқа тілдердегідей ақиқат (0-ге тең емес) немесе жалған (0-ге тең) деп айтылады. Бірақ С тілінде логикалық тип түсінігі айтыл майды, ол С++ тілінде бар. Түйінді сөздер (keyword) – мағынасы алдын ала анықталған идентифи ка торлар, олардың саны шектеулі. Программалаушы айнымалы, константа, өз функциялары аттарында тілдің түйінді сөздерін пайдаланбауы тиіс, олар тек өз мағына сында ғана қолданылады. С тіліндегі бірсыпыра түйінді сөздер тізімін келтірейік. auto double int struct break else long switch register tupedef char extern return void case float unsigned default for signed union do if sizeof volatile continue enum short while C++ тілі бұларға тағы аздаған сөздер қосады: asm catch class friend inline new operator private protected public templatethis throw try virtual wchar_t Бұған қоса операторлар мен стандартты функциялар аттары да түйінді сөздер тізімі секілді басқа мағынада қолданылмайды. Стандартты функциялар. С/С++ тілдерінде алдын ала программалары жасалып стандартты модульге жинақталып қойылған, қажет кезінде пайдалануға бола тын объектілердің бірі стандартты функциялар болып табылады. Олар жиі кездесетін математикалық жəне басқа да функция ларды есептеу үшін қолданылады. Стандартты функцияны жазу үшін мін детті түрде функцияның аты жəне жақшаның ішінде аргументі көрсетілуі қажет. Стандартты функциялар: fabs(x), sіn(x), cos(x),asin(x), acos(x), tan(x), exp(x), log(x), sqrt(x), atan(x), т.с.с. Кітап соңындағы А қосымшасында бірсыпыра функция тізімдері мен олардың жазылу жолдары көрсетілген. Функцияны есептеу барысында аргумент пен функция типтерінің əр уақытта сəйкес келе бермейтінін есте сақтаған жөн. С/C++ тіліндегі стандартты функцияларды пайдалану үшін Комментарий – түсініктеме ретінде қолдануға болатын символ дар тізбегі. C тіліндегі коммен тарий басы мен аяғы мынадай /* ...*/ таңбалармен шектелуі тиіс. Олар бір немесе бірнеше жолдардан да тұра алады. Си++ тілінде жол соңында тұратын комментарийлер // сиволдарынан кейін орналасады. С жəне Си++ тілдерінде құрастырылған есептерді бір компилятор арқылышығаруға болатындықтан, көбінесе түсініктемелердің жоғарыдағы екі түрін де пайдалана беруге болады. Комментарий ішінде тек С++ тілі алфавитіндегі символдарды ғана емес, компьютерде қолдануға болатын барлық символ дарды пайдалана беруге болады. Мысалы, олар ұлттық алфавиттерді де (егер ол экранда бейне ленетін болса) пайдалана алады. Түсініктеме ретінде мүмкіндігінше // сиволдарынан кейін ор на ласатын комментарийлерді қолдану ұсынылады, ал қос таңбалық жақша ішіндегі /* ... */ символдар тізбегін программаны түзетіп жөндеу кезінде кодтар бөлі гін уақытша орындамайтын кездерде пайдаланған дұрыс болып табылады. Программалау тілінің белгілі бір іс-əрекетті орындай алатын тиянақ ты мағынасы бар ең қарапайым сөйлемі оператор болып табы лады. Тіл объектілерін, яғни программада пайдаланылатын мəлімет тердің атаулары мен типтерін, олардың алғашқы мəндерін алдын ала тағайындау програм ма ның сипатталуы болып саналады. Енді Фаренгейт градустарын Цельсий градустарына ауыстыратын C тілінде жазылған программа мəтінін келтірейік. /* Градустарды Фаренгейт бірлігінен Цельсий бірлігіне алмастыру, f = 0, 20, ...,300 */ #include #include main() { int t0, tn, step; float f,c; t0 = 0; /* төменгі температура */ tn =300; /* жоғарғы температура */ step = 20; /* өзгеру қадамы */ clrscr(); f = t0; 75 printf("Град_Ф Град_Ц\n"); while (f <= tn) { c = (5.0/9.0) * (f -32.0); printf("%4.0f %6.1f\n", f, c); f = f + step; } printf("\nАяқтау үшін ENTER басыңыз"); getch(); } |