ӨВӨРХАНГАЙ АЙМГИЙН БОЛОВСРОЛ, СОЁЛЫН ГАЗАР : Book C++ /Цуврал хичээл/-02

Book C++ /Цуврал хичээл/-02

Идентификатор, түүнийг ашиглах тухай

Программд ашиглагдаж байгаа нэр томъёонуудыг ерөнхийд нь идентификатор гэж нэрлэдэг. Идентификатор нь дотроо нөөц үг буюу хэрэглэгчийн тодорхойлсон гэж ангилагдана. Нөөц үг гэдэг нь уг программчлалын хэлэнд стандартаар ашиглагддаг, хэрэглэгч өөрийн хүссэнээр өөрчилж болохгүй нэр томъёонууд юм. C++-д доорх нөөц үгүүд байдаг.

asm auto break case

catch char class const

continue default delete do

double else enum extern

float for friend goto

if inline int long

new operator private protected

public register return short

signed sizeof static struct

switch template this throw

try typedef union unsigned

virtual void volatile while

Харин хэрэглэгч программдаа ашиглагдах хувьсагч, тогтмол, функц, макро зэрэгт өгсөн нэрүүдийг хэрэглэгчийн тодорхойлсон идентификатор гэдэг. Хэрэглэгчийн тодорхойлсон идентификаторт доорх шаардлагууд тавигдана. Үүнд:

Идентификатор нь 1 болон хэд хэдэн тэмдэгтээс тогтоно.

Тоо болон латин үсэг аль аль нь орж болох боловч заавал үсгээр эхэлсэн байх ёстой.

Зөвхөн доогуур зураас ашиглана. Ө.х. +, -, *, /, ?, !, `, ~, ”, ’, ;, :, @, #, $, %, ^, &, (, ), =, , {, }, [, ], <, > тэмдэгүүд болон цэг, таслал оруулж болохгүй.

Нөөц үгтэй ижилхэн байж болохгүй.

Кирилл үсэг оруулж болохгүй.

Идентификаторт орж байгаа том, жижиг үсгүүд хоорондоо ялгаатай гэдгийг бүү март. Өөрөөр хэлбэл, Fvar ба fvar гэсэн идентификаторууд зэрэг тодорхойлогдож болох бөгөөд эдгээр нь хоорондоо ялгаатай байна.

Нөөц үгийг программын аль нэг хэсэгт тодорхойлох шаардлагагүй байдаг бол харин хэрэглэгч өөрийн идентификаторуудыг программын шаардлагатай газруудад тодорхойлж байх хэрэгтэй.

Тогтмолыг ашиглах нь

Өмнө үзсэн хэрэглэгчийн тодорхойлсон идентификаторын тухай арай дэлгэрэнгүй тайлбарлая.

Тогтмол гэдэг нь программын явцад огт өөрчлөгдөхгүй утгуудыг хэлнэ. Шууд бодоход программын явцад өөрчлөгдөхгүй юм бол тийм идентификатор тодорхойлох шаардлагагүй мэт санагдаж болох юм. Гэхдээ тогтмол утга тун чухал нэгэн үүрэгтэй бөгөөд үүнийг сүүлд жишээн дээр тайлбарлаж үзэх болно. Программ дотор тогтмол утга тодорхойлохдоо DEFINE гэсэн нөөц үгийг ашиглана.

#define <тогтмолын нэр> <тогтмол утга>

Тогтмол утга тодорхойлж байгаа хэдэн жишээ үзье.

#define month 12 // эерэг бүхэл тогтмол

#define degree –30 // сөрөг бүхэл тогтмол

#define pi 3.1412 // бутархай тогтмол

#define name “П.Амарбат” // тэмдэгт мөр тогтмол

#define question “Sure?” // тэмдэгт мөр тогтмол

Мөр бүрийн төгсгөлд ‘//’ тэмдгээр эхэлсэн кирилл текстийг оруулсан байна. Эдгээр текст программын үйл ажиллагаанд зөв буруу ямар нэгэн нөлөө үзүүлэхгүй. Учир нь компилятор ийм тэмдгээс хойш уг мөрөнд байгаа текстийг ердийн тайлбар гэж ойлгодог юм.

Тогтмол тодорхойлохын гол ашиг тусыг та бүхэн дараах жишээнээс ойлгон авч болно. Бидний программд нэгэн тогтмол тоо буюу 23 гэсэн тоо маш олон дахин, тодруулбал 100 дахин ашиглагддаг гэж үзье. Бид тэгвэл программдаа 100 удаа 23 гэж бичиж өгөх болно. Нэг удаа бичээд өнгөрөхөд энэ нь тийм ч төвөгтэй үйлдэл биш байж болох юм. Гэтэл тэрхүү тоо 25 болж өөрчлөгдөх шаардлага гарчээ. Тэгвэл энэ удаад би программдаа байгаа бүх 23 гэсэн тоог 25 болгож өөрчлөх шаардлагатай болж байна. Энэ тохиолдолд хийх ажил тийм ч хялбар биш болж ирэх нь ойлгомжтой. Харин бид 23 гэсэн тоог программдаа тогтмол болгон тодорхойлсон бол үүнийг өөрчлөх тун ч амархан. Өөрөөр хэлбэл,

#define num 23

гэж бичээд, уг тоотой ажиллах бүх газар num гэсэн тогтмолоо ашиглах хэрэгтэй юм. Тэгвэл дээрх шаардлага гарахад зөвхөн энэ мөрийг л

#define num 25

болгон өөрчилөхөд л хангалттай юм. Ингэвэл программ дахь 23 гэсэн тоон дээр хийж байсан бүх үйлдлүүд 25 гэсэн тоон дээр хийгдэх болно.

‘#’ тэмдгээр эхэлсэн нөөц үгийг компиляторын директив гэж нэрлэх бөгөөд #define нь ч гэсэн директив болно. Энэхүү #define директив нь энд үзсэнээс өөр, илүү өргөн боломжтой бөгөөд энэ тухай та 3-р бүлгээс дэлгэрүүлэн үзээрэй.

Хувьсагчийг ашиглах нь

Программын явцад харгалзах утгууд нь өөрчлөгдөж байдаг идентификаторыг хувьсагч гэнэ. Өөрөөр хэлбэл, хувьсагч нь ганц тогтмол утга биш, харин утгуудын тодорхой мужаас аль нэгийг нь авах боломжтой юм. Хувьсагч нь программд их чухал үүрэгтэй бөгөөд хэдэн хувьсагч ашиглагдах, тэдгээр нь ямар ямар төрөлтэй байхыг шийдэх нь программ зохиох гол алхмуудын нэг гэж дээр дурдсан билээ. Хувсагчийн төрөл гэдэг нь түүний авч болох утгуудын мужийг хэлж байгаа юм. С++-д дараах стандарт төрлүүд байдаг.

Төрөл

Утгын муж

char

‘0’..’9’,’A’..’Z’,’a’..’z’,*/+-¡@#$%^&*(){}[];;.,’”?`~

short

-128..127

unsigned short

0..255

int

-32768..32767

unsigned int

0..65535

long

-2147483648.. 2147483647

unsigned long

0..4294967295

float

1.17549435e-38..3.40282347e+38

double

2.2250738585072014e-308 .. 1.7976931348623157e+308

Эдгээр стандарт төрлөөс гадна хэрэглэгч өөрийн хэрэгцээнд таарсан шинэ төрлийн үүсгэж болох бөгөөд энэ тухай дараа бүлгүүдэд тун дэлгэрэнгүй үзэх болно.

Программд ашиглагдах хувьсагчийг тодорхойлохдоо доорх бичиглэлийг ашиглана.

<хувьсагчийн төрөл> <хувьсагчийн нэр><=анхны утга>

Тодорхойлж буй хувьсагч ямар утга авах, ямар нэртэй байхыг зааж өгөх төдийгүй, уг хувьсагч анхнаасаа ямар утгатай байхыг зааж өгч болж байна. Хувьсагч тодорхойлж байгаа хэд хэдэн жишээ авч үзэцгээе.

int ivar1; //бүхэл утга авах хувьсагч

int ivar2=-10; //Анхны утга

float fvar1=2.57; //Бутархай хувьсагч

unsigned int ivar3=500; //Эерэг бүхэл хувьсагч

char ch1,ch2=’*’,ch3; //Тэмдэгт хувьсагчууд

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

Бид программын дурын хэсэгт хувьсагчийн утгыг өөрчилж болох боловч хувьсагчид өгч байгаа утга нь уг хувьсагчийн төрлийнх байх ёстой.

Нэг программ дотор ижил нэртэй 2 хувьсагч байж болохгүй.

Хувьсагчийн утгатай холбоотой гарч болох алдааг үргэлж тооцож, боловсруулж байх нь зүйтэй.

Шаардлагагүй тохиолдолд их том хэмжээний утгын мужтай хувьсагч тодорхойлох нь программыг их нүсэр, болхи болгодог.

http://booking.miniih.com

start=-100 , cViewSize=50 , cPageCount=0

Сэтгэгдэлгүй байна

null