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

Preview:

DESCRIPTION

 

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Компьютер бүрт тодорхой багтаамж бүхий 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

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

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

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

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

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

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

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

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

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

Tsalin Зөв

D54x_r45 Зөв

report_jil Зөв

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

Had$tailan Буруу

printf Буруу

8probit Буруу

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

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

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

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

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

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

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

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

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

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

Recommended