- Қордағы (резервтегі) сөздер:
- 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, т.б.
- Бұл келтірілген түйінді сөздерді айнымалы аттары немесе тұтынушы қойған бейстандарт атаулар ретінде қолдануға болмайды.
Тілдің қарапайым объектілері
- Тілдің қарапайым объектілеріне тип, сан, идентификатор, константа, айнымалы жəне функция, өрнек ұғымдары кіреді. Тілдің ары қарай бөлінбейтін ең қарапайым бірлігі лексем (token деп те айтады) деп аталады. Лексемнің 5 типі бар: операциялар (operator), айыру таңбалары (separator), идентификаторлар (identifier), түйінді сөздер (keyword) жəне константалар (constant). Біз лексемдерді дұрыс жазуға мүмкіндік беретін объектілерді қарастырып, программаның жалпы құрылымынан мəліметтер берейік. Константалар жəне кез келген айнымалылар бүтін саннан саннан сөз тіркесте саннан, нақты саннан, символдан немесе тіркестерінен құралады.
- Мəліметтер типтері. Мұнда мəліметтердің бірнеше негізгі типтері қолданылады. Олар:
- char – символдық, яғни таңбалық тип,
- short – қысқа бүтін сан,
- int – бүтін сан типі,
- long – екі еселенген бүтін сан,
- float – нақты (жылжымалы нүктелі) сан типі,
- double – екі еселенген нақты сан типі.
- unsigned – таңбасыз бүтін сан,
- Алғашқы төрт тип бүтін сандарды сипаттау үшін
- қолданылады Төмендегі кестеде əр түрлі типтердің
- IBM PC-ге арналған ұзындықтары көрсетілген.
- Мəлімет типі Ұзындығы (байт) Сандар диапазоны
- char 8 бит – 1 байт -128 ... +127
- unsigned char 8 бит – 1 байт 0 ... 255
- short int 16 бит – 2 байт -32768 ... 32767
- unsigned short 16 бит – 2 байт 0 ... 65 535
- int 16 бит – 4 байт -32768 ... 32767
- unsigned [int] 32 бит – 4 байт 0 ... 4294967295
- long 32 бит – 4 байт -2 147 483 648 ... 2 147 483 647
- unsigned long 32 бит – 4 байт 0 ... 4 294 967 295
- float 32 бит – 4 байт 3.4*10-38 ... 3.4*1038
- double 64 бит – 8 байт 1.7*10-308 ... 1.7*10308
- long double 80 бит – 10 байт 3.4*10-4932 ... 3.4*104932
- Көрсетілген типтердің ең үлкен ұзындықтары əр түрлі компиляторларда бірдей болуы қажет емес. Олар компьютерлердің аппараттық мүмкіндіктеріне қарай тағайындалады. Бірақ оларға мынадай талаптар қойылады:
- int > =short >= 16 бит;
- Int типін стандарт бекітпеген, ол компьютерге немесе компиляторға байланысты өзгеріп отырады. 16-разрядты процессорде ол 2 байт (32768), ал 32-разрядтысында – 4 байт (2 147 483 647 ). Си++-те int = short (32768)
- long > = int; long типінің ұзындығы >= 32 бит;
- (Си++-дегі long 2 147 483 647 )
- Signed жəне unsigned модификаторлары да сандар шамасына əсер етеді, олар:
- unsigned short int – 2 байт, оның диапазоны 0 ..65536;
- unsigned long int – 4 байт, диапазоны 0..+4 294 967 295.
- Unsigned типі int, long, short түйінді сөздерімен сипатталатын типтердің модификаторы ретінде қолданылады.
- Char типін 0–255 аралығындағы таңбасыз бүтін сандарды сипаттауға қолдануға болады, ДК жадында бұларға бір байт орын бөлінген. Мысалы:
- char c1;
- char ck=’k’; // бірден осылай мəн беруге де болады
- Нақты сандар компьютерде 2 бөліктен – дəреже мен мантиссадан тұрады.
IBM-РС компьютерлерінде float типінің ені – 4 байт, оның бір разряды – сан таңбасы, 7 разряды – дəреже, 24 бит – мантисса. Егер double типі аты алдында long сөзі тұрса, онда оған 10 байт орын беріледі. Программалау практикасында көбінесе жылжымалы нүктелі (нақты немесе аралас) сандар пайдаланылады. Double типті сандар екі еселенген дəлдікпен 64 бит арқылы өрнектеледі. Double типінің ені – 8 байт, 1 бит – таңба, 11 бит –дəреже жəне 52 разряд – мантисса. Мантисса ені – санның дəлдігін, ал дəреже ені – оның диапазонын анықтайды.
- Си тілінде объектілердің мəндерін байт арқылы анықтау үшін sizeof стандартты операторы қолданылады. Мысалы:
- Cout<<“Данныетипа double занимают”<<sizeof(double)<<“байт\n";
- Сандар. Сандар мен айнымалылар бүтін жəне нақты болып екіге бөлінеді. Бүтін сандар: +4, -100, 15743, 0 , т.с.с.
- Дербес ЭЕМ-дер үшін қолданылатын бүтін сандар (іnt) бұрын -32768 бен +32767 аралығында ғана жазылған еді, қазір компьютер типіне байланысты ол басқаша да бола береді. Мұнда ондық, сегіздік жəне он алтылық бүтін сандар да пайдаланылады. Он алтылық сандардың алдына 0х белгісі қойылады. Мысалы, 0хA12 немесе 0х8B2. Сегіздік сандар алдына 0 қойылады: 0556, 07012, т.с.с.
- Нақты сандар (float) кəдімгі табиғи аралас сандар тəрізді санның бүтіні мен бөлшегін нүкте арқылы бөлген күйде жазылады. Мысалы:
- 2.65, 0.5, -0.862, -6.0. Ал өте үлкен немесе өте кіші нақты сандар көрсеткіші бар экспоненциал сандар ретінде mЕ±р түрінде жазылады да, олардың диапазоны əлде қайда кең болады, мұндағы m-санның мантиссасы деп аталады, Е-онның дəрежесі дегенді білдіреді, ал р-дəреженің өз мəні. Мысалы:
- 1,25•106 1.25Е+6 0,0005 0.5Е-3
- -5,2 • 10-12 - 5.2Е-12 -180000 -1.8Е+5
- Атау – идентификатор (іdentіfіеr – объектіге қойылған ат) программаны жəне программадағы тұрақтыларды, айнымалыларды, функцияларды, файлдарды жəне тағы басқаларды белгілеп жазу үшін қажет.
- Идентификатор – міндетті түрде əріптен басталатын сандар мен əріптердің тізбегі. Оның ұзындығын өте үлкен етудің қажеті жоқ, өйткені атауларды теру жəне кейіннен сақтау біраз уақыт керек етеді. Бірақ оларды өте қысқартпай, мағынасына сəкес атау беру қалыптасқан. Мысалы: X, x1, cymka, bec, p23ps6, dt54as, ALFA, baga2, salmak Omega2, т.с.с.
- Бас əріп пен кіші əріп бірдей болып саналмайды
- Тұрақты немесе константа деп программаның орындалу барысында мəндері өзгеріссіз қалатын шамаларды айтады. Тұрақтыға программа басындағы директива арқылы мəн берсек те немесе оны программаның сипаттау бөлімінде идентификатор түрінде белгілеп алып мəн берсек те болады. Олар сандық, символдық жəне тіркестік (іnt,
float, char, strіng) мəндерді қабылдай алады. Символдық жəне тіркестік (строковый – strіng) мəндер үшін орыс, қазақ əріптерін жəне кез келген символдарды пайдалануға болады. Олар тырнақша ішіндегі таңбалармен жазылады, мысалы: “S=“ ,“сумма” , “функцияның мəні”, “y=“ жəне т.б.
- Тұрақтыларды анықтау мысалдары:
a) Директива арқылы
#define костанта мəні
#define PI 3.14159 // pi=3.14159 болады
#define EULER 2.718282 // EULER=2.718282
Атау арқылы
b) const типi костанта = мəні
const float m=99999999;
const F=765; // типі int
болады
const char s=‘B’; // символдық тип
const Menіng_atjm = ‘Нұрбек Қахарман' ;
const C=‘С++‘;
- Айнымалылар деп программаның орындалу барысында əр түрлі мəндерді қабылдай алатын шамаларды айтады. Айнымалы – компьютер жадының ат қойылған аймағы. Оған мəн берілгенде, сол аймаққа мəннің екілік коды жазылады. Айнымалы мəнін қолдану үшін оның атын – идентификаторын жəне мəн орналасқан аймақтың адресін білу керек. Олар идентификаторлармен белгіленіп, əр уақытта əр түрлі мəнге ие бола алады. Айнымалылардың белгіленулері: alfa, y, x3, summa, baga, a1b8, т.с.с. Айнымалы атауы оның орындайтын міндетіне сəйкес, түсінікті жəне қарапайым болғаны жөн. Айнымалыларды сипаттау оларды пайдалану алдында кез-келген жерде орналасады да, алдында олардың типі көрсетіледі.
<тип> <идентификатор1>, ...,<идентификаторN> ;
Мысалы:
іnt
a, b=5, d, D;
float c, alfa=2.15, b4=1.336e2;
char symbol, cc;
string coz, coilem;
Сипаттау кезінде бірден бастапқы мəн меншіктеуге болады, оны айнымалыны инициалдау дейді.
- Арифметикалық немесе логикалық амалдар таңбасымен біріктірілген айнымалылар, атаулар, функциялар, жиындар (массивтер) тізбегі өрнек деп аталады.Математикадағы формулалар, арифметикалық өрнектер, алгебрадағы көпмүшеліктер программалау тілінде тек осы өрнек ұғымы арқылы беріледі.Программалау тілінің белгілі бір іс-əрекетті орындай алатын тиянақты мағынасы бар ең қарапайым сөйлемі оператор деп аталады.
Стандартты функциялар
- Си++ тілінде математикадағы тəрізді стандартты функциялар бар. Олар жиі кездесетін математикалық жəне басқа да функцияларды есептеу үшін қолданылады. Стандартты функцияны жазу үшін міндетті түрде функцияның аты жəне жақшаның ішінде аргументі көрсетілуі қажет. Стандартты функциялар: abs(x), tg(x), sqr(x), sіn(x), cos(x), exp(x), ln(x), sqrt(x), arctan(x), frac(x) – санның бөлшегі, іnt(x) – санның бүтіні, pі (3.14159) т.с.с. Функцияны есептеу барысында аргумент пен
- функция типтерінің əр уақытта сəйкес келе бермейтінін есте сақтаған жөн. Енді программаларда жиі пайдаланылатын өрнектерді мысал ретінде қарастырайық.
- |x| fabs(x) Аргументтің абсолюттік шамасы
- tgx tan(x) Аргументтің тангенсы нақты
- arctgx atan(g (x) Аргументтің арктангенсы нақты
- cosx cos(x) Аргументтің косинусы нақты
- sіnx sіn(x) Аргументтің синусы нақты
- ex exp(x) е-нің (2,71828) х дəрежесі нақты
- frac(x) х-санының бөлшек бөлігі нақты
- [x] іnt(x) х санының бүтін бөлігі нақты
- lnx ln(x) х-санының натурал логарифмі нақты
- π pі (π-дің мəні pі=3.14159265)
- xn pow(x,n) х-тің n дəрежесі х-тің типіндей
- Түбірдегі x sqrt(x) х-тің квадрат түбірі нақты
Енгізу мен шығару
- Си++ тілінде сыртқы ортамен мəліметтер алмасу <iostream.h> енгізу-шығару функциялары кітапханасын пайдалану арқылы орындалады. Ол тақырып файлы ретінде былай жазылады:
#include <iostream.h>
cout<< функциясы мəліметтерді экранға шығару үшін қолданылады. Оның жалпы жазылу түрі: cout<<аргументтер тізімі; <Аргументтер тізімі> ретінде айнымалылар, константалар, өрнектер қолданылуы мүмкін.
cin>> енгізу функциясы жоғарыда қарастырылған cout<< функциясына ұқсас.
cin>> аргументтер тізімі;
Мысалы:
int a,b,c;
cin>>a>>b;
c=a+b;
cout<<“c=”<<c;