Int бүтін сандар типі


СИ- тіліңде программалау
Си тілі өткен ғасырдың 70-жылдары басында АҚШ-та Bell Telephon Laboratories компаниясының қызметкері Дэннис Ритчидің бастауымен дүниеге келді. Бұл тілдің негізі Алголдан басталып, Паскаль және ПЛ/1 тілдерімен катар пайда болды.
Си тілінің шығуы UNIX операциялық жүйесінде программалаумен тығыз байланысты, өйткені бұл жүйе ассемлерде және осы Си тілінде жазылып шыкқан болатын. UNIX жұмыс істеу ортасы Си тілін жүйелік программалау тілі ретінде елге таныстырды, ол компиляторлар мен операциялық жуйелер жазу үшін қолайлы деп саналды, кейіннен Си тілі кез келген салада программалар жазуға да өте қолайлы тіл болып табылатыны анықгадды.
Алғаш рет UNIX 1969 жылы Нью-Джерси штатындағы Bell фирмасының лабораториясында PDP-7 мини-ЭЕМ-інде жасалып шықгы. UNIX PDP-7 компьютерінің ассемблер тілінде жазылды. Бұдан соң сол лабораторияның жетекшісі Кен Томпсон 1970 жылы В деп аталған жаңа тілге арнап компилятор жасап шықгы. Осы тілді Си (ағылшынша С) тілінің негізі деп атауға болады.
Жалпы Си тілінің тез дамуына 1983 ж. оның стандартын жасау мақсатында Америка ұлттық стандарттар институтында (ANSI) Техникалық комиссияның кұрылуы себепші болды. Комиссия жұмысына сол кездегі алдыңғы қатарлы мамандардың көпшілігі араласып, олар тек программалау мәселелерін ғана карастырмай, кең таралып келе жатқан IBM PC компьютерлеріне арналған компиляторлар жасауды да осы стандартқа енгізді.
Си тілінің негізінде 1983-жылы Си++ тілі жасалып шыкты, сол кезден бері тілдің бірнеше нұсқалары пайда болып, ол казіргі ең көп тараған тілдердің біріне айналды. Біздің елде Си тілінің алғашқы нұсқасы орыс тілінде Б. Керниган мен Д. Ритчидің "Си программалау тілі" деген кітабы арқылы бірнеше рет жарық көрді (1985-1991 жж. ) .
Бірсыпыра фирмалар осы тілге арнап компиляторлар жазды, мысалы, Borland International фирмасы 1989ж. жасаған бірікгірілген программалау ортасы TurboC++ жұйесін дүниеге келтірді. Ол DOS ортасында жақсы жұмыс істеді. Ал 1992 ж. жасалған Borland C++ жүйесі Windows ортасында да жұмыс істейтін жақсы компилятор болып табылады.
Сонымен Си/Си++ программалары Паскаль тілінің біріктірілген (интегралданған) ортасы сияқты DOS ортасында да және Windows жүйесінде де жұмыс істей береді.
Біз қарастырғалы отырған Си тілінің негізгі ұғымдары мен операторлары кез келген мектептің немесе жоғары оқу орнының компыотерлерінде жүре беретін біріктірілген ортаның редакторы арқылы теріліп жұмыс істей береді.
Си тілінде жазылған программаның құрылымы
Кез келген программа бір немесе бірнеше функциялардан тұрады. Олар программа қүруға керекті негізгі модульдер болып табылады. Кез келген программаның жазылған алғашқы мәтіні бастапқы код деп аталады. Оны біріктірілген программалау ортасында теріп, сонан соң компилятор арқылы машиналық кодқа түрлендіріп орындаймыз. Келесі суретте Си программасының жалпы кұрылымы көрсетілген.
Сонымен, Си программасы бірнеше функциялардан (main, fl, f2 . . . ) құралады және олардың біреуі міндетті түрде main() болуы кажет.
Қарапайым программаның мысалын карастырайық. Жалпы кез келген функция оның тақырыбы мен тұлғасынан (денесінен) тұрады.
Алдымен программа препроцессор арқылы өңделіп, оның директиваларын (командаларын) орындайды. Мұнда программаға тақырыптық файлдар - программаға қосымша элементтер енгізетін мәтіндік файлдар жазылады. Олар мәліметгерді енгізу/шығару операцияларын немесе экран сипаттамаларын өзгерту үшін кажет.
Программадағы кез келген функция тақырыбы препроцессордың директивасынан және функция атынан тұрады. Функция атына жалғасып, жақша ішіне параметрлер жазылуы мүмкін, кейде параметрлер болмайды, ондайда жақша ішіне ешнәрсе жазылмайды.
Функция тұлғасы операторлардан тұрады, олар жүйелі жақшалармен шектеледі. Әрбір оператордан кейін ; таңбасы қойылады.
Енді бір программа мысалын келтірейік:
/* Герон формуласы арқылы үшбұрыш ауданын табу */
#include <stdio. h> /* енгізу/шығару директивасы*/
#include <math. h> /* директивасы */
main( ) /* басты функцияны қолдану */
{
int a, b, c; /* бүгін айнымальшарды сипатгау */
float p, s; /* нақты айнымалыларды сипаттау */
printf("\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 сөз тіркесі программада математикалық функциялар пайдаланылатынын көрсетеді. Басты функция main() аргументсіз
жазылған, сол себепті жақша ішінде ешнәрсе көрсетілмеген. Ал функция тұлғасы операторлардан (немесе баска функциялардан) тұруы тиіс. Int түйінді сөзі а, Ь, с айнымалыларының бүтін мән қабылдайтынын, float түйінді сөзі p, s айнымалыларының нақты мән қабылдайтынын сипаттап түр.
Келесі жол үшбұрыш кдбырғаларын енгізуді талап ететін сөз тіркестерін экранға шығарады, мүндағы \п таңбалары сөз тіркесі алдында және одан кейін курсор бір жол төмен түсетінін көрсетеді. Scanf сөзінен басталатын жол а, Ь, с мәндерін пернелерден қабылдайды, сонан кейін жарты периметр есептеліп, аудан мәні анықгалады да, соңғы нәтиже экранға шығарылады.
Си тіліндегі мәліметтер типтері
Мүнда мәліметтердің бірнеше негізгі типтері қодданылады. Олар:
• сһаг (8 бит) - символдық, яғни таңбалық тип, -128 . . . 127
• short - қысқа бүтін сан,
• int - бүтін сан типі,
• long - екі еселенген бүтін сан,
• float - нақгы сан типі, яғни жылжымалы нүктелі сандар,
• double - екі еселенген нақгы сан типі.
• unsigned - таңбасыз сан,
Алғашқы төрт тип бүтін саңдарды сипатгау үшін қолданылады.
Бүтін мәліметтерді сипаттау
1. Int бүтін сандар типі
Int типін стандарт бекітпеген, ол компьютерге немесе компиляторға байланысты өзгеріп отырады. 16-разрядты процессорде ол 2 байт, ал 32-разрядтысында - 4 байт.
Erep int аддында short спецификатор сөзі тұрса, онда ол әрқашан 2 байт, ал егер спецификаторы long болса, 4 байт болады. Санға компьютер жадында берілген орынға карай олардың мәндері өзгереді.
short int - 2 байт, оның диапазоны -32768 . . +32767;
long int - 4 байт, оның диапазоны -2 147 483 648. . +2 147 483 647.
Int типі 16-разрядты компьютер үшін short int типімен бірдей, ал 32-разрядты компьютер ұшін long int типімен бірдей.
Signed және unsigned модификаторлары да сандар шамасына әсер етеді, олар:
unsigned short int - 2 байт, оның диапазоны 0 . . 6536;
unsigned long int - 4 байт, диапазоны 0 . . . 4 294 967 295.
Айнымалыларды сипаттау кезінде бүтін тұрақтылар - константалар мәндерін де көрсетуге болады. Мысалы:
int k=0; (бір ғана сан сипатгалған және оған мән берілген)
int kl, k3=0; (біреуі тек сипатталған, екіншісіне мән де берілген)
Unsigned типі int, long, short түйінді сөздерімен сипатгалатын типтердің модификаторы ретінде қолданылады. Мысалы:
unsigned int sum=0;
char типін 0-255 аралығындағы таңбасыз бүгін сандарды сипаттауға қолдануға болады, ДК жадында бұларға бір байт орын бөлінген. Мысалы:
char cl;
char ck='k';
2. Char типі
Бұл тип мәндері реттелген символдар жиыны болып табылады. Әрбір символға бір бүтін сан сәйкес келеді, ол символ коды деп аталады. Символдық тип ені - 1 байт. Сһаг типі де signed және unsigned спецификаторлармен қолданылады. Signed char типі диапазоны -128F. . F127. Unsigned char типін қолданғанда. оның мәндер диапазоны 0F. . F255 болады. Символдарды кодтау үшін ASCII (American Standard Code for International Interchange) стандарты негізге альгнган. Симводдардьщ 0F. . F31 кодтары кызметтік кодтарға жатады. олар тек енгізу-шығару кезінде ғана кодданылады.
Char типі шамалардың көрсетілген диапазоны сандарын сақгау үшін де қодданыла алады.
3. Float және double жылжымалы нүктелі нақты сандар типтері
Нақты сандар компьютерде 2 бөліктен - дәреже мен мантиссадан тұрады. ІВМ-РС
компьютерлерінде float типінің ені - 4 байт, оның бір разряды - сан таңбасы, 7 разряды - дәреже, 24 биті - мантисса.
Егер double типі аты алдында long сөзі түрса, онда оған 10 байт орын беріледі.
Программалау практикасында көбінесе жылжымалы нүктелі нақты (аралас) сандар пайдаланылады.
Double типті сандар екі еселенген дәлдікпен 64 бит арқылы ернектеледі. Double типінің ені - 8 байт, 1 бит - таңба, 11 бит - дөреже және 52 разряд - мантисса. Мантисса ені - санның дәлдігін, ал дәреже ені - оның диапазонын аныкгайды.
Кейбір ЭЕМ-дерде мантисса үшін қосымша 32 бит беріледі де, санның дәлдігі артады. Ал кейде санның таңбасы мен дәрежесі үшін 32 бит беріліп, ол санның кескінделу диапазонын арттырады.
Мысаддар:
float si, s2;
float sum=1. 5;
Си тілінде объектілердің мәндерін байт арқылы анықтау үшін sizeof стандартты операторы қолданылады. Мысалы:
printf("Double типті мәліметтердің алатын орны : %d байт", sizeof(double) ) ;
Символдық жолдар (қатарлар)
Си тілінде символдық тіркестерді сипаттау үшін арнайы тип жоқ, олар көбінесе сһаг типтегі элементтерден тұратын массив (жиым) ретінде қарастырылады. Жолдық немесе тіркестік символдар ЭЕМ жадында көршілес ұяшықтарда сақталады да, олардың соңында '\о' символы тұрады. Символдар қатарының ұзындығын анықтау үшін strlen() функциясы қолданьшады.
#define - символдарды немесе солардан тұратын константаларды анықтау мақсатыңда қодданылады. Мысалы:
#defineNULL '/o'
#defineIZBAT "наука"
Printf және scanf функішялары
Си тілінде сыртқы ортамен мәліметтер алмасу <stdio. h> енгізу-шыгару функциялары кітапханасын пайдалану арқылы орындалады. Ол тақырып файлы ретінде былай жазылады:
#include <stdio. h>
Printf() функциясы мәліметтерді экранға шығару үшін қодданылады. Оның жалпы жазылу түрі:
printf(<фopмaт тіркесі>, <аргументгер тізімі>) ;
(<формат тіркесі> - қостырнақшамен (") шектеліп, аргументтердің қалай бейнеленетінін көрсетіп түрады, экранға (баспаға) шығару алдында барлық аргументтер формат спецификациясына сәйкес түрлендіріледі, спецификация % символымен басталады және мәліметтер типін, оларды түрлендіру тәсілін көрсететін бір әріп жазылады. Объектілер ретінде айнымалылар, константалар, өрнектер қолданылуы мүмкін.
Мысалы:
printf ("Пи санының мәні = %f\о", рі) ;
Формат тіркесінде мыналар болады:
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz