24
Си хэлний үндсэн Си хэлний үндсэн ойлголт ойлголт Их Засаг Олон Улсын Их Их Засаг Олон Улсын Их Сургууль Сургууль Мэдээлэл Технологийн Сургууль Мэдээлэл Технологийн Сургууль КПХ 12 КПХ 122 © Copyright By Б.Мөнхбаяр

си хэлний ойлголт

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: си хэлний ойлголт

Си хэлний үндсэн Си хэлний үндсэн ойлголтойлголт

Их Засаг Олон Улсын Их Их Засаг Олон Улсын Их СургуульСургууль

Мэдээлэл Технологийн СургуульМэдээлэл Технологийн СургуульКПХ 12КПХ 1222 © Copyright By Б.Мөнхбаяр

Page 2: си хэлний ойлголт

Си хэлний тухайСи хэлний тухай

Си хэл анх 1972 онд АНУ-д Bell (Билл)-ийн телефоны лабораторид UNIX –үйлдлийн системд зориулан Dennis Ritchie програмист боловсруулсан.

Энэ хэлний өмнөх хувилбар нь Bell-ийн нэрийн эхний үсгээр В хэл гэж нэрлэгдэж байснаас дараах хувилбараа СС хэл гэж нэрлэсэн нь (ABCDEF …) дарааллыг баримталсан түүхтэй.

Page 3: си хэлний ойлголт

С хэлний онцлогууд Хүчирхэг бөгөөд уян хатан:Хүчирхэг бөгөөд уян хатан: Үйлдлийн

систем болон бусад хэрэглээний програм боловсруулахад хэрэглэгддэг

Мэргэжлийн програм зохиогчид бусад прогр.системээс илүү гэж үздэг

Авсаархан хэл. Үүнийг хөрвөх чадвартай гэсэн утгаар ойлгож болно. Нэг Комп.Системд бичсэн програм өөр системд хөрвөж ажилладаг.

С хэлэнд цөөхөн түлхүүр үг хэрэглэгддэг мөртлөө ямарч төвөгтэй програм боловсруулж болдог.

Page 4: си хэлний ойлголт

С нь Модулар хэл. Өөрөөр хэлбэл бие даасан бүрдэл хэсгүүдтэй бөгөөд энэ бүрдэл хэсгүүд нь функ гэж нэрлэгддэг дэд програм, командууд юм.

Энэ хэлний өргөтгөл болох С++ буюу объект хандлагат програмчлалын хэл боловсрогдсон.

С++ = С хэл+ Объект хандлагат програмчлал

Page 5: си хэлний ойлголт

Бас нэг объект хандлагат хэл бол JAVA юм. Энэ хэл мөн л С –хэл дээр суурилж боловсрогдсон хэл юм.

Page 6: си хэлний ойлголт

Програмчлах бэлтгэл ажлууд:Програмчлах бэлтгэл ажлууд:

Ямар нэг асуудал буюу бодлого шийдвэрлэхэд тодорхой үе шат

дамждаг. Үүнд:

Шийдэх ёстой асуудлаа (Бодлого) тодорхойлох

Шийдвэрлэх төлөвлөгөө боловсруулна.

Төлөвлөгөөг хэрэгжүүлнэ. Үр дүнгээ шалгаж, үнэлнэ

Page 7: си хэлний ойлголт

Програм боловсруулах алхамууд

Програмын зорилгыг тодохойлно

Програм бичих аргуудыг тодорхойлно.

Програмаа бичнэ Програмыг зүгшрүүлэн

ажиллуулна Үр дүнг шалгаж, үнэлнэ

Page 8: си хэлний ойлголт

Програм боловсруулах цикл

Програмын эх кодыг агуулан файлыг ямар нэг редактор-програмд үүсгэнэ

Эх кодыг хөрвүүлэгч-програмаар(Compiler) объектын файл руу хөрвүүлнэ

Хөрвүүлсэн кодыг холбогч-програмаар (Linker) ажиллагаат файл болгоно

Ажиллагаат файлыг ажиллуулж шалгана

Page 9: си хэлний ойлголт

Эх код(Source code) үүсгэх ажиллагаа

Тавигдсан зорилго буюу бодлогыг шийдвэрлэхийн тулд компьютерт заавар өгөх зорилгоор хэрэглэгддэг команд буюу операторуудын дараалалыг Эх код гэдэг. Эх кодыг ямар нэг текстийн редакторын програмаар үүсгэдэг. Жишээлбэл: NotePad, Edlin Wordpad гэх мэт. Ихэнх програмчлалын систем өөрсдийн редактор-програмтай байдаг. С хэл өөрийн редактортой.

Page 10: си хэлний ойлголт

Эх кодыг хөрвүүлэх (Compile) Эх код үүсгээд түүнийг компьютер

шууд ажиллуулах боломжгүй. Үүний тулд эх кодыг машины хэлрүү

шилжүүлнэ. Машины хэл рүү шилжүүлэхийн туд

хөрвүүлэгч (Compiler) програм хэрэглэдэг.

Ингэж хөрвүүлсэн кодыг Объект файл гэж нэрлэнэ.

Borland C – нь график интерфейстэй учир түүний цэсийн командаар шууд хөрвүүлдэг.

Page 11: си хэлний ойлголт

Гүйцэтгэгч файл үүсгэх (Executable file)

Объект файлыг холбогч (Linker) програмаар гүйцэтгэгч буюу хэрэгжүүлэгч файл болгон холболт хийдэг. Ингэснээр гүйцэтгэгч файл компьютераар шууд ажилладаг програм болно.

Page 12: си хэлний ойлголт

Энэ бүгдийг схемээр дүрсэлбэл

C Source code Compiler Object file Linker Executable file Эх код үүсгээд name.cpp өргөтгөлтэй Объект код name.obj өргөтгөлтэй Гүйцэтгэгч файл: name.exe

өргөтгөлтэй байна.

Page 13: си хэлний ойлголт

С хэлний элементүүд С хэл нь ерийн хэлтэй адилаар

үсэг, цифр, тусгай тэмдэг, үйлдлийн тэмдэгт, үг хэллэгүүдээс бүрддэг. Үүнд:

Aa – Z z үсгүүд 0 – 9 цифрүүд +, -, *, /, ++, --, % зэрэг үйлдлийн

тэмдэгтүүд ==, <, >, !, #,$,@,&,{,}, [,], “,’ ?

Гэх мэт тусгай тэмдэгтүүд Нөөц буюу түлхүүр үгүүд

Page 14: си хэлний ойлголт

Компьютерийн санах ой, Хувьсагчид ба Тогтмолууд

Өгөгдлийн төрөл

Тоон утгатай Тэмдэгт утгатай

Page 15: си хэлний ойлголт

Өгөгдлийг хадгалах арга Хувьсагч хэмжигдэхүүн:Хувьсагч – Програм ажиллах

явцад утгаа өөрчилдөг өгөгдлийн байршил юм. (Санах ой дахь)

Тогтмол хэмжигдэхүүн:Програм ажиллах явцад утга

нь өөрчлөгддөггүй өгөгдлийн байршил юм. (Санах ой дахь)

Page 16: си хэлний ойлголт

Компьютерийн санах ой Компьютер боловсруулалт

хийж байхдаа боловсруулалтаар бий болсон мэдээллийг хадгалахдаа санамсаргүй-хандалтат санах ой (RAM – Random-Access-Memory) хэрэглэдэг. RAM-гэдэг нь компьютер дотор суулгасан интеграл-схем бүхий төхөөрөмж юм. (Chips - ялтас). RAM –хувьсамтгай орчин гэж үзэж болно.

Page 17: си хэлний ойлголт

Учир нь түүнд байрлуулсан мэдээллүүд тухайн шаардлага бүрт байнга солигдон өөрчлөгдөж байдаг.

Хувьсамтгай орчин гэдэг нь нөгөө талаас авч үзвэл компьютер асаалттай үед мэдээллийг “санаж” байгаад унтраасны дараа “мэдээллээ алддаг” гэсэн утгатай.

Page 18: си хэлний ойлголт

Компьютер бүрт тодорхой багтаамж бүхий RAM суулгасан байдаг.

RAM-ын багтаамжийг килобайт(Kb) , мегабайт(Mb) , гигабайт(Gb) нэгжүүдээр заагдсан байж болно.

1 Byte=8 bit 1 Kb=1024 Byte 1Mb=1024Kb=1024*1024Byte 1Gb=1024Mb=1024*1024Kb=102

4*1024*1024Byte

Page 19: си хэлний ойлголт

RAM дотор byte-ууд нь нэг нь нөгөөгөөсөө дараалсан байрлалтай байдаг бөгөөд byte бүр давтагдахгүй ганц хаягтай байдаг. Байт бүрт энэ хаягаар нь ханддаг бөгөөд хаягууд нь тэгээс эхлээд өсөх дарааллаар тоологддог. Гэхдээ хаягийг С хэлний хөрвүүлэгч автоматаар боловсруулдаг учраас програм зохиогчид хаяг зохион байгуулах ажиллагаа бараг шаардлагагүй байдаг.

Page 20: си хэлний ойлголт

Хувьсагчид Хувьсагч – Компьютерийн санах ойд байгаа

нэр бүхий өгөгдөл хадгалах байрлал юм. Хувьсагчийн нэр. С – хэлэнд хувьсагчийн

нэр үүсэх хатуу дүрэм байдаг. Үүнд:1. Нэр үүсгэхдээ үсэг, цифр, доогуур зураас(_)2. Нэр заавал үсгээр эхэлнэ. Мөн (_) болно. 3. Нэр ижил үг мөртлөө том, жижиг үсгээр

эхэлсэн бол ялгаатай нэр болно.4. С – хэлний түлхүүр үгээр хувьсагчийг

нэрлэж болохгүй. Учир нь түлхүүр үг нь С-хэлний хэсэг нь юм

Page 21: си хэлний ойлголт

Зөв ба буруу нэрийн жишээ

Хувьсагчийн нэр

Зөв буруу эсэх

Tsalin Зөв

D54x_r45 Зөв

report_jil Зөв

_2009_tax Зөв тэхдээ тохиромжгүй

Had$tailan Буруу

printf Буруу

8probit Буруу

Page 22: си хэлний ойлголт

Хувьсагч нэрлэж болохгүй түлхүүр үгс

asm, auto, bool, break, case, catch, char, class, const, const_cast, continue, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, operator, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static, static_cast, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while

Page 23: си хэлний ойлголт

С- хэл том, жижиг үсгээр хувьсагч нэрлэхэд мэдрэмжтэй.

Жишээ нь: PROBIT, Probit, probitНэрүүдээр хувьсагчийг нэрлэсэн бол гурван

өөр хувьсагч болно.С –хэлээр програм бичигчид хувьагчийн нэр

үүсгэхдээ ихэнхдээ жижиг үсэг хэрэглэсэн байдаг.

Мөн бүгд том үсгээр нэрлэсэн нэрийг тогтмол хэмжигдэхүүнийг нэрлэхэд голдуу хэрэглэсэн байдаг.

Хувьсагчийн нэрийг 31-ээс олон үсэг орсон урттай нэрээр нэрлэж болох боловч С-хэлний хөрвүүлэгч зөвхөн эхний 31 –ээр тасалж авдаг.

Ер нь хувьсагчийн нэр үүсгэхдээ тухайн өгөгдлийн агуулгыг тусгасан байвал хэрэглэгчидэд ойлгомжтой байдаг. Жнь: tsalin, tax, orlogo, nemegdel гэх мэт

Page 24: си хэлний ойлголт

Анхаарал Тавьсанд Баярлалаа