More Related Content
PPTX
PDF
PPTX
C++ vndsen oilgolt хичээл 1 PPTX
U.cs101 алгоритм программчлал-3 PDF
PPTX
PPT
PPTX
What's hot
PPTX
PPSX
PPTX
PPTX
PPTX
PPTX
PPTX
PDF
u.cs101 "Алгоритм ба програмчлал" Лекц №3 PDF
u.cs101 "Алгоритм ба програмчлал" Лекц №2 PDF
PPT
PPSX
PDF
PPTX
U.cs101 алгоритм программчлал-2 PPTX
өгөгдлийн сангийн системийн үндэс PPS
Давталттай алгоритмын бодлогууд PPS
Sw203 Lecture10 Polymorphism PPTX
ODP
PPTX
Power point ашиглах боломжуудаас Viewers also liked
PPTX
U.cs101 алгоритм программчлал-12 PPTX
U.cs101 алгоритм программчлал-1(1) PPSX
PDF
PPSX
PPT
PPTX
PDF
PPTX
PPTX
Ci prog tolgoi file хичээл 2 ODP
PDF
Лекц 7 (Давталтуудын Си хэлэнд) PPTX
Аудио слайдшоу гэж юу вэ? PPTX
Ci prog tolgoi file хичээл 2 PPS
Салаалсан алгоритмын бодлогууд PDF
PDF
Computerin tehnikin undes 1hicheeliin lektsiin huraangui PPT
PDF
DOC
Similar to Lec3 c++operator
PPTX
PDF
u.cs101 "Алгоритм ба програмчлал" Лекц №7 PPTX
U.cs101 алгоритм программчлал-4-zasah PPTX
C++ vndsen oilgolt хичээл 1 ODP
PDF
PDF
PDF
u.cs101 "Алгоритм ба програмчлал" Лекц №6 DOC
PPTX
PDF
PDF
PPTX
PPT
DOC
PDF
ODP
PPTX
PPT
PPTX
More from Turuu Tsogt
PPTX
PPTX
PPTX
PDF
PPTX
PPTX
PPTX
PPTX
PPTX
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.