More Related Content
More from Баярсайхан Л (19)
онол
- 1. СИ ХЭЛ БАГШ: Л.БАЯРСАЙХАН
Дархан-уул аймаг Улсын тэргүүний Од цогцолбор сургууль
СИ ПРОГРАМЫН ТУХАЙ
Програм нь ерөнхийдөө бэлтгэл хэсэг ба үндсэн програмаас тогтдог. Бэлтгэл хэсэгт уг програмын бүхий л хэсэгт ашиглаж болох глобал хувьсагч, тогтмолууд болон уг програмд ашиглагдах стандарт функцуудын байрлаж буй толгой файлуудыг тодорхойлдог.
Хувьсагчийг ашиглах нь:
Программын явцад харгалзах утгууд нь өөрчлөгдөж байдаг идентификаторыг хувьсагч гэнэ. Өөрөөр хэлбэл, хувьсагч нь ганц тогтмол утга биш, харин утгуудын тодорхой мужаас аль нэгийг нь авах боломжтой юм. Хувьсагч нь программд их чухал үүрэгтэй бөгөөд хэдэн хувьсагч ашиглагдах, тэдгээр нь ямар ямар төрөлтэй байхыг шийдэх нь программ зохиох гол алхмуудын нэг .Хувсагчийн төрөл гэдэг нь түүний авч болох утгуудын мужийг хэлж байгаа юм. С++-д дараах стандарт төрлүүд байдаг.
C хэлний оролт, гаралтыг зохион байгуулах:
Ямар ч програмчлалын хэлэнд хувьсагчийн утгыг /анхдагч өгөгдлийг/ оруулах, түүн дээр боловсруулалт хийсний дараа эцсийн үр дүнг хэвлэх 2 арга зам байдаг.
1. Стандарт / Оролт, Гаралтаар
2. Файл
С програмын стандарт санд оролт, гаралтыг зохион байгуулах болон тэмдэгт төрөл, тэмдэгт мөр төрлийг удирдах функцууд байдаг. Бид энэ хичээлээр хэрхэн анхдагч өгөгдлийг стандарт оролтоос уншиж, програмын үр дүнг стандарт гаралт руу бичих тухай ярих болно. Ихэвчлэн стандарт оролт гэдэгт компьютерийн гар, стандарт гаралт гэдэгт дэлгэц /консоле/-ийг ойлгодог.
Оролт/гаралтыг зохион байгуулах printf(), scanf(), getchar(), putchar() функцууд нь stdio.h стандарт толгой файлд тодорхойлогдсон байдаг. printf(); scanf() функцуудыг хэвшүүлэгчтэй функцууд гэх ба оролт/гаралтын үйлдэлээ хэвшүүлэгч тэмдэгийн тусламжтайгаар хийдэг.
Дараах хэвшүүлэгч тэмдэгтүүд байна: Үүнд
Формат нь % тэмдгээр эхэлнэ.
d - аравтын тэмдэгтэй бүхэл тоо
o – наймтын тэмдэггүй бүхэл тоо
u – аравтын тэмдэггүй бүхэл тоо
x – 16-тын тэмдэггүй бүхэл тоо
f – бодит тоо
e – хөвөгч цэтгэй бодит тоо
g – хөвөгч цэтгэй бодит тоо
c – тэмдэгтийг хэвлэх
s – тэмдэгт мөрийг хэвлэх
ОРУУЛАХ ФУНКЦ / scanf /
scanf() функц нь стандарт оролтоос өгөгдлийг оруулахад хэрэглэгдэнэ.
Бичигдэх ерөнхий хэлбэр нь:
scanf(“хэвшүүлэгчийг агуулсан тэмдэгт мөр”, аргументуудын жагсаалт);
Энд эхний аргумент нь оролтын өгөгдөлд тохирох хэвшүүлэгч тэмдэгт, дараах аргумент нь хувьсагчийн санах ойд байрлах хаяг байна.
Жич: scanf(“ %d”, &a);
ГАРГАХ ФУНКЦ / printf /
- 2. СИ ХЭЛ БАГШ: Л.БАЯРСАЙХАН
Дархан-уул аймаг Улсын тэргүүний Од цогцолбор сургууль
Энэ нь өгөгдлийг стандарт гаралт буюу консоле дээр гаргахад хэрэглэгдэнэ. Бичигдэх ерөнхий хэлбэр нь:
printf(“хэлбэршүүлэгч тэмдэгтүүдийн дарааллыг агуулсан тэмдэгт мөр”, аргументууд);
Аргументууд гэдэгт тогтмол, хувьсагч, илэрхийлэл, функцууд жагсаалт таслалаар тусгаардагдаж байрлана. Энэ жагсаалтад байгаа аргумент бүрийн хэвшүүлэгч тэмдэг нь хэлбэршүүлэгч тэмдэгтүүдийн дарааллыг агуулсан тэмдэгт мөр дотор төрөл ба дараалал нь тохирч байхаар байрлана. Хэлбэршүүлэгч тэмдэгтүүдийн дарааллыг агуулсан тэмдэгт мөр нь дараах хэсгүүдээс тогтоно.
- Хэвлэгдэх тэмдэгтүүдийн дараалал
- Хэвшүүлэгч тэмдэгт
- Escape дараалал
Жич: printf(“талбай =%d”, s);
Жишээ бодлого:
#include <stdio.h>
#include <conio.h>
main()
{
int a,b,s,p;
printf("a,b toogoo oruulna uu ");
scanf("%d %d",&a,&b);
s=a*b;
p=2*(a+b);
printf("Talvai s= %d Peremetr p= %d",s,p);
getch();
return 0;
}
АРИФМЕТИК ҮЙЛДЛҮҮД
Си хэлэнд арифметик , харьцуулал , логик , нэмэгдүүлэх ба хорогдуулах , битийн гэх мэт үйлдлүүдийг ашиглаж болно. Мөн дараахи функцуудыг хэрэглэнэ. • “+” нэмэх. • “-” хасах. • “*” үржих. • “/” хуваах бүхэл тооны хуваалтын бүхэл хэсэг олгох. • “%” хуваах бүхэл тооны хуваалтын үлдэгдэл хэсэг олох. Нэмэгдүүлэх хорогдуулах операторууд Си хэлний нэмэгдүүлэх "++" хорогдуулах "--" гэсэн онцгой операторууд байдаг. - Нэмэгдүүлэх "++" оператор бүхэл тоон хувьсагчийн утгыг нэгээр нэмэгдүүлнэ. - Хорогдуулах "--" оператор бүхэл тоон хувьсагчийн утгыг нэгээр хорогдуулна. Нэмэгдүүлэх, Хорогдуулах операторууд тус бүрдээ префикс (үйлдэл хувьсагчийн өмнө бичигдсэн) , постфикс (хувьсагчийн хойно бичигдсэн) гэсэн 2 хэлбэртэй байна. • Постфикс нэмэгдүүлэх хорогдуулах операторуудыг (i++; i--) -ыг илэрхийлэлд
- 3. СИ ХЭЛ БАГШ: Л.БАЯРСАЙХАН
Дархан-уул аймаг Улсын тэргүүний Од цогцолбор сургууль
ашиглахад хувьсагч үйлдэлд оролцсоны дараа хувьсагчийн утга өөрчлөгддөг. • Префикс нэмэгдүүлэх хорогдуулах операторууд илэрхийлэлд ашиглахад хувьсагчийн утга үйлдэлд оролцохоос өмнө өөрчилөгдөж дараа нь илэрхийллийн үйлдэлд оролцоно. Харьцуулах үйлдлүүд •< (их) , • <= ( их буюу тэнцүү) , • > (бага) , • >= (бага буюу тэнцүү) , • == тэнцүү , • != тэнцүү биш зэрэг үйлдлүүдийг авч үздэг. Эдгээр Үйлдлийг ашигласан илэрхийллийг логик илэрхийлэл гэнэ. Харьцуулах үйлдэл нь нөхцөл шалгах болон нөхцөлт давталтын операторуудад хэрэглэнэ. С++ хэлэнд харьцуулах үйлдэл нь нөхцөл биелж байвал 0-ээс ялгаатай утга , биелэхгүй бол 0 гэсэн утга олгоно.
ЭХЭНДЭЭ НӨХЦӨЛТЭЙ ДАВТАЛТЫН ОПЕРАТОР
Эхэндээ/Өмнөө/ нөхцөлтэй давталтын оператор
Давталтын оператор нь шалгаж байгаа логик нөхцөл биелэж байх үед давтагдах үйлдлийг гүйцэтгэх бөгөөд харин логик гөхцөл биелэхээ болимогц давталтыг төгсгөдөг. Энэ давталтын операторыг үйлдлийг хэдэн удаа давтахаа мэдэхгүй үед, өөрөөр хэлбэл яг хэдэн удаа давталт хийх нь тодорхойгүй үед хэрэглэх нь тохиромжтой.
while (<логик нөхцөл>) <үйлдэл>;
Давтагдах үйлдэл нь 2 ба түүнээс дээш үйлдэл байх үед мөн блоклох оператороор хашиж өгөх хэрэгтэй.
Жишээ бодлого: Өгөгдсөн натурал n тоо хүртлэх тэгш тоонуудын нийлбэрийг ол. Үр дүн. тоогоо оруулна уу = 7 тэгш тоонуудын нийлбэр= 12 #include <stdio.h> #include <conio.h> main() { int n,i,s=0; printf("тоогоо оруулна уу?= "); scanf("%d",&n); i=2; while (i<=n) { s=s+i; i=i+2; } printf("тэгш тоонуудын нийлбэр =%dn",s); getch(); }
ПАРАМЕТРТ (ТООЛУУРТ )ДАВТАЛТ FOR
For буюу параметрт давталт нь нэг буюу хэд хэдэн операторыг тодорхой тооны удаа давтах нь тодорхой байх үед хэрэглэгдэнэ.
- 4. СИ ХЭЛ БАГШ: Л.БАЯРСАЙХАН
Дархан-уул аймаг Улсын тэргүүний Од цогцолбор сургууль
For операторыг тоолуурт давталт буюу параметрт давталт гэж алгоритм- програмчлалд нэрлэдэг.
Давталтыг зохиоход ашиглаж байгаа хувьсагчийг давталтын параметр гэнэ.
Ямар нэг параметрийг ашиглан давталтыг зохиоход түүний авах эхний утга, эцсийн утга ба утгыг нь өөрчлөх алхам гэсэн гурван утгыг шаардах бөгөөд эдгээр утгууд нь тодорхой мэдэгдэж байгаа давталтыг параметрт (тоолуурт) давталт гэж нэрлэгдэх давталтаар хийх нь зохимжтой байна.
Параметрт давталтыг зохиож бичихдээ: 1. Параметрийн эхний утгыг тогтоож олгоно. 2. Параметрийн тухайн үеийн утга нь эцсийн утгаас хэтэрсэн (их болсон эсвэл бага болсон) эсэхийг шалгасан нөхцөлтэй эхэндээ нөхцөлтэй давталтыг зохиож бичнэ.
3. Давталтын биеийн төгсгөлд параметрийн утгыг алхамтай тэнцүү утгаар өөрчилж утга олгосон байна.
Бичигдэх ерөнхий хэлбэр:
For([<эхлэх утга>]; [<нөхцөлт-илэрхийлэл>]; [<илэрхийлэл-алхам>]) <оператор>;
Энэ нь: <эхлэх утга>; while (нөхцөлт-илэрхийлэл) { <оператор>; <илэрхийлэл-алхам>; } Хэлбэртэй адил юм.
Параметрийн тодорхой утганд давтах ийм төрлийн давталт маш өргөн хэрэглэгддэг учраас түүнийг параметрт (тоолуурт) давталт гэж нэрлээд програмчлалын бүх хэлэнд тусгай оператор (команд)-аар бичдэг юм. Иймээс алгоритмын хэлэнд ийм давталтыг бичих дорх ерөнхий хэлбэртэй үйлдлийг оруулж ашиглана.
Параметрт давталт биелэхдээ эхлээд тоолуурт эхний утга олгож, тоолуурын утга нь эцсийн утгаас хэтэрсэн (их болсон эсвэл бага болсон) эсэх нөхцөлийг шалгаж, хэрэв нөхцөл биелэж байвал <давталтын_бие> үйлдлийг биелүүлэх ба хэрэв нөхцөл биелэхгүй байвал дараагийн үйлдэлд удирдлага шилжүүлнэ. Цаашид <давталтын_бие> үйлдэл биелэх бүрийн дараа тоолуурын утгыг алхмын утгаар нэмэгдүүлж, тоолуурын тухайн үеийн утга нь эцсийн утгаас хэтэрсэн эсэх нөхцөлийг шалгаж, хэрэв нөхцөл биелэх бүрд <давталтын_бие> үйлдлийг биелүүлээд байх ба хэрэв нөхцөл биелэхгүй болмогц дараагийн үйлдэлд удирдлага шилжүүлнэ. Жишээ бодлого: 1.Өгөгдсөн натурал n тоо хүртлэх тэгш тоонуудын нийлбэрийг ол. Өгөгдөл:4 Үр дүн:6
#include <stdio.h> #include <conio.h> main() { int n,i,s; printf("n тоогоо оруулна уу ="); scanf("%d",&n); s=0; for (i=2;i<=n;i+=2) s=s+i; printf("n тоо хүртэлх тэгш тоонуудын нийлбэр =%dn",s); getch(); }