СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Си программалоо тили

Категория: Информатика

Нажмите, чтобы узнать подробности

Азыркы учурда кеңири тараган программалоо тилдеринин бири-бул Си. Бул сѳздүн мааниси латын тилинин алфавитиндеги С деген тамганы түшүндүрѳт.

Просмотр содержимого документа
«Си программалоо тили»

Си программалоо тили жѳнүндѳ түшүнүк.


Азыркы учурда кеңири тараган программалоо тилдеринин бири-бул Си. Бул сѳздүн мааниси латын тилинин алфавитиндеги С деген тамганы түшүндүрѳт. Си программалоо тили 1972-жылы Америкадагы Bell Laboratories фирмасынын жумушчусу Денис Ритч тарабынан негизделген.

Си программалоо тили компилятору азыркы ЭЭМдердин бардык типтеринде UNIX, MS DOS, Windows аракет системаларынын алдында иштейт.


§1 Си программалоо тилинин элементтери.

2.1 Алфавити.

-Латындын чоң()A, B,C …, Z) жана Кичине(a, b, c, …z) тамгалары.

- Араб цифралары(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

- атайын сиволдор «{},[]()+-/%\:? !&#~^*


Атайын символго пробел да кирет. Комментарий жазууда, саптык Жана символдук чоңдуктар менен иштѳѳдѳ орус тамгалары колдонулат.

Бир нече символдордун комбинациясы удаалаш, пробели жок жазылса, бир символ катары кабыл алынат.

Аларга: ++_==&&//=?:/**//

Си программалоо тилинде комментарийди чектѳѳ максатында /* жана */ түгѳй символдору колдонулат. Мындай комментарийдин аягы жаңы сапка ѳтүүчү кѳрүнбѳѳчү символ болуп эсептелинет.

Алфавиттин символдорунан лексемалар пайда болот. Лексемалар-бул программанын тексттинин бирдиги. Лексемага идентификатор, турактуунун кызматчы сѳзү, амалдар, бѳлүүчүлѳр кирет.


Идентификатор.


Латын тамгаларынын удаалаштыгы, цифралар, () символдору, тамга же сызыкча символдору менен башталган удаалаштыктар идентификатор боло алат.

Мисалы: B12 rus_Hard_RAM_disk MAX ris_32

Си программалоо тилинин Паскаль программалоо тилинен айырмасы чоң Жана Кичине тамгалар болуп эсептелинет, башкача айтканда Паскалда MELIS, melis деген атар бирдей деп эле кабыл алынса, Си программалоо тилинде MELIS, melis дегендер ар түрдүү идентификаторлор катары кабыл алышат.


2. 2 Кызматчы сѳздѳр.


Паскаль программалоо тилиндей эле Си программалоо тилинде да кызматчы сѳздѳр-бул идентификаторлор. Аларды каалагандай тандап программанын аты катары колдоно албайбыз.

Asm else operator template

Auto enum private this

Break extern protected throw

Case floar public try

Catch for recicter typedef

Char friend return typeid

Class goto short union

Const if signed unsigned

Continue inline sizeof virtual

Default int static void

Delete long struct volatile

Do new switch while

Double


§2 Берилиштердин типтери


Берилиштердин типтеринин концепциясы каалагандай программалоо тилинин негизги жагы болуп эсептелинет.


арифметикалык

бүтүн


кѳрсѳткүчтүү

скалярдуу


жылма


тип

составдуу

Массивдер

структуралар

смесь







Си программалоо тилиндеги берилиштердин типтеринин кѳп түрдүүлүгү Паскаль программалоо тилине Караганда аз.

Си программалоо тилинде тѳрт базалык арифметикалык берилиштердин типтери бар. Мындан экѳѳсү бүтүн типтеги-char, int; ал эми экѳѳ анык типтеги float Жана double.

Мындан сырткары программада бул типтердин кээ бир модификатор кызматчы сѳздѳрү менен баяндалган модификациялары колдонулат.

Эки ѳлчѳмдѳгү short(кыска) long(узун) модификатор бар. Ошондой эле signed(белгиси бар) Жана unsigned (белгиси жок) белги модификаторлору бар.


Берилиштердин типтери

Ѳлчѳмү (байт)

Маанилердин диапазон

Типтин эквивалентүү аты

Char

1

-128… +127

Signed char

Int

2/4

Системадан кѳз каранды

Signed, signed int

Unsigned char

1

0 … 255

Нет

Unsigned int

2/4

Системадан кѳз каранды

Unsigned

Short int

2

-32768 . . . 32767

Short, signed short int

Unsigned short

2

0 … 65535

Unsigned short int

Long int

4

-2147483648… 2147483647

Long, signed long int

Unsigned long int

4

0… 4294967295

Unsigned long

Float

4

±(3.4E-38…3.4E+38)

Нет

Double

8

±(1.7E-308…1.7E+308)

Нет

Long double

10

±(3.4E-4932…1.1E+4931)

нет


Бул таблицаны анализдѳѳ менен тѳмѳндѳгүдѳй жыйынтык чыгарууга болот:

- эгерде базалык тип кѳрсѳтүлгѳн эмес болсо, анда int тиби менен иштелет;

- эгерде белгилердин модификаторлору кѳрсѳтүлбѳсѳ, анда signed колдонулат.

- float базалык тибинде модификаторлор колдонулбайт.

- short модификаторун жалгыз int базалык тибинде колдонобуз.


Си программалоо тилинде char тибиндеги чоңдуктар бүтүн сандар Жана символдук болушуш мүмкүн. Бул чоңдукту колдонуу ыкмасынан кѳз каранды.

Мисалы: char a=65;

Printf(“%/c”, a); (Жообунда А чыгат)

Printf(“%/d”, a); (Жообунда 65 чыгат)

“%c”–символу символдук берилиштерди киргизүү-чыгаруу форматынын спецификациясы, ал эми “%d”-бүтүн сандардын спецификациясы.

Си программалоо тилинин Паскалдан бирден-бир айырмасы, мында базалык типтердин арасында берилиштердин логикалык тиби жок. Си программалоо тилинде дагы логикалык амалдар, туюнтмалар менен иштейбиз. Логикалык чоңдуктарга бүтүн сандар кирет. Логикалык чоңдуктардын маанисинин интерпретациясы эреже боюнча жүргүзүлѳт. Нѳлгѳ барабар болсо, жалган(Паскалда-falsh), нѳлгѳ барабар болбосо –чын (Паскалда-true)


3. 1 Ѳзгѳрмѳлѳрдү баяндоо


Си программалоо тилинде ѳзгѳрмѳлѳрдү баяндоо тѳмѳндѳгүдѳй жазылат:

Аты_ типтердин тизмеси_ѳзгѳрмѳлѳр;

Мисалы:

char symbol, cc;

Unsigned char code;

Int number, row;

Unsigned long long_number;

Float x, X, cc3;

Double e, b4

Long double max_num;

Ѳзгѳрмѳлѳрдү баяндоо менен бирдикте ѳзгѳрмѳлѳрдүн алгачкы маанилерин берүүгѳ да болот. Бул аракет ѳзгѳрмѳлѳрдү инициализациялоо деп аталат. Инициализация менен баяндоо тѳмѳндѳгүдѳй схема менен жүргүзүлѳт:

Ѳзгѳрмѳнүн тибинин аты=алгачкы мааниси

Мисалы:

Float pi=3.14159, c=1.23

Unsigned int year=2000;


3.2 Турактуулар

Бүтүн турактууларды жазуу:

  1. Нѳл менен башталбаган бүтүн ондук сандар: 4б 356б-128

  2. Нѳл менен башталган бүтүн сегиздик системадагы сандар: 016, 077

  3. ОХ символу менен башталган он алтылык системадагы бүтүн сандар: 0Х1A, 0Х253, 0Х253, 0ХFFFF,

Турактуулардын тибин компилятор тѳмѳндѳгүдѳй эреже менен аныктайт:

  1. Эгерде турактуулардын мааниси int тибиндеги диапазондо тиешелүү болсо, анда турактуу unsigned int тибиндеги диапозонго тешелүүбү же жокпу текшерүү жүргүзүлѳт. Бул жоопко туура келсе, анда бул типти кабыл алат. Эгерде дал келбесе, анда адегенде long тибин кѳрѳт, акырында unsigned long тибин кабыл алат.

  2. Эгерде сандын мааниси unsigned long диапазонуна туура келбесе анда компиляцияда ката пайда болот.



Анык турактуу сандарды жазуу:


Эгерде турактуу сандарды жазууда ондук чекит (2,5) же экспоненциалдык кеңейтилиши (1E-8) болсо, анда компилятор анны анык сан катары кабыл алат жана double тибиндеги чоңдуктардын катарына коет. Анык турактуу сандарга мисал: 44.3.1415944E0 1.5E-4


Суффикстерди колдонуу :


Программа түзүүдѳ турактуулардын тибин кѳрсѳтүүгѳ болот. Бул үчүн суффикстерди колдонобуз. Суффикстердин 3 түрү бар.

  1. F(f)-float

  2. U(u)unsigned

  3. L(l)-long(бүтүн Жана анык турактуулар үчүн)

Мындан сырткары суффикстерди чогуу колдонсо болот. Мисалы, U Жана L. Буларды UL же LU болот.

Мисалы:

  1. 3.14159F-4 байт эсти ээлеген float тибиндеги турактуу.

  2. 3/14L -10 байт эсти ээлеген longdouble тибиндеги турактуу.

  3. 50000U-10 байт эсти ээлеген longdouble тибиндеги турактуу.

  4. OLU-4 байт эсти ээлеген unsigned тибиндеги турактуу.

  5. 24242424UL-4 байт эсти ээлеген unsigned тибиндеги турактуу.

Символдук Жана саптык турактууларды жазуу.

Символдук турактуулар апостроф белгисине алынып жазылат. Мисалы: ‘A’, ‘a’, ‘5’, ‘+’.

Саптык турактуулар-символдордун удаалаштыгынан турат Жана эки кавычкага алынып жазылат. Мисалы: «result», “ѳзгомѳлѳрдүн маанисин киргизгиле”.

Символдук константтардын ѳзгѳчѳ кѳп түрдүүлүгү бул багыттоочу символдору. Си программада алар тѳмѳндѳгүдѳй символ менен башталат ‘\’.

Мисалы тѳмѳндѳгүдѳй бир нече башкаруучу символдор:

‘\n’- жаңы сапка ѳтүү

‘\t’- горизонталдуу табуляция

‘\a’- үндүк сигналдарды берүү;


Турактуу ѳзгѳрмѳлѳр:


Паскаль программалоо тилиндей Си программалоо тилинде да турактуу ѳзгѳрмѳлѳр колдонулат. Аларды const кызматчы сѳзү менен баяндайбыз. Бул квалификатор деп аталат. Const квалификатору берилген чоңдук программанын аткарылышында маанисин ѳзгѳрбѳйт дегенди кѳрсѳтѳт. Жеке учурда бул ыйгаруу операторунун сол бѳлүгүнѳ жайгаша албайт. Турактуу ѳзгѳрмѳлѳрдү баяндаганга мисалдар:

Const float pi=3.14159

Const int iMin=1, iMax=1000;


Препроцессорной стадиясында программаны иштетүүдѳгү турактууларды аныктоо.

Турактуу ѳзгѳрмѳлѳрдү колодонууну дагы бир мүмкүнчүлүгү бул #define препроцессордун директивасы.

Тѳмѳндѳгүдѳй формата болот:

# define

Мисалы: # define iMin1

# define iMax1000

Турактууну тиби ачык кѳрсѳтүлбѳйт Жана запись(жазуу) формасында аныкталат. Директиванын аягында ; коюлбайт. Препройессорлук аракетте кѳрсѳтүлгѳн аттар (ѳзгѳрмѳлѳр) ѳздѳрүнүн тиешелүү сан мааниси менен алмаштырылат.

Мисалы, Эгер программада X=iMax-iMin болсо, жыйынтыгы тѳмѳндѳгүдѳй кѳрүнүшкѳ ээ болот. X=1000-1;

Мындан iMax Жана iMin идентификаторлору программанын ичинде баяндоону талап кылбайт.


Саноочу турактуулардын тиби

Тилдин бул каражаты бүтүн турактуулардын удаалаштыгын аныктоого жардам берет. Саноочу турактуулардын тибин баяндоо enum кызматчы сѳзү менен башталат, иреттелген тизме, { } кашаага алынат.

Мисалы: enum{А, В, С, Д}

Жыйынтыгында А=0, В=1, С=2, Д=3 болот. Турактуунун 1мааниси дайыма 0 гѳ барабар болот.

Каалагандай турактууга маанисин берип койсо болот. Мисалы, enum{А=10, В, С, Д}. Жыйынтыгында тѳмѳндѳгүдѳй тура келүүчүлүк пайда болот. А=10, В=11, С=12, Д=13

Тѳмѳндѳгүдѳй учур болушу да мүмкүн:

enum{А=10, В=20, С=35, Д=100}







Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!