С++ хэлний операторууд
Лекц №3 2014 он
Ц.Төртогтох (morz.shipert@gmail.com,)
Магадлан итгэмжлэгдсэн “Идэр” Дээд Сургууль
Мэдээллийн Технологийн тэнхим
Агуулга
• Операторын тухай
• Утга олгох оператор
• Илэрхийлэл
• Битийн оператор
• Логик оператор
• Нөхцөл шалгах оператор
• Сонголтын оператор
• Давталтын оператор
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
Зорилго
• Шалгах бүтэц болон давталтын операторуудын талаарх
ойлголтуудыг үзнэ.
• Үүнд: while цикл, do while цикл, for цикл, break оператор,
continue оператор, шилжилтийн goto оператор, сонголтын
бүтэц switch, оролт гаралт ба операторууд, хэвшүүлэх
хэлбэрүүд агуулагдана.
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
С++ хэлний операторын тухай
Си хэлний лексемүүд Си хэлнийхээ дүрмийн дагуу холбогдож өгүүлбэр
бүтээдэг. Си хэл дээр бичигдсэн ийм өгүүлбэрийг оператор (statement)
гэдэг байна.
Програмд гүйцэтгэж буй үүргээр нь операторуудыг:
• биелэгдэх оператор (executable statement)
• үл биелэгдэх оператор (non-executable statement)
компьютерээр шууд ямар нэг үйлдэл хийлгэх үүрэгтэй операторыг
биелэгдэх оператор гээд харин програмын тухай мэдээллийг хөрвүүлэгчид
өгөх үүрэгтэй операторыг үл биелэгдэх оператор гэнэ.
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
С++ хэлний операторын тухай
Хөрвүүлэгч нь үл биелэгдэх операторуудын тусламжтайгаар програмын бүтэц,
зохион байгуулалт, боловсруулах өгөгдлүүдийн талаарх мэдээллийг олж аваад
түүндээ тулгуурлан биелэгдэх операторуудыг машины код руу хөрвүүлнэ. Ө.х.
машины код нь зөвхөн биелэгдэх операторуудын “орчуулга” байдаг байна. Учир
нь үл биелэгдэх операторууд хөрвүүлэлтийн шатанд үүргээ гүйцэтгээд
“хаягддаг” ажээ. Гэхдээ өгөгдлүүд хаягдахгүй гэдгийг санах хэрэгтэй.
Тэгэхээр зөвхөн биелэгдэх операторууд л харгалзах машины командуудтай
байдаг гэж ойлгож болно.
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
• Ингэхдээ нэг биелэгдэх операторт нэг буюу түүнээс
олон машины команд харгалзсан байдаг.
• утга оноох оператор
• оролт, гаралтын операторууд
• функц дуудах оператор
• нөхцөл шалгах оператор буюу Салаалалт бүтэц
• давталтын оператор буюу Давталт бүтэц
• сонголтын оператор буюу Сонголт бүтэц
• шилжүүлэх операторууд
• нийлмэл оператор буюу блок
г.м. болно.
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
Харин үл биелэгдэх операторын тухайд бол, ийм оператор нь зарлах,
таниулах г.м. үүрэгтэй гэснийг санаж байгаад:
• өгөгдөл зарлах
• функцын толгой хэсэг
• функцын прототип тодорхойлох
г.м.-ийг хамааруулж болно. Түүнчлэн препроцессорын директивийг ч бас
хамааруулж үзэж болох талтай.
Эдгээр операторууд нь бүгд урьдчилан тодорхойлогдсон загварын дагуу
бичигдэх бөгөөд түүнийх нь дагуу хөрвүүлэгч тэдгээрийг “танин мэднэ”.
Хэрэв зохих загварыг баримтлаагүй байвал хөрвүүлэгч алдаа өгөх болно.
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
• Хоосон оператор нь бие дааж үйлдэл хийхгүй боловч
Си хэлний үйлдлүүдийг хооронд нь тусгаарлах үндсэн
үүрэгийг гүйцэтгэнэ.Өөрөөр хэлбэл тухайн үйлдэл
дуусч байгааг компилятор хэлж өгдөг болно. Хоосон
операторыг програмын аль ч хэсэгт хэрэглэж болно.
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
•Блоклох оператор нь олон операторыг нэгтгэж нэг
бүлэг болгох үүрэгтэй.
•Бичигдэх хэлбэр:
• {оператор_2;оператор_1;...оператор_n}
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
Илэрхийллийн утга тооцоолон бодоод гарсан утгыг нь утга олгох
үйлдлийн тэмдэгийн өмнө талын хувьсах болон тогтмол
хэмжигдхүүний шинэ утга болгох үүрэгтэй.
• Бичигдэх хэлбэр:
• <хувьсагчийн_нэр>=<илэрхийлэл>;
• <тогтмолын_нэр>=<илэрхийлэл>
Илэрхийлэлд хувьсагч эсвэл тогтмол утга байж болох ба энэ
тохиолдолд хялбар илэрхийлэл гэдэг.
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
• Си хэлэнд арифметик , харьцуулал , логик , нэмэгдүүлэх ба
хорогдуулах , битийн гэх мэт үйлдлүүдийг ашиглаж болно. Мөн
функцуудыг хэрэглэнэ.
• “+” нэмэх
• “-” хасах
• “*” үржих
• “/” хуваах бүхэл тооны хуваалтын бүхэл хэсэг олгох
• “%” хуваах бүхэл тооны хуваалтын үлдэгдэл хэсэг олох
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
Си хэлний нэмэгдүүлэх “++” хорогдуулах “--” гэсэн
онцгой операторууд байдаг.
• Нэмэгдүүлэх “++” оператор бүхэл тоон хувьсагчийн
утгыг нэгээр нэмэгдүүлнэ.
• Хорогдуулах “--” оператор бүхэл тоон хувьсагчийн утгыг
нэгээр хорогдуулна.
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
Нэмэгдүүлэх хорогдуулах операторууд тус бүрдээ префикс
(үйлдэл хувьсагчийн өмнө бичигдсэн) , постфикс (хувьсагчийн
хойно бичигдсэн) гэсэн 2 хэлбэртэй байна.
• Постфикс нэмэгдүүлэх хорогдуулах операторуудыг (i++; i--
;)-ыг илэрхийлэлд ашиглахад хувьсагч үйлдэлд оролцсоны
дараа хувьсагчийн утга өөрчлөгддөг.
• Префикс нэмэгдүүлэх хорогдуулах операторууд
илэрхийлэлд ашиглахад хувьсагчийн утга үйлдэлд
оролцохоос өмнө өөрчилөгдөж дараа нь илэрхийллийн
үйлдэлд оролцоно.
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
Си хэлний 2 элементийн хооронд үйлдэл хийдэг үйлдэл буюу
бинар үйлдэл гэж нэрэлэгдэх үйлдлүүд товч бичиглэлтэй байна.
Ерийн ба товч бичлэг адил утгайтай.
Бинар үйлдлийн товч бичих хэлбэр:
• <хувьсагч><оператор>=<хувьсагч>;
Ерийн бичлэг Товч бичлэг Тайлбар
S=s+i; S+=i s-г i-р нэмэгдүүлэх
S=s-i; s-=i S-г i-р нэмэгдүүлэх
P=p*i; P*=i P-г i дахинүржүүлэх
P=p/i p/=i P-г i дахин бууруулах
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
• <(их) ,
• <=( их буюу тэнцүү) ,
• >(бага) ,
• >=(бага буюу тэнцүү) ,
• == тэнцүү ,
• != тэнцүү биш
зэрэг үйлдлүүдийг авч үздэг. Эдгээр Үйлдлийг ашигласан
илэрхийллийг логик илэрхийлэл гэнэ. Харьцуулах үйлдэл нь
нөхцөл шалгах болон нөхцөлт давталтын операторуудад
хэрэглэнэ. С++ хэлэнд BOOLEN төрөл гэж байдаггүй тул
харьцуулах үйлдэл нь нөхцөл биелж байвал 0-ээс ялгаатай утга
, биелэхгүй бол 0 гэсэн утга олгоно.
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
Логик үйлдлүүд
• Логик үйлдлүүд болох үгүйсгэл , ба , буюу нь С++ хэлний
дараах тэмдэгтээр илэрхийлэгдэнэ.
• ! – логик үгүйсгэл && - логик ба || - логик буюу
• Эдгээр үйлдлүүд нь логик нөхцөлүүдийг холбон нийлмэл логик
нөхцөл болдог. Логик үйлдлүүд нь ихэнхдээ нөхцөл шалгах
оператор болон нөхцөлт давталтын операторуудтай
хэрэглэгдэнэ. ! нь унар , && болон || нь бинар үйлдлүүд юм.
• Логик холбоосын үнэн хүснэгтийг харуулбал: (1-үнэн , 0
худал), С++ хэлэнд логик илэрхйиллийн утга 0 – оос ялгаатай
бол үнэн , 0 –тэй тэнцүү бол худлаа гэж үздэг.
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
Логик үйлдлүүд
&& - логик
ба || -
логик буюу
үйлдлийн
утгын
“бинар”
1-р логик 2-р логик А&&B А||В
1 1 1 1
1 0 0 1
0 1 0 1
0 0 0 0
! – логик үгүйсгэл
үйлдлийн утгын
хүснэгт “унар”
Логик нөхцөл утга А !A
1 0
0 1
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
Нөхцөл шалгах оператор
• Боловсруулалт хийсэн үр дүнгийн 2 утга , эсвэл хоёр
арга замаас сонголт хийхдээ ихэвчлэн if … else …
операторыг ашигладаг. Үүнийг нөхцөл шалгах
оператор дараах хоёр хэлбэртэй байна.
• If(<нөхцөл>) <оператор_1>; else<оператор_2>;
• If(<нөхцөл>) <оператор>;
• Үүнд:Оператор ямар нэгэн оператораас бүрдсэн
энгийн эсвэл операторын хаалтанд байх хэд хэдэн
оператораас бүрдсэн нийлмэл оператор байж болно.
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
Нөхцөл шалгах оператор
• Жишээ нь: Өгөгдсөн ab хоёр тооны утгыг олоход:
if(a>b)max=a; else max=b; if Оператор нь хэлбэртэй
байвал нөхцөлд байгаа логик илэрхийлэллийн утгыг
тооцоолж олоод хэрвээ нөхцөл биелэж байвал
дараагийн үйлдэлд удирдлага шилжүүлнэ.
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
Сонголтын оператор
• Сонголтын оператор бүхэл эсвэл тэмдэгт төрлийн
илэрхийллийн үр дүнгийн утгаас хамаарч хэд хэдэн
үйлдлээс аль нэгийг нь сонгон биелүүлэх хэрэгтэй бол
энэ операторыг хэрэглэнэ.
• Сонголтын оператор нь мөн хураангуй ба дэлгэрэнгүй
гэсэн 2 хэлбэртэй байна. Үүнд:
Хураангуй Дэлэгрэнгүй
switch(<илэрхийлэл>)
{ case<utga>:<uildel1>;break;
Case<utga>:<uildel2>;break;
…
Case<utga>:<uildel>;break
}
Switch(<илэрхийлэл>)
{ case<utga>:<uildel1>;break;
Case<utga>:<uildel2>;break;
…
Case<utga>:<uildel>;break
default:<uildel>
}
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
Сонголтын оператор
• Хэрэв<үйлдэл1>,<үйлдэл2>,...,<үйлдэлN> нь 2 ба
түүнээс дээш бүлэг үйлдэл байвал С++ хэлний
блоклох оператор {}-р хашиж өгнө. Switch доторх break
оператор нь програмын биелэлтийг switch-ийн
дараагийн оператор шилжүүлдэг. Өөрөө хэлбэл , С++
хэлний switch дараагийн операторт break операторыг
бичихгүй бол тухайн утгаас хойш орших бүх үйлдлийн
биелүүлдэг
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
• Эхэндээ нөхцөлтэй давталт нь шалгаж байгаа логик нөхцөл
биелэж байх үед давтагдах үйлдлийг гүйцэтгэх бөгөөд харин
логик нөхцөл биелэгдэхдээ больмогц давталт төгсдөг. Энэ
давталтын операторыг давтагдах үйлдлийн хэдэн удаа
биелэгдэх нөхцөлгүй үед хэрэглэх нь тохиромжтой.
• Бичигдэх нь: while (<Нөхцөл>) do <оператор>;
• Давтагдах үйлдэл нь 2 ба түүнээс дээш үед блок оператор
болж ИХ хаалтанд хийнэ.
• while (<Нөхцөл>) do {<оператор1>; <оператор2>; … <операторN>;}
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
• For давталт нь нэг буюу хэд хэдэн оператор хэдэн
удаа давтах нь тодорхой байх үед хэрэглэнэ.
Давталтыг зохиоход ашиглаж байгаа хувьсагчийг
давталтын параметр гэнэ.
• Ямар нэг параметрыг ашиглан давталтыг зохиоход
түүнийг авах эхний утга , эцсийн утга ба утгыг нь
өөрчилөх алхам гэсэн гурван утгыг шаардах бөгөөд
эдгээр утгууд нь тодорхой мэдэгдэж байгаа давталтыг
параметрт давталт гэж нэрлэгдэх давталтаар хийх
зохимжтой байна.
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
• Параметрт давталтыг зохиож бичихдээ:
• 1.Параметрт эхний утгыг тогтоож олгоно.
• 2.Параметрын тухайн үеийн утга нь эцсийн утгаас хэтэрсэн (их
болсон эсвэл бага болсон) эсэхийг шалгасан нөхцөлтэй эхэндээ
нөхцөлтэй давталтыг зохиож бичнэ.
• 3.Давталтын биеийн төгсгөлд параметрын утгыг алхамтай тэнцүү
утгаар өөрчилж утга олгосон байна.
• Бичигдэх ерөнхий хэлбэр:
• For([<эхний утга>];[<нөхцөл илэрхийлэл>];[<илэрхийлэл алхам>]){
<оператор1><оператор2>…<операторN>
}
Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
Эх сурвалжууд
• Д.Цэдэвсүрэн “C++ програмчлал”
• spe.num.edu.mn/altankhuu/lesson/comp201/
Lec3 c++operator

Lec3 c++operator

  • 1.
    С++ хэлний операторууд Лекц№3 2014 он Ц.Төртогтох (morz.shipert@gmail.com,) Магадлан итгэмжлэгдсэн “Идэр” Дээд Сургууль Мэдээллийн Технологийн тэнхим
  • 2.
    Агуулга • Операторын тухай •Утга олгох оператор • Илэрхийлэл • Битийн оператор • Логик оператор • Нөхцөл шалгах оператор • Сонголтын оператор • Давталтын оператор Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 3.
    Зорилго • Шалгах бүтэцболон давталтын операторуудын талаарх ойлголтуудыг үзнэ. • Үүнд: while цикл, do while цикл, for цикл, break оператор, continue оператор, шилжилтийн goto оператор, сонголтын бүтэц switch, оролт гаралт ба операторууд, хэвшүүлэх хэлбэрүүд агуулагдана. Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 4.
    С++ хэлний операторынтухай Си хэлний лексемүүд Си хэлнийхээ дүрмийн дагуу холбогдож өгүүлбэр бүтээдэг. Си хэл дээр бичигдсэн ийм өгүүлбэрийг оператор (statement) гэдэг байна. Програмд гүйцэтгэж буй үүргээр нь операторуудыг: • биелэгдэх оператор (executable statement) • үл биелэгдэх оператор (non-executable statement) компьютерээр шууд ямар нэг үйлдэл хийлгэх үүрэгтэй операторыг биелэгдэх оператор гээд харин програмын тухай мэдээллийг хөрвүүлэгчид өгөх үүрэгтэй операторыг үл биелэгдэх оператор гэнэ. Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 5.
    С++ хэлний операторынтухай Хөрвүүлэгч нь үл биелэгдэх операторуудын тусламжтайгаар програмын бүтэц, зохион байгуулалт, боловсруулах өгөгдлүүдийн талаарх мэдээллийг олж аваад түүндээ тулгуурлан биелэгдэх операторуудыг машины код руу хөрвүүлнэ. Ө.х. машины код нь зөвхөн биелэгдэх операторуудын “орчуулга” байдаг байна. Учир нь үл биелэгдэх операторууд хөрвүүлэлтийн шатанд үүргээ гүйцэтгээд “хаягддаг” ажээ. Гэхдээ өгөгдлүүд хаягдахгүй гэдгийг санах хэрэгтэй. Тэгэхээр зөвхөн биелэгдэх операторууд л харгалзах машины командуудтай байдаг гэж ойлгож болно. Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 6.
    • Ингэхдээ нэгбиелэгдэх операторт нэг буюу түүнээс олон машины команд харгалзсан байдаг. • утга оноох оператор • оролт, гаралтын операторууд • функц дуудах оператор • нөхцөл шалгах оператор буюу Салаалалт бүтэц • давталтын оператор буюу Давталт бүтэц • сонголтын оператор буюу Сонголт бүтэц • шилжүүлэх операторууд • нийлмэл оператор буюу блок г.м. болно. Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 7.
    Харин үл биелэгдэхоператорын тухайд бол, ийм оператор нь зарлах, таниулах г.м. үүрэгтэй гэснийг санаж байгаад: • өгөгдөл зарлах • функцын толгой хэсэг • функцын прототип тодорхойлох г.м.-ийг хамааруулж болно. Түүнчлэн препроцессорын директивийг ч бас хамааруулж үзэж болох талтай. Эдгээр операторууд нь бүгд урьдчилан тодорхойлогдсон загварын дагуу бичигдэх бөгөөд түүнийх нь дагуу хөрвүүлэгч тэдгээрийг “танин мэднэ”. Хэрэв зохих загварыг баримтлаагүй байвал хөрвүүлэгч алдаа өгөх болно. Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 8.
    • Хоосон операторнь бие дааж үйлдэл хийхгүй боловч Си хэлний үйлдлүүдийг хооронд нь тусгаарлах үндсэн үүрэгийг гүйцэтгэнэ.Өөрөөр хэлбэл тухайн үйлдэл дуусч байгааг компилятор хэлж өгдөг болно. Хоосон операторыг програмын аль ч хэсэгт хэрэглэж болно. Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 9.
    •Блоклох оператор ньолон операторыг нэгтгэж нэг бүлэг болгох үүрэгтэй. •Бичигдэх хэлбэр: • {оператор_2;оператор_1;...оператор_n} Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 10.
    Илэрхийллийн утга тооцоолонбодоод гарсан утгыг нь утга олгох үйлдлийн тэмдэгийн өмнө талын хувьсах болон тогтмол хэмжигдхүүний шинэ утга болгох үүрэгтэй. • Бичигдэх хэлбэр: • <хувьсагчийн_нэр>=<илэрхийлэл>; • <тогтмолын_нэр>=<илэрхийлэл> Илэрхийлэлд хувьсагч эсвэл тогтмол утга байж болох ба энэ тохиолдолд хялбар илэрхийлэл гэдэг. Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 11.
    • Си хэлэндарифметик , харьцуулал , логик , нэмэгдүүлэх ба хорогдуулах , битийн гэх мэт үйлдлүүдийг ашиглаж болно. Мөн функцуудыг хэрэглэнэ. • “+” нэмэх • “-” хасах • “*” үржих • “/” хуваах бүхэл тооны хуваалтын бүхэл хэсэг олгох • “%” хуваах бүхэл тооны хуваалтын үлдэгдэл хэсэг олох Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 12.
    Си хэлний нэмэгдүүлэх“++” хорогдуулах “--” гэсэн онцгой операторууд байдаг. • Нэмэгдүүлэх “++” оператор бүхэл тоон хувьсагчийн утгыг нэгээр нэмэгдүүлнэ. • Хорогдуулах “--” оператор бүхэл тоон хувьсагчийн утгыг нэгээр хорогдуулна. Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 13.
    Нэмэгдүүлэх хорогдуулах операторуудтус бүрдээ префикс (үйлдэл хувьсагчийн өмнө бичигдсэн) , постфикс (хувьсагчийн хойно бичигдсэн) гэсэн 2 хэлбэртэй байна. • Постфикс нэмэгдүүлэх хорогдуулах операторуудыг (i++; i-- ;)-ыг илэрхийлэлд ашиглахад хувьсагч үйлдэлд оролцсоны дараа хувьсагчийн утга өөрчлөгддөг. • Префикс нэмэгдүүлэх хорогдуулах операторууд илэрхийлэлд ашиглахад хувьсагчийн утга үйлдэлд оролцохоос өмнө өөрчилөгдөж дараа нь илэрхийллийн үйлдэлд оролцоно. Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 14.
    Си хэлний 2элементийн хооронд үйлдэл хийдэг үйлдэл буюу бинар үйлдэл гэж нэрэлэгдэх үйлдлүүд товч бичиглэлтэй байна. Ерийн ба товч бичлэг адил утгайтай. Бинар үйлдлийн товч бичих хэлбэр: • <хувьсагч><оператор>=<хувьсагч>; Ерийн бичлэг Товч бичлэг Тайлбар S=s+i; S+=i s-г i-р нэмэгдүүлэх S=s-i; s-=i S-г i-р нэмэгдүүлэх P=p*i; P*=i P-г i дахинүржүүлэх P=p/i p/=i P-г i дахин бууруулах Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 15.
    • <(их) , •<=( их буюу тэнцүү) , • >(бага) , • >=(бага буюу тэнцүү) , • == тэнцүү , • != тэнцүү биш зэрэг үйлдлүүдийг авч үздэг. Эдгээр Үйлдлийг ашигласан илэрхийллийг логик илэрхийлэл гэнэ. Харьцуулах үйлдэл нь нөхцөл шалгах болон нөхцөлт давталтын операторуудад хэрэглэнэ. С++ хэлэнд BOOLEN төрөл гэж байдаггүй тул харьцуулах үйлдэл нь нөхцөл биелж байвал 0-ээс ялгаатай утга , биелэхгүй бол 0 гэсэн утга олгоно. Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 16.
    Логик үйлдлүүд • Логикүйлдлүүд болох үгүйсгэл , ба , буюу нь С++ хэлний дараах тэмдэгтээр илэрхийлэгдэнэ. • ! – логик үгүйсгэл && - логик ба || - логик буюу • Эдгээр үйлдлүүд нь логик нөхцөлүүдийг холбон нийлмэл логик нөхцөл болдог. Логик үйлдлүүд нь ихэнхдээ нөхцөл шалгах оператор болон нөхцөлт давталтын операторуудтай хэрэглэгдэнэ. ! нь унар , && болон || нь бинар үйлдлүүд юм. • Логик холбоосын үнэн хүснэгтийг харуулбал: (1-үнэн , 0 худал), С++ хэлэнд логик илэрхйиллийн утга 0 – оос ялгаатай бол үнэн , 0 –тэй тэнцүү бол худлаа гэж үздэг. Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 17.
    Логик үйлдлүүд && -логик ба || - логик буюу үйлдлийн утгын “бинар” 1-р логик 2-р логик А&&B А||В 1 1 1 1 1 0 0 1 0 1 0 1 0 0 0 0 ! – логик үгүйсгэл үйлдлийн утгын хүснэгт “унар” Логик нөхцөл утга А !A 1 0 0 1 Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 18.
    Нөхцөл шалгах оператор •Боловсруулалт хийсэн үр дүнгийн 2 утга , эсвэл хоёр арга замаас сонголт хийхдээ ихэвчлэн if … else … операторыг ашигладаг. Үүнийг нөхцөл шалгах оператор дараах хоёр хэлбэртэй байна. • If(<нөхцөл>) <оператор_1>; else<оператор_2>; • If(<нөхцөл>) <оператор>; • Үүнд:Оператор ямар нэгэн оператораас бүрдсэн энгийн эсвэл операторын хаалтанд байх хэд хэдэн оператораас бүрдсэн нийлмэл оператор байж болно. Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 19.
    Нөхцөл шалгах оператор •Жишээ нь: Өгөгдсөн ab хоёр тооны утгыг олоход: if(a>b)max=a; else max=b; if Оператор нь хэлбэртэй байвал нөхцөлд байгаа логик илэрхийлэллийн утгыг тооцоолж олоод хэрвээ нөхцөл биелэж байвал дараагийн үйлдэлд удирдлага шилжүүлнэ. Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 20.
    Сонголтын оператор • Сонголтыноператор бүхэл эсвэл тэмдэгт төрлийн илэрхийллийн үр дүнгийн утгаас хамаарч хэд хэдэн үйлдлээс аль нэгийг нь сонгон биелүүлэх хэрэгтэй бол энэ операторыг хэрэглэнэ. • Сонголтын оператор нь мөн хураангуй ба дэлгэрэнгүй гэсэн 2 хэлбэртэй байна. Үүнд: Хураангуй Дэлэгрэнгүй switch(<илэрхийлэл>) { case<utga>:<uildel1>;break; Case<utga>:<uildel2>;break; … Case<utga>:<uildel>;break } Switch(<илэрхийлэл>) { case<utga>:<uildel1>;break; Case<utga>:<uildel2>;break; … Case<utga>:<uildel>;break default:<uildel> } Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 21.
    Сонголтын оператор • Хэрэв<үйлдэл1>,<үйлдэл2>,...,<үйлдэлN>нь 2 ба түүнээс дээш бүлэг үйлдэл байвал С++ хэлний блоклох оператор {}-р хашиж өгнө. Switch доторх break оператор нь програмын биелэлтийг switch-ийн дараагийн оператор шилжүүлдэг. Өөрөө хэлбэл , С++ хэлний switch дараагийн операторт break операторыг бичихгүй бол тухайн утгаас хойш орших бүх үйлдлийн биелүүлдэг Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 22.
    • Эхэндээ нөхцөлтэйдавталт нь шалгаж байгаа логик нөхцөл биелэж байх үед давтагдах үйлдлийг гүйцэтгэх бөгөөд харин логик нөхцөл биелэгдэхдээ больмогц давталт төгсдөг. Энэ давталтын операторыг давтагдах үйлдлийн хэдэн удаа биелэгдэх нөхцөлгүй үед хэрэглэх нь тохиромжтой. • Бичигдэх нь: while (<Нөхцөл>) do <оператор>; • Давтагдах үйлдэл нь 2 ба түүнээс дээш үед блок оператор болж ИХ хаалтанд хийнэ. • while (<Нөхцөл>) do {<оператор1>; <оператор2>; … <операторN>;} Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 23.
    • For давталтнь нэг буюу хэд хэдэн оператор хэдэн удаа давтах нь тодорхой байх үед хэрэглэнэ. Давталтыг зохиоход ашиглаж байгаа хувьсагчийг давталтын параметр гэнэ. • Ямар нэг параметрыг ашиглан давталтыг зохиоход түүнийг авах эхний утга , эцсийн утга ба утгыг нь өөрчилөх алхам гэсэн гурван утгыг шаардах бөгөөд эдгээр утгууд нь тодорхой мэдэгдэж байгаа давталтыг параметрт давталт гэж нэрлэгдэх давталтаар хийх зохимжтой байна. Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 24.
    • Параметрт давталтыгзохиож бичихдээ: • 1.Параметрт эхний утгыг тогтоож олгоно. • 2.Параметрын тухайн үеийн утга нь эцсийн утгаас хэтэрсэн (их болсон эсвэл бага болсон) эсэхийг шалгасан нөхцөлтэй эхэндээ нөхцөлтэй давталтыг зохиож бичнэ. • 3.Давталтын биеийн төгсгөлд параметрын утгыг алхамтай тэнцүү утгаар өөрчилж утга олгосон байна. • Бичигдэх ерөнхий хэлбэр: • For([<эхний утга>];[<нөхцөл илэрхийлэл>];[<илэрхийлэл алхам>]){ <оператор1><оператор2>…<операторN> } Сэдэв: С++ хэлний операторууд Ц.Төртогтох / Магистрант /
  • 25.
    Эх сурвалжууд • Д.Цэдэвсүрэн“C++ програмчлал” • spe.num.edu.mn/altankhuu/lesson/comp201/