Lekts1
- 1. Агуулга
Агуулга ............................................................................................................................................... 1
Си хэлний тухай суурь ойлголтууд ................................................................................................. 2
Си хэлний элементүүд ...................................................................................................................2
Си хэлний цагаан толгой ...............................................................................................................2
Идентификатор ..............................................................................................................................2
Түлхүүр үг ......................................................................................................................................2
Програмд тайлбар хийх .................................................................................................................3
Програмын бүтэц ...........................................................................................................................3
Өгөгдийн төрөл .................................................................................................................................. 3
Бүхэл тоон төрөл ............................................................................................................................4
Бодит тоон төрөл ...........................................................................................................................4
Тоочих төрөл ..................................................................................................................................4
Хоосон төрөл ..................................................................................................................................5
Төрөл хувиргах ..............................................................................................................................5
Өгөгдлийг оруулах ба гаргах ............................................................................................................ 5
Printf функц ....................................................................................................................................5
Puts функц.......................................................................................................................................5
Курсор удирдах ..............................................................................................................................6
Scanf функц Өгөгдлийг оруулах...................................................................................................6
Илэрхийлэл ба үйлдэл ....................................................................................................................... 6
Үйлдэл.............................................................................................................................................6
Утга олгох .......................................................................................................................................6
Нэмэгдүүлэх ба хорогдуулах үйлдэл ...........................................................................................7
Нөхцөл шалгах ба сонголтын операторууд..................................................................................... 7
Харьцуулах үйлдлүүд:...................................................................................................................7
Нөхцөл шалгах if оператор ...........................................................................................................7
Логик нөхцөл..................................................................................................................................8
? : үйлдэл.........................................................................................................................................8
Сонголтын оператор switch ..........................................................................................................8
Break оператор. ..............................................................................................................................9
1
- 2. Си хэлний тухай суурь ойлголтууд
Си хэлний элементүүд
Програмчлалын Си хэлний элемент гэдэгт тухайн хэлэнд ашиглаж байгаа суурь бүтцийг
хэлнэ. Си хэлний элементүүдэд
1. Цагаан толгой
2. Тогтмолууд
3. Идентификатор
4. Түлхүүр үгс
5. Програмын тайлбар зэрэг орно.
Си хэлний цагаан толгой
Үүнд том жижиг латин үсгүүд, 0-9 гэсэн цифрүүд, хоосон зайн тэмдэгт, tab, мөр шилжүүлэх,
мөрийн төгсгөлийн тэмдэгтүүд, мөн зарим тусгай тэмдэгтүүд орно.
n шинэ мөрөнд шилжих буюу Enter товчыг дарсантай ижил үүрэг гүйцэтгэнэ.
t tab товчлууртай ижил үүрэг гүйцэтгэнэ.
v босоо мөрөнд tab зай шилжинэ.
b нэг тэмдэгт урагшаа шилжинэ. (back space)
r курсорыг шинэ мөрөнд аваачна, мөрийн эхэнд шилжинэ.
a сигнал буюу дохио өгнө.
‟ дан хашилтыг хэвлэнэ.
” давхар хашилтыг хэвлэнэ.
ташуу зураасыг хэвлэнэ.
ddd 8-тын тооллын системд байтыг бичих
xddd 16-тын тооллын системд байтыг бичих
Тусгай тэмдэгтүүд: , . : ? ‟ ( ) { } [ ] ! / ~ # $ % & ^ _ + *
Идентификатор
Хэрэглэгч програмдаа ашиглаж байгаа хувьсагч, тогтмол, функц, макро зэрэгтээ өгсөн
нэр болох тэмдэгтүүдийн дарааллыг хэрэглэгчийн идентификатор гэдэг. Хэрэглэгчийн
идентификаторыг програмдаа заавал тодорхойлох ба дараахь шаардлагыг хангасан
байна. Үүнд:
- Идентификатор үсгээр эхэлнэ.
- Нэг буюу хэд хэдэн латин үсэг, цифр, доод зурааснаас тогтоно.
- Идентификатор дотор хоосон зай авч болохгүй. Хэрэв идентификатор нь 2 ба түүнээс
дээш үгээс тогтох бол тэдгээрийг доогуур зураас (_)-аар холбон бичих хэрэгтэй.
- Си хэлэнд том, жижиг үсгүүдийг ялгаатайд тооцно.
- Идентификатор нь түлхүүр үгүүдтэй давхцах болохгүй.
- Кирилл үсэг оруулж болохгүй.
Түлхүүр үг
Энэ нь Си хэлний компилятор урьдчилан тодорхойлогдсон идентификаторууд юм. Си
хэлэнд 32 ш стандарт түлхүүр үг байх ба тэдгээрийг хэрэглэх ялгаатай зааврууд байдаг.
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
2
- 3. default go to sizeof volatile
do if static while
Програмд тайлбар хийх
Энэ нь хоосон мөр мэтээр ойлгогдох тэмдэгтүүдийн дараалал юм. Тайлбарын эхлэх ба
төгсгөлөг /* */ гэсэн тэмдгээр танидаг. Иймээс тайлбарын програмын альч хэсэгт хэрэглэж
болно. Энэ нь програмын аль ч хэсэгт хэрэглэж болно. Энэ нь програмын аль нэг хэсгийг
ойлгомжтой болгох үүднээс тайлбарлах зорилготой юм. Тайлбар дотор тайлбар бичиж
болохгүй. Мөн програмчлалын си хэлний сүүлийн үеийн хувилбаруудад тайлбарыг -аар
эхлүүлж болно. Энэ нь бичигдсэн газраасаа хойш тухайн үгийг дуустал нь тайлбар болгох
байна гэсэн үг.
Програмын бүтэц
Си, програмын бүтцэд үндсэн програм , програмын файлууд, програмын биелэлт, програмын
үйлчлэх хүрээ ба амьдрах хугацаа зэрэг орно.
-Үндсэн програм
Энэ нь дараах элементүүдыг агуулдаг.
1) Препроцессорын удирдлагууд
2) Компиляторын заалтууд
3) Зарлалтууд
4) Програмын бие
1. Препроцессорын удирдлагууд гэдэг нь компиляци хийхийн өмнө програмын текстыг өөрчлөх
удирдамжууд байна.
2. Компиляторын заалтууд нь компиляци хийх явцад компиляцийн ажиллагааг удирдах тусгай
удирдлагууд байна.
3. Зарлалтууд гэдэг нь хувьсагч тэмдэгт функцуудын зарлалт байна. Хувьсагчийн зарлалтаар
ямар төрлийн хувьсагч байгаагаас хамаараад тухайн хувьсагчид зориулсан санах ой
нөөцлөгддөг. Зарлах үед тухайн хувьсагчийн анхны утга нь тодорхой эсвэл тодорхой бус
байж болно. Хувьсагчийн ангилалаас хамаараад автомат, регистр, статик, гадаад хувьсагч гэж
ангилагддаг. Функцын зарлалтаар түүний нэр, функцийн буцаах утгын төрөл тодорхойлогдох
ба түүнд дамжигдах параметрүүдийг тодорхойлж болдог. Програм дотор хичнээн ч функцыг
тодорхойлж болох ба энэ нь тухайн програмын үүргээс хамаарна. Гэхдээ си хэлэн дээр
бичигдсэн програм нь ажиллахын тулд хамгийн багадаа нэг функцтэй байна. Энэ функцыг
үндсэн функц буюу main функц гэж нэрлэнэ. Өөрөөр хэлбэл Си дээр бичигдсэн програм нь
ямагт main функцээсээ эхэлж ажилдаг.
Өгөгдийн төрөл
Програм нь бүхэл тоо болон бодит тоо гэх мэт төрөл бүрийн өгөгдлийг хадгалж
боловсруулж байдаг. Програмын хөрвүүлэг ч нь өгөгдсөн утга ямар төрлөөр өгөгдөх болохыг
мэдэж байх шаардлагатай. Үүний тулд өгөгдлүүдийг төрөлжүүлэх шаардлагатай болдог.
Програмчлалын “Си” хэлэнд объект гэдэг ухагдахуун нь санах ойд байрлаж байгаа утгыг өөрөөр
хэлбэл байтуудыг дарааллыг хэлдэг. Нэр оноосон объектийг хувьсагч гэж хэлдэг. Объектийн
төрөл нь тухайн объект санах ой дээр ямар хэмжээ эзлэх яаж кодлогдохыг хэлдэг. Жишээ нь:
Яг ижил биетүүдийн дараалал нь өгөгдлийн төрлөөсөө хамаараад тэмдэгтэй, тэмдэггүй ялгаатай
бүхэл тоонууд болж болдог. Си хэлэн дэх өгөгдлийн төрлүүдийг дараах байдлаар ангилдаг.
1. Үндсэн төрөл. Үүнд: Стандарт болон өргөтгөсөн бүхэл тоон төрөл бодит болон хөвөгч
цэгтэй тоон төрлүүд багтдаг.
2. Тоочих төрөл
3
- 4. 3. Хоосон төрөл
4. Нийлмэл төрөл
Нийлмэл төрөлд массив төрөл заагч төрөл заагч төрөл бүтэц төрөл, нэгдэл төрөл, функц төрлүүд
багтдаг.
Бүхэл тоон төрөл
Бидний өдөр тутмын амьдралдаа хэрэглэдэг тоонууд нь бүхэл тоо юм. Дараах хүснэгтээр
бүхэл тоон төрлүүд тэдгээрийн санах ойд эзлэх хэмжээ авах утгын дээд доод хязгааруудыг
харуулъя.
Char 1 byte 0.255
Int 4 byte ±32768
Long 8 byte ±2,147,483,648
Unsigned int 4 byte 0.2,147,483,648
Unsigned short 2 byte 0.65535
Unsigned long 8 byte 0.1,294,665,295
Char төрөл нь тэмдэгтийг төлөөлөх боловч стандарт бүхэл тоон төрөл юм. Тэмдэгт төрөл дээр
бүхэл тооны арифметик үйлдлүүдийг хийх боломжтой. Өөрөөр хэлбэл зохиож байгаа програмаас
хамаараад тэмдэгт хувьсагчийг тэмдэгтээр эсвэл бүхэл тоогоор ашиглах боломжтой. Тэмдэгт
төрлийн хувьсагчийг тэмдэгт хэлбэрээр хэвлэхэд гаралтын Printf функцийг %C гэсэн
форматтайгаар, харин бүхэл тоон хэлбэрээр хэвлэх үед %D гэсэн форматтайгаар бичиж хэрэглэх
хэрэгтэй.
Int төрөл нь хамгийн тохиромжтой бүхэл тоон төрөл юм. Учир нь хэмжээ болон биет бүтцийнхээ
хувьд системын архитектурт маш сайн зохицдог. Иймээс онцын өөр шалтгаангүй үед Int төрлийг
ашиглаж байх хэрэгтэй.
Long гэдэг нь Int төрлийн өргөтгөсөн хэлбэр юм.
Бодит тоон төрөл
Си хэлэнд бүхэл тоо болон бодит тоог ялгахын тулд хөвөгч цэгийг ашигладаг. Дараах төрлийн
бодит тоо байна.
Float 4 byte ±3,4E+38 38 зэрэгт 6 орон
Double 8 byte ±1,7E+308 15 орон
Long double 10 byte ±1,1E+4932 19 орон
Бодит тоо нь хязгаарлагдмал нарийвчлалтайгаар хадгалагддаг. Нарийвчлал нь тухайн бодит тоон
төрлийг дүрслэхэд ашиглагдаж байгаа бинар бүтэц түүнийг хадгалахад ашиглагдаж санах ойн
хэмжээнээс хамаарна. Бодит тоон хувьсагчийг Printf функцээр хэвлэхдээ %f, %g, %e гэсэн
форматуудыг ашигладаг.
Тоочих төрөл
Тоочих төрөл нь td тооны тогтмол утгуудын олонлог юм. Эдгээр утгууд нь оноосон нэртэй байх
ба хөрвүүлэгч нь бүхэл тоон утгуудыг автоматаар 0 ээс эхлэн нэг нэг алхмаар нэмэгдүүлэн
харгалзах утга бүрд дугаарыг оноодог. Өгөгдлийн тоочигдох төрлийг зарлах ерөнхий хэлбэр нь
дараах байдалтай байна.
Enum <төрлийн нэр>(утга1,…утга N)<өгөгдлийн төрөл>;
Тоочих төрөл нь энгийн бүхэл тоон төрөлтэй тохирно. Тиймээс тоочих төрлийн
хувьсагчид арифметик үйлдлийг хийхийг зөвшөөрдөг.
4
- 5. Хоосон төрөл
Void түлхүүр үг нь утга байхгүй, хоосон гэдгийг илэрхийлдэг. Өгөгдлийн Void төрөлтэй хувьсагч
болон тогтмолыг зарлах боломжгүй. Энэ нь зөвхөн функцын тодорхойлолт void төрлийн
илэрхийлэл, void төрлийн заагч зэрэгт ашиглагддаг.
Төрөл хувиргах
Си хэлэнд ялгаатай төрлийн хувьсагчдыг 1 илэрхийлэл дотор оруулах шаардлага гардаг. Ийм үед
програмын хөрвүүлэгч нь үйлдэл гүйцэтгэхийн өмнө. Нэгэн ижил төрөл рүү хувирлахыг
оролддог. Мөн зарим тохиолдолд зориудаар хувьсагчийн төрлийг хувиргах шаардлага гардаг.
Тоон төрлийн хувиргалтанд түүний зэргээс шалтгаалах ба төрлүүдийг зэргээр нь эрэмбэлвэл.
1 Char
2 Short
3 Int
4 Long
5 Float
6 Double
7 Long double
Char төрөл нь хамгийн бага зэрэгтэй ба нэг том төрөл нь нөгөөгөөс том хэмжээтэй утгыг оноох
үед далд хувиргалт хийгдэнэ. Харин зарим тохиолдолд ил хэлбэрээр хувиргах шаардлага гарах ба
дараах хэлбэрээр бичнэ.
(төрөл) <илэрхийлэл>;
Энэ нь илэрхийллийн үр дүнд тооцоолоод дараа нь өгөгдсөн төрөл рүү хувиргахыг илэрхийлнэ.
Төрөл хувиргах үйлдэл нь бүхэл тоо болон бодит тоотой ажиллахад үед чухал байдаг.
Өгөгдлийг оруулах ба гаргах
Дэлгэц ба гар нь компьютерт мэдээллийг оруулах гаргах үндсэн төхөөрөмжүүд бөгөөд
тэдгээрийг стандарт оролт гаралт гэж хэлдэг. Програмын үр дүнг дэлгэц дээр хэвлэн харуулахын
тулд стандарт оролт гаралтын сангийн printf функцийг ашиглана. Си програмд стандарт оролт
гаралтыг санг stdio.h гэж нэрлэдэг.
Тухайлбал: int term=15;
Printf(“%d*2=%d”,term,term*2);
гэсэн програмын хэсэг нь дэлгэц дээр 15*2=30 гэсэн мэдээллийг хэвлэх болно. Энд %d
тэмдэгтийг оруулагч тэмдэгт гэх ба функцын эхний параметрт бичигдсэн үг нь орлуулагч
тэмдэгтийг эс тооцвол нэг бүрчлэн хэвлэгдэнэ. Гэхдээ энд орчулагч тэмдэгтийг ашигласан,
учраас % санийн утга нь эхний %d-ийн байранд 2*term-ийн утга нь дараагын %d-ийн байранд
орлуулагдан хэвлэгдэх болно.
Printf функц
Мэдээллийг хэвлэх printf функцийн бичигдэх ерөнхий хэлбэр нь дараах байдалтай байна.
printf(“format”,expression1,expression2,..);
Энд format нь юуг яаж хэвлэхийг заах бол expression1, expression2 нь орлуулагч
тэмдэгтийн оронд ямар элементүүд хэвлэгдэхийг заана.
Puts функц
Puts функц нь өгөгдсөн текст мөрийг стандарт гаралт руу хэвлэнэ. Энэ функц нь стандарт
оролт гаралт stdio.h сан дотор байрладаг. Puts функц нь текст мөрийг хэвлэхдээ шинэ
мөрийн тэмдэгтийг оруулж хэвлэдэг. „n‟
Функцийн бичигдэх ерөнхий хэлбэр нь: puts(“текст мөр”); гэсэн хэлбэрт байна.
5
- 6. Курсор удирдах
Курсор гэдэг нь компьютерийн дэлгэц дээр оролтын байрлалыг харуулах заагуур юм. Си
хэл нь курсорын байрлалыг удирдах тусгай тэмдэгтүүдтэй байдаг бөгөөд тэдгээрийг
escape тэмдэгтүүд гэж нэрлэдэг.
Escape тэмдэгтүүд нь урвуу налуу зураасаар () бусад тэмдэгтүүдээс ялгагдана.
b курсорыг нэг тэмдэгтээр буцаах
f шинэ хуудасны эхлэлд шилжих
n дараагын шинэ мөрт шилжих
r тухайн мөрийн эхэнд шилжих
t догол мөр үүсгэх
Scanf функц Өгөгдлийг оруулах
Стандарт сангийн scanf функцын тусламжтайгаар өгөдлийг оруулах бөгөөд энэ функц нь
printf-тэй ижил зарчимаар ажилладаг. Scanf функц нь өгөгдлийг хялбар оруулах боломж
олгодог.
Scanf функцын бичигдэх ерөнхий хэлбэр нь:
scanf(”оруулагч тэмдэгт”,&хувьсагчийн нэр);
Орлуулагч тэмдэгтүүд:
%d бүхэл тоо
%i бүхэл тоо
%c тэмдэг
%s тэмдэгт мөр
%f бодит тоо
%g бодит тоо
Хувьсагчийн нэрний өмнө &-ийн тэмдгийг заавал бичиж хаягийг заах хэрэгтэй.
scanf функцээр заасан хувьсагчийн утгыг өөрчлөх боломжийг олгодог.
Илэрхийлэл ба үйлдэл
Илэрхийлэл нь энгийн тооцоолол хийхэд хэрэглэгдэнэ. Тогтмол утга, мөр тогтмол
хувьсагчид утга оноох зэрэг нь бүгд илэрхийлэл юм. Өөрөөр хэлбэл илэрхийлэл нь хувьсагч,
тогтмол, үйлдлүүдийн нийлэмжээс бүтдэг. Програм нь илэрхийллийн тусламжтайгаар анхдагч
өгөгдлүүдийг боловсруулж эцсийн үр дүнг гарган авдаг.
Илэрхийллийн төрөл гэдэг нь түүнийг үнэлээд гаргах утгын төрөл юм. Хэрэв илэрхийллээс үр
дүн гарахгүй бол тухайн илэрхийллийг void буюу хоосон төрлийн илэрхийлэл гэж үздэг.
Үйлдэл
Илэрхийлэлд арифметик үйлдлүүдийг түгээмэл хэрэглэх ба үржих хуваах, үлдэгдэл олох, нэмэх,
хасах, эерэг тэмдэг сөрөг тэмдгийг ашиглана. Эдгээр арифметик үйлдлүүдээс зөвхөн, үлдэгдэл
олох үйлдэл нь бүхэл тоон дээр хийгдэх ѐстой. Бусад үйлдэл нь дурын тоон төрөл дээр
хэрэглэгдэж болно.
Утга олгох
Энэ үйлдэл нь түүний үйлдлийн тэмдэг болох = тэмдгийн баруун гар талд байгаа илэрхийллийг
тооцоолоод, зүүн гар талын объектод онооно. Си хэлэнд энгийн, нийлмэл гэсэн 2 янзын утга
олгох үйлдэл байна.
Энгийн=
Нийлмэл +=; -=; *=; =; %=;
x+=y; => x=x+y; x*=y; => x=x*y;
6
- 7. Нэмэгдүүлэх ба хорогдуулах үйлдэл
x
x x 1 x-ийн утгыг 1,1-ээр, нэмэгдүүлнэ.
x
Гэхдээ х++ илэрхийллийн, утга нь х-ийг 1-ээр нэмэгдүүлхийн өмнөх утга.
x
x x 1 ++х-ийн утга нь х-ийг 1-ээр нэмэгдүүлсний дараах утга байна.
x
Нөхцөл шалгах ба сонголтын операторууд
Харьцуулах үйлдлүүд:
== тэнцүү
!= тэнцүү биш
> эрс их
< эрс бага
>= их юмуу тэнцүү
<= бага юмуу тэнцүү
Үйлдлүүдийг харьцуулах үйлдлүүд гэдэг бөгөөд эдгээр үйлдлүүдыг 2 түвшинд хуваадаг. Үүнд:
Дээд түвшний буюу өндөр зэрэглэийн үйлдлүүд: > < >= <=
Доод түвшний буюу нам зэрэглэийн үйлдлүүд: == !=
Илэрхийлэл доторхи дээд түвшний үйлдлүүд эхлэж биелэгдээд дараа нь доод түвшний үйлдлүүд
биелэгдэнэ.
Тоон төрлийн утгуудыг жишихдээ утгынх нь их багаар жишнэ. Харин тэмдэгтүүдийг жишихдээ
ASCII дугаараар нь жишдэг.
ASCII тэмдэгтүүдийн дарааллын заримаас нь дурдвал:
„A‟=65 „a‟=97
„B‟=66 „b‟=98
„Z‟=90 „z‟=122 гэсэн кодтой.
Жишээ нь: „A‟>‟a‟ (худал)
„z‟>‟B‟ (үнэн)
Нөхцөл шалгах if оператор
Нөхцөл шалгах операторыг логик оператор гэх ба энэ нь ямар нэгэн идентификаторын утгаас
хамаарч ялгаатай үйлдэл хийх үед хэрэглэгдэнэ. Нөхцөл шалгах оператор нь хураангуй ба
дэлгэрэнгүй гэсэн 2 хэлбэртэй.
a) If (<логик нөхцөл>) үйлдэл;
Энэ хэлбэрийг нөхцөл шалгах, операторын хураангуй хэлбэр гэх ба шалгаж байгаа нөхцөл
биелэж байвал үйлдэл хийгдэх ба биелэхгүй бол дараагын операторт шилжих болно. Хэрэв
үйлдэл нь 2 ба түүнээс дээш бүлэг үйлдэл байвал Си хэлний блоклох оператороор хашиж өгнө.
Си хэлний блоклох оператор-ын хэлбэр: { оператор_1; оператор_2; . . . оператор_n; }
Си хэлэнд логик илэрхийлэл нь дурын илэрхийлэл байж болно. Харин бусад програмчлалын
хэлэнд зөвхөн үнэн, худал утга буцаах илэрхийллийг зөвшөөрдөг.
Жишээ нь: if(n>1000) printf(“n утга хязгаараас хэтэрлээ”)
b) If (<логик нөхцөл>) <үйлдэл_1>;
else<үйлдэл_2>;
7
- 8. Дэлгэрэнгүй нөхцөл шалгах хэлбэр нь логик нөхцөл биелэж байвал <үйлдэл_1>-ийг биелэхгүй
бол <үйлдэл_2>-ийг гүйцэтгэх болно. үйлдэл_1 ба үйлдэл_2 нь блоклох оператор байж болно.
Логик нөхцөл
Логик нөхцөлд хэдэн нөхцлийг зэрэг шалгасан байж болох ба тэр тохиолдолд шалгагдаж байгаа
логик нөхцлүүд логик холбоосоор холбогдсон байх ѐстой. Си хэлэнд логик ба, логик буюу, логик
үгүйсгэл гэсэн холбоосууд байна.
-Логик ба үйлдэл нь шалгагдаж байгаа нөхцлүүд бүгд үнэн үед үнэн байна. Үр дүн нь int
төрлийн утгатай ба үнэн үед 1, худал үед 0 гэсэн харгалзах утгатай байна.
Бичигдэх хэлбэр: Илэрхийлэл 1 && илэрхийлэл 2
-Логик буюу үйлдэл нь шалгагдаж байгаа нөхцлүүдийн ядаж 1 нөхцөл нь үнэн бол үг дүн нь
үнэн байна. Харин нөхцлүүд бүгд худал үед үр дүн нь худал байна.
Бичигдэх хэлбэр: Илэрхийлэл 1 || илэрхийлэл 2
-Логик үгүйсгэл үйлдэлээр илэрхийллийн үр дүнг урвуугаар хөрвүүлнэ. Өөрөөр хэлбэл үнэн
утгыг худал худал утгыг үнэн болгоно.
Бичигдэх хэлбэр: ! (илэрхийлэл)
? : үйлдэл
Энэ нь гүйцэт нөхцөл шалгах оператортой төстэй бичигдэх хэлбэр нь:
(логик нөхцөл)?(үйлдэл 1):(үйлдэл 2);
Хэрэв логик нөхцөл үнэн бол үйлдэл 1-ийг, худал бол үйлдэл 2-ийг биелүүлэх болно.
Энд үйлдэл 1 ба үйлдэл 2 нь заавал 1 илэрхийллээс тогтсон байх ѐстой.
Сонголтын оператор switch
Сонголтын оператор else if цуваатай төстэй. Гэхдээ бүхэл эсвэл тэмдэгт төрлийн илэрхийллийн
утгаас хамаарч хэдэн үйлдлээс аль нэгийг нь сонгон биелүүлэх хэрэгтэй бол энэ операторыг
ашиглана.
Бичигдэх ерөнхий хэлбэр 1:
Switch (илэрхийлэл)
{ <case утга_1>:<үйлдэл_1>; break;
<case утга_2>:<үйлдэл_2>; break;
. . .
<case утга_N>:<үйлдэл_N>; break;
}
Бичигдэх ерөнхий хэлбэр 2:
Switch (илэрхийлэл)
{ <case утга_1>:<үйлдэл_1>; break;
<case утга_2>:<үйлдэл_2>; break;
. . .
<case утга_N>:<үйлдэл_N>; break;
default үйлдэл_m;
}
Хэрэв илэрхийллийн утга нь утга_1= бол үйлдэл_1 биелэгдэнэ. Хэрэв утга_2= бол үйлдэл_2
биелэгдэнэ, гэх мэт ө/х илэрхийлэл нь бүхэл тоон төрөлтэй ба 1 удаа үнэлэгдээд case-үүдийн ард
бичигдсэн тогтмол утгуудтай харьцуулалт бичигдэнэ.
Хэрэв case тогтмолуудын аль нэг нь тохирч байвал програмын удирдлага тухайн case-ийн ард
бичигдсэн үйлдэлд шилжинэ. Хэрэв бүх утга тохирохгүй бол default-ийн ард бичигдсэн үйлдэлд
шилжинэ.
8
- 9. Switch командыг тухайн хэрэглэх шаардлагаас хамаарч янз бүр бичиж болно. Үүнд:
1. Break командыг бичихгүй байж болно.
2. Default сонголт байхгүй байж болно.
3. Хамгийн сүүлчийн сонголтын ард break оператор бичих шаардлагагүй.
4. Switch-ийн арын илэрхийлэл нь int төрлийн утга буцаах ѐстой.
5. Case түлхүүр үгийн хойно зөвхөн тэмдэгт болон тоон тогтмол бичнэ.
6. Сонголтын утгууд нь өөр хоорондоо ялгаатай утгууд байх ѐстой.
Break оператор.
Switch доторх break оператор нь програмын биелэлтийг switch-ийг дараагийн операторт
шилжүүлсэн. Хэрэв switch дотор break операторыг бичихгүй бол тухайн утгаас хойш орших бүх
үйлдлүүдийг биелүүлдэг. Ер нь break оператор нь тухайн операторын ажиллагааг зогсоож
дараагийн операторт шилжүүлэх үүрийг биелүүлдэг.
9