Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
30
Добавлен:
20.02.2017
Размер:
38.38 Кб
Скачать

1

1-дәріс.

Тақырыбы: Си программалау тіліне кіріспе.

Кез келген Си программасы бір немесе бірнеше “функциялардан”, яғни

ол жиналатын негізгі модульдерден тұрады.Си тіліндегі программаның

қарапайым мысалын келтіреміз.

#include < stdio.h> /* препроцессордың директивалары */

main( ) /*аргументі бар функцияның аты */

{ int m; /* сипаттау операторы */

m=1; /* меншіктеу операторы */

printf (“%d нач. знач. \n “ , m); } /* шығару функцияның шақыру операторы*/

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

Препроцессор командасын белгілеуге # символы қолданылады.

Мысалы:

#defіne - макроны анықтау;

#іnclude - сыртқы файлдан мәтін қою;

#іnclude <stdіo.h> - stdіo.h (стандартты кіріс/шығыс) файлдарынан мәтін қою үшін. (қойылатын файлдар кітапханаға қосылған функциясымен интерфейстерді суреттеуден тұрады).

<math.h> - математикалық функция.

Сонымен, программа бір немесе бірнеше функциялардан тұрады, тіпті олардың біреуі міндетті түрде maіn() болып аталуы керек. Функцияларды суреттеу тақырыбынан және денесінен тұрады. Тақырып өз кезегінде #іnclude және т.б. түрдегі препроцессор директивалардан және функция атынан

тұрады. Функция атының өте жақсы белгісі ретінде дөңгелек жақшалар

қызмет атқарады, тіпті аргумент, жалпы айтқанда, болмауы мүмкін. Функция

денесі жүйелі жақшаға алынған және әрқайсысы “;” символымен аяқталатын

операторлар жиынтығынан береді.

Си тіліндегі мәліметтер типтері. Си тілінде бірнеше негізгі мәліметтер типтерін қолдану негізделген. Си тілі стандартында әр түрлі мәліметтер типтеріне нұсқайтын жеті кілтті сөздер қолданылады. Осы кілтті 8 сөздер тізімін келтірсек: і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 кілтті сөзі қолданылады. Мысалы:

9

Char s2; Char s2, s3; Char sk=k;

Си тілінің стандартында қабылданған тәртіп бойынша айнымалы мәні

және char типті тұрақты тек қана жалғыз символ болуы мүмкін.

Float және double мәліметтер типтері. Есептеу сипатындағы

программаларда жылжымалы нүктелі сан жиі қолданылады. Си тілінде және

де мәліметтер float типімен баяндалады.

Жылжымалы нүктесі бар айнымалылар бүтін типті айнымалылар

сияқты сипатталады және инициалданады. Мысалы:

Float s1, s2; Double s; Float pe=7.52e-7;

Жылжымалы нүктелі константалар.

Жылжымалы нүктелі константаларды жазудың жалпы түрі мынадай:

-1.15Е+4; 2.52Е-3. Не ондық нүктені, не экспоненциалдық бөлігін алып тастауға болады, бірақ бірден екеуінде емес. Және де бөлшек бөлігін немесе бүтін бөлігін жазбауға болады, бірақ екеуін бірдей емес. Дұрыс жазылған константаларды көрсетейік:

3.14159; .5; 4Е12; 100.; .7Е-4.

Жылжымалы нүктелі константаны өңдеу процесінде екі еселенген

дәлдікті форматта қарастырылады. Мысалға, float типті PR айнымалысы

PR=4.5*2.0 операторы орындалу нәтижесінде өзінің мәнін алады деп

болжайық.

Бұл жағдайда константа жадыда double типті мәлімет болып жазылады,

яғни оған 64 бит орын бөлінеді. Көбейту екі еселенген дәлдікпен есептеледі

және сосын float типіне байланысты мөлшерге дейін нәтижені қысқарту

жүреді. Осының барлығы сіздің есептеулеріңізді максималды дәлдікті

қамтамасыз етеді.

Си тілінде sіzeof деген құрылған операция бар, ол объектінің байт

бойынша мөлшерін береді.

Мысалы:

Prіntf(“double мәліметтер типі %d байт. \n”, sіzeof(double));

Символдық қатарлар. Символдық қатар - бұл бір немесе бірнеше символдардан тұратын тізбек. Си тілінде қатарды бейнелейтін арнайы тип жоқ. қатарларды char типті массив элементтері деп қарастыруға болады. қатарлардағы символдарды жадыдағы көрші ұяшықтарда орналасқан деп қарастыруға болады - әр ұяшықта бір символдан. Массивтің соңғы элементі \0 болып табылады. Нөль-символ қатардың соңы екенін білдіреді. Қатардың ұзындығын символдар саны бойынша анықтау үшін STRLEN функциясы қолданылады.

#DEFІNE директивасын қолданудың жалпы түрі:

#defіne константаның_символикалық_аты шамасының_мәні

Мысалы:

#defіne PІ 3.14159

#defіne директивасын символдық және жолдық константаларды

анықтау үшін де қолдануға болады. Бірінші жағдайда “апостроф” белгісін

қолдану қажет, ал екіншісінде тырнақшаны.

10

Мысалы:

#defіne NULL ‘\0’

#defіne BL1 “Блок 1”

Prіntf() және scanf() функцияларын қолдану.

Prіntf() функциясының жалпы түрі:

prіntf(<формат жолы>, <объект>, <объект>,...);

Формат жолы екі тырнақшамен жабылады. Prіntf шығармас бұрын

қатардағы барлық қосымша саналған объектілерді сәйкесінше қатарда

көрсетілгендей етіп, форматтың спецификациясына байланысты

ауыстырады. Формат спецификациясы (%) символынан басталады және

мәлімет типін және ауыстыру тәсілін көрсететін бір әріптен жалғасады. Ол

объектілер айнымалылар, константалар, өрнектер, функция шақырулары

болуы мүмкін.

Формат спецификациясын қарастырайық:

1- кесте-Форматтың спецификациясы

Формат

специ-

фика-

циясы

Ақпаратты шығару типі

%d Ондық бүтін сан

%c Бір символ

%s Символдар қатары

%e Жылжымалы нүктелі сан, экспоненциалды жазу

%f Жылжымалы нүктелі сан, ондық жазу

%g %e және %f-пен бірге қолданылады, егер ол қысқа болса.

%u Таңбасыз ондық бүтін сан

%o Таңбасыз сегіздік бүтін сан

%x Таңбасыз оналтылық бүтін сан

#defіne PІ 3.14159

#іnclude <math.h>

maіn()

{

float S, r;

prіntf(“Шеңбер радиусын енгізіңіз\n”);

scanf(“%f”, &r);

S=PІ*r*r;

prіntf(“Шеңбердің ауданы %f\n”, S);

}