Програмчлалын Си хэлийг 1970 онд Bell
Laboratories фирмийн ажилтан Деннис Ритчи нь UNIX үйлдлийн системийг
боловсруулж байхдаа зохиожээ. Сайн бүтэц зохион байгуулалттай програмыг
боловсруулахад чиглэгдсэн системийн програмчлалын хэрэгсэл байхаар анхандаа төлөвлөгдөж
байв. Товч тодорхой бөгөөд илэрхийлэх баялаг боломжоор хосолсон нь Си хэлийг
системийн болон хэрэглээний програм хангамжийг боловсруулахад хэрэглэдэг
хамгийн сайн түгээмэл хэл болон тархжээ.
Си хэлний компиляторууд нь UNIX, MS-DOS, Mac
OS, OS/2, Windows, Windows NT, Solaris гэх мэтийн үйлдлийн системүүдтэй бараг
бүх төрлийн компьютер дээр ажиллаж байна.
Өргөн хэрэглээний бус ажлын хэрэгсэл болгох
зорилгоор зохиогдсон болохоор програмчлалын бусад хэлнүүдийн адил үндэсний
болон олон улсын стандартгүй байв. 1978 онд АНУ-д хэвлэгдэн гарсан Б.Керниган,
Д.Ритчи нарын эхний ном болох компилятор боловсруулагчдын гарын авлага Си
хэлний албан бус стандартын (K&R) үүргийг гүйцэтгэж байсан бөгөөд эдүгээ ч
санаа нь хадгалагдсан хэвээр л байна.
Америкийн Yндэсний
Стандартын Институт Б.Керниган, Д.Ритчийн номын хоёр дахь хэвлэлийг стандарт
болгон авч Си хэлний ANSI стандарт бий болжээ. Одоогоор ANSI стандартаас гадна
Олон улсын стандарт (ISO C International Standard Organization C) ч
боловсруулагдсан.
Ñè ïðîãðàìûí á¿òýö
1. Ñè õýëíèé ýëåìåíò¿¿ä
Ø
Öàãààí òîëãîé
Ø
Èäåíòèôèêàòîð áóþó íýð
Ø
Ò¿ëõ¿¿ð ¿ãñ
Ø
Õóâüñàã÷ áà íýðëýñýí òîãòìîëóóä
Ø
Òàéëáàð
1.1. Цагаан толгой
Си хэлний цагаан толгойд:
Ø
Том болон жижиг латин үсгүүд: A,B,C,...,Z,
a,b,c,...,z
Ø
Цифрүүд: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Ø
Тусгай тэмдэгтүүд: “ , {} | [] () + - / % \ ;
‘ . : ? < = > _ ! & * # ~ ^
Ø
Дүрслэгддэггүй тэмдэгтүүд: лексемүүдийг бие
биенээс нь тусгаарлах зорилгоор ашиглагддаг дүрслэгддэггүй тэмдэгтүүд юм.
Тухайлбал, пробел, табуляцийн тэмдэгт, шинэ мөрөнд шилжүүлэх тэмдэгт гэх мэт.
o
Си хэлнээ 6 төрлийн лексемүүд байдаг:
Äураараа сонгож ашиглаж болох нэрс;
Íөөц (түлхүүр) үгс;
Òогтмолууд;
Ìөр(мөр тогтмолууд);
¯йлдлүүд(үйлдлийн тэмдгүүд);
Òусгаарлагчид(цэг цэглэлийн тэмдгүүд);
1.2. Идентификатор буюу
нэр.
Ïðîãðàìä àøèãëàãäàõ ôóíêö, òýìäýã,
õóâüñàã÷èéí íýð çýðãèéã èдентификатор
буюу нэр ãýæ ¿çäýã. Íýð íü ¿ñãýýð ýõýëñýí , äîîãóóðàà çóðààñòàé òýìäýãò,
öèôð, íýã áóþó õýä õýäýí äàðààëñàí ëàòèí
¿ñýã áàéæ áîëíî.
·
Íýðèéí óðò íü 32 òýìäýãò õ¿ðòýë
·
Òîì æèæèã ¿ñã¿¿ä ÿëãààòàé òîîöîãäîíî. ªºðººð
õýëáýë Count, count , COUNT ãýñýí ãóðâàí íýð íü ãóðâóóëàà ÿëãààòàé íýð¿¿ä
áîëíî.
Æèøýý íü:
Ǻâ èäåíòèôèêàòîð
|
Áóðóó èäåíòèôèêàòîð
|
far_out
|
Tom’s
|
TIME
|
whicha$macallit
|
age
|
%dollar
|
time
|
do-it
|
1.3. Түлхүүр (нөөц) үгс.
Програм зохиогч түлхүүр үгсийг
дураар сонгон авч нэр болгон хэрэглэж болохгүй, ñè хэлний ñàíä нөөцөлсөн нэрийг
түлхүүр үгс гэдэг. Ãýõäýý áè÷ëýãèéí õóâüä ò¿ëõ¿¿ð ¿ãýýñ ÿëãààòàé
áàéæ áîëíî.
Æèøýý íü:
|
Ò¿ëõ¿¿ð
¿ã
|
Õóâüñàã÷
|
for
|
FOR
|
|
if
|
IF
|
Си хэлэнд дараах түлхүүр үгс
тодорхойлогдоно:
Õ¿ñíýãò 1.1
asm
|
continue
|
float
|
new
|
signed
|
try
|
auto
|
default
|
for
|
operator
|
sizeof
|
typedef
|
break
|
delete
|
friend
|
private
|
static
|
union
|
case
|
do
|
goto
|
protected
|
struct
|
unsigned
|
catch
|
double
|
if
|
public
|
switch
|
virtual
|
char
|
else
|
inline
|
register
|
template
|
void
|
class
|
enum
|
int
|
return
|
this
|
volatile
|
const
|
extern
|
long
|
short
|
throw
|
while
|
Стандарт Си хэлний нөөц түлхүүр
үгсийн тоонд модификаторуудыг оруулдаггүй, гэвч Си хэлний ямар ч компилятортай
ажилласан тэдгээрт дараах модификаторууд ашиглагддаг.
asm, cdecl, _cs, _ds, _es, far, fortran,
huge, interrupt, near, pascal, _ss
Си хэлний стандартад
тодорхойлогдсон үндсэн түлхүүр үгс болон модификаторуудаас гадна зарим Си
хэлний компиляторууд нь нөөц(түлхүүр) үгсийг өргөтгөх өөрийн гэсэн
өргөтгөлүүдтэй байдаг. Тухайлбал, Borland C++ компилятор нэмэлт дараах
модификаторуудыг оруулдаг:(бүгдийг нь дурьдаагүй)
_cdecl, _export, _far, _fastcall, _loadds,
_near, _pascal, _saveregs, _seg
1.4. Тîãòìîëóóä
Òîãòìîë ãýäýã íü ïðîãðàìûí ÿâöàä îãò
ººð÷ëºãäºõã¿é óòãóóäûã õýëíý. Си хэл дээр програм бичихдээ тогтмолыг бүхэлд нь
том үсгээр бичвэл бусдаас ялгамж болгоход дээр байдаг. Ïðîãðàì äîòîð òîãòìîë óòãà òîäîðõîéëîõ ¿íäñýí
õî¸ð àðãà áàéäàã.
1.
#define ò¿ëõ¿¿ð ¿ãýýð òîãòìîëûã çàðëàõ
2.
const ò¿ëõ¿¿ð ¿ãýýð çàðëàõ
1.
DEFINE ò¿ëõ¿¿ð ¿ãèéã àøèãëàõ.
Áè÷èãäýõ õýëáýð íü
: #define <Òîãòìîëûí
íýð> <Òîãòìîë óòãà>
Òîãòìîë óòãà òîäîðõîéëæ áàéãàà õýäýí æèøýý
¿çüå.
#define DAY 31 // ýåðýã á¿õýë òîãòìîë
#define DEGREE –30
// ñºðºã á¿õýë òîãòìîë
#define PI 3.1412 // áóòàðõàé òîãòìîë
#define NAME “Merry” // òýìäýãò ìºð òîãòìîë
#define QUESTION “Sure?” // òýìäýãò ìºð òîãòìîë
̺ð á¿ðèéí òºãñãºëä ‘//’ òýìäãýýð ýõýëñýí êèðèëë òåêñòèéã îðóóëñàí
áàéíà. Ýäãýýð òåêñò ïðîãðàììûí ¿éë àæèëëàãààíä çºâ áóðóó ÿìàð íýãýí íºëºº
¿ç¿¿ëýõã¿é. Ó÷èð íü êîìïèëÿòîð èéì òýìäãýýñ õîéø óã ìºðºíä áàéãàà òåêñòèéã
åðäèéí òàéëáàð ãýæ îéëãîäîã þì.
‘#’ òýìäãýýð ýõýëñýí íººö
¿ãèéã êîìïèëÿòîðûí äèðåêòèâ ãýæ íýðëýõ áºãººä #define íü ÷ ãýñýí äèðåêòèâ
áîëíî. Ýíýõ¿¿ #define äèðåêòèâ íü ýíä ¿çñýíýýñ ººð, èë¿¿ ºðãºí áîëîìæòîé áºãººä
ýíý òóõàé äàðààõ á¿ëãýýñ äýëãýð¿¿ëýí ¿çýýðýé.
2.
CONST ò¿ëõ¿¿ð ¿ãèéã àøèãëàõ.
Áè÷èãäýõ õýëáýð íü
: ñînst <Òºðºë>
<Íýð>=<Òîãòìîë óòãà>
Òîãòìîë óòãà òîäîðõîéëæ áàéãàà õýäýí æèøýý
¿çüå.
const int day=12
const int degree=–30
const double pi=3.1412
const char name[ ]=“Merry”
const char question[ ]=“Sure?”
Ǻâõºí òîãòìîëûí íýð áà óòãûí õîîðîíä
òýíö¿¿ãèéí òýìäýã òàâüäàãààðàà ºìíºõ äèðåêòèâýýñ ÿëãàðàõ þì. Áè÷ëýãèéí õóâüä
èæèë áîëîâ÷ êîìïèëÿòîðûí õóâüä ýíý õî¸ð íü ìàø èõ ÿëãààòàé òîäîðõîéëîëòóóä þì.
Ó÷èð íü const íººö ¿ãèéã àøèãëàí òîäîðõîéëñîí òîãòìîë íü ïðîãðàìûí ÿâöàä îãò
ººð÷ëºãäºõã¿é áîëîâ÷ õóâüñàã÷ øèã ïðîãðàìûí òóðøèä ñàíàõ îéä íýã áîëîí õýä õýäýí
áàéòûã ýçëýí îðøñîîð áàéäàã. Ãýòýë #define äèðåêòèâýýð òîäîðõîéëñîí òîãòìîë
óòãà ãýäýã ìààíü æèíõýíý áèåëýõ ïðîãðàìûí õààíà íü ÷ áàéäàãã¿é þì. Õàðèí
ïðîãðàì õºðâºõ ¿åä óã òîãòìîëûã àøèãëàæ áàéãàà ãàçàð á¿ðò óã óòãûã íü øóóä
îðëóóëàí áè÷äýã áàéíà.
Мөн Си хэлний стандартад препроцесорын нэрлэсэн олон
тогтмолуудыг санал болгосон байдаг. Жишээ:
FLT_MAX -float төрөлтэй дан нарийвчлалтай хамгийн их бодит утга;
CHAR_BIT -нэг байт дахь битийн тоо;
INT_MIN -int төрөлтэй өгөгдлийн хувь дахь хамгийн бага утга;
Препроцессорын тогтмолууд Си хэлний сан файлд
тодорхойлогдсон байдаг. Эдгээрийг ашиглах бол:
#include
<толгой_файлын_нэр>
толгой_файлын_нэр -гэдгийн оронд limiths.h(бүхэл
төрөлтэй өгөгдлүүдийн хувьд), float.h(бодит
өгөгдлүүдийн хувьд) нэрийг бичнэ:
#include<limiths.h>
limiths.h толгой файлд дараах:
#define
CHAR_BIT 8
#define
SHRT_MAX 0x7FFF
#define
LONG_MAX 0x7FFFFFFFFL ...
float.h толгой файлд дараах:
#define FLT_MIN 1.17549435E-38F
#define DBL_MIN 2.2250738585072014E-308
#define DBL_EPSILON 2.2204460492503131E-16 ...
Дээрх урьдчилан тодорхойлогдсон препроцессорын
тогтмолуудын утга янз бүрийн хувьд өөр байж болно.
Äàðààõ òºðë¿¿ä á¿õèé òîãòìîëóóä áàéäàã.
Á¿õýë òîîí òîãòìîëóóä
Áîäèò òîîí òîãòìîë
Òýìäýãòýí
òîãòìîë
Òýìäýãòýí ìºð òîãòìîë
1. Бүхэл тогтмол. Ñè õэлний дүрэмд дараах бүхэл тогтмолуудыг тодорхойлсон байдаг. Тогтмолын бичлэг дэх угтвар буюу эхний тэмдэглэгээ íü тоон системийн
суурийг тодорхойлно.
Àравт, 0-ээс ялгаатай цифрээр эхлэнэ
Íаймт, 0-ээр эхлэнэ, 7-îîñ àõëàõ öèôð àøèãëàõã¿é
Àрванзургаат,
0x,
0X-ээр эхлэнэ
Дагавар ашиглан тогтмолын төрөлд нөлөөлж болно
l эсвэл L дагавартай бүхэл тоо нь long төрөлтэй
болох юм
|
|
Бодит тоо
|
Утга
|
0.0
|
0
|
10.0
|
10
|
2.34E5
|
2.34
x 105
|
67e-12
|
67.0
x 10-12
|
0xa.fP-10
|
(10
+ 15/16) x 2-10
|
2. Бодит тогтмол.
Бодит тоо дараахь хэлбэрүүдээр бичигдэж
болно
•
Àравтын
•
Àрван зургаат
•
Çэрэг èëòãýã÷
1.2e34
=
1.2 x 1034
1.5e3 1.5e-3
3. Òэмдэгт тогтмол.
•
Тэмдэгт нь дан хашилтад
‘ ‘ бичигддэг
'a‘,
‘X‘, '0‘, '*‘
•
ASCII хүснэгтýýð, Жишээ,
'a' тогтмол нь ASCII
хүснэгтэд 97 утгатай байна
•
Өргөн тэмдэгт
, L'a' L'12' L'\012'
L'\u03B2'
Ïринтер, гар дээр, дэлгэц дээр тэмдэгт
дүрслэдэггүй кодуудыг компьютерт ашигладаг. Ийм тэмдэгт тогтмолуудыг програмд
дүрслэхийн тулд тэмдэгт дүрстэй хэд хэдэн тэмдэгтүүдийн хослолыг хэрэглэнэ. Энэ
хослол ‘\’ тэмдгээр(“backslash”) эхлэх бөгөөд ийм хослолыг Си хэлэнд Êóðñîð
óдирдàõ òóñãàé òýìäýãò хэмээн нэрлэдэг:
Õ¿ñíýãò 1.2.
Тэмдэгт
|
Нэр
|
Утга
|
\0
|
Null
|
Null тэмдэгт
|
\b
|
Backspace
|
Нэг тэмдэгтээр буцах
|
\f
|
Form
Feed
|
Шинэ хуудсын эхлэлд шилжих
|
\n
|
Newline
|
Дараагийн мөрд шилжих
|
\r
|
Return
|
Мөрийн эхэнд шилжих
|
\t
|
Tab
|
Tab
шилжилт хийх (8 багана)
|
\’
|
Apostrophe
|
‘ тэмдэгт
|
\"
|
Double
quote
|
“ тэмдэгт
|
\\
|
Backslash
|
\ тэмдэгт
|
\xh[h...]
|
16-тын коäоор өгөгдсөн тэмдэгт
|
4.
Òýìäýãò ìºð òîãòìîë.
Мөр тогтмол нь давхар хашилтад бичигдсэн тэмдэгтүүдийн дарааллаас
тогтоно
"Hello
world!\n“, printf("Hello world!\n“);
Хоосон мөр нь "" санах ойд null тэмдэгтийг агуулсан 1 байтыг эзлэнэ
1.5.
Òàéëáàð
Тайлбар нь хувьсагчид, зааврууд болон програмын бусад
элементүүдийг тайлбарлахад хэрэглэгдэнэ. Òàéëáàð õèéõ äàðààõ àðãóóä áàéíà.
¯¿íä:
- Íýã ìºð òàéëáàð õèéõ òîõèîëäîëä: // äàâõàð òàøóó çóðààñûí àðààñ áè÷íý.
- Îëîí ìºð òàéëáàð õèéõ òîõèîëäîëä: /* */ õîîðîíä òàéëáàðàà áè÷èæ áîëíî.
Бичсэн програм тань эссэ
шиг л уншигдах ёстой. Аль болох тодорхой, ойлгоход хялбар байх хэрэгтэй.
Тайлбарыг олон хэлбэрээр хийж болно
- Толгой : Програмын нэр , Програм юу хийдэг болох тухай товч тодорхойлолт
- Зохиогч: Зохиогчийн тухай мэдээлэл оруул
- Зорилго: Яах гэж энэ програмыг бичсэн бэ? , Юу хийдэг програм бэ?
- Хэрэглэх заавар: Програмыг яаж ажиллуулах товч заавар
- Заалт: Хуулбарлах болон, зохиогчийн эрхийн тухай
- Файлын формат: Програмын уншиж, бичиж буй файлын жагсаалт болон тэдгээрийн бүтэцийн тодорхойлолт
- Хязгаарлалт: Оролтын өгөгдөл дээр тавигдах шаардлага гэх мэт хязгаарлалтуудын жагсаалт
- Засварын түүх: Энэ хэсэг нь програмыг хэн өөрчилсөн болон хэзээ, юуг өөрчилсөн зэрэг жагсаалтыг агуулна
- Алдааны боловсруулалт: Хэрэв програмд алдаа илэрвэл, програм юу хийхийг тодорхойлно
- Тэмдэглэл: Тусгай тайлбар болон бусад мэдээллийг багтаана
Жишээ íü:
/* Äàðààõ ìºð¿¿äýä
òàéëáàð õýðõýí õèéõ õÿëáàð æèøýý àâ÷ ¿çüå */
/********************************************************
*********************************************************
********
WARNING: This is an example of a *******
********
warning message that grabs the ***********
********
attention of the programmer. ***************
*********************************************************
********************************************************/
/*>>>>>>>>>
Major section header <<<<<<<<<<< */
Жишээ íü:
/********************************************************
*
We use boxed comments in this book to denote the
*
beginning of a section or program. *
********************************************************/
/*------------------------------------------------------*\
*
This is another way of drawing boxes. *
\*------------------------------------------------------*/
/*------------>
Another, less important warning <--------*/
1.6. Õóâüñàã÷
Си хэлний үндсэн ойлголтуудын нэг бол санах ойн нэрлэгдсэн муж
болох объект юм. Объектын тухайн тохиолдол нь хувсагч. Хувьсагчид утгыг олгох
үед санах ойн харгалзах мужид утга байрлана. Хувьсагчийн утганд хандах үед
хувьсагчийн нэр л хангалттай бөгөөд санах ойн хэсэгт хандахдаа зөвхөн түүний
хаягаар л хандах боломжтой байдаг. Хаяг болон нэрсийн уялдааны тухай заагчийн
тухай сэдвээс дэлгэрэнгүй үзэх болно. Харин одоохондоо хувьсагч гэдгийн доор
“нэр-утга” гэсэн хосыг л ойлгоход хангалттай байх.
Хувьсагчийг
тодорхойлох. Програм дахь хувьсагч бүрийг ашиглахын өмнө түүнийг тодорхойлох
ёстой, ө.х хувьсагчид зориулан санах ойгоос муж хуваарилна. Энэхүү мужийн
хэмжээ, түүнд хадгалагдах утгын төрөл нь уг хувьсагчийг тодорхойлох үеийн
төрлөөс хамаарна. Хувьсагчийг
тодорхойлох энгийн хэлбэр:
<Õóâüñàã÷èéí төрөл> < хувсагчийн_нэр>;
Õóâñàã÷èéí òºðºë ãýäýã íü ò¿¿íèé àâ÷ áîëîõ óòãóóäûí ìóæèéã õýëæ áàéãàà
þì. Ñè õýëýíä äàðààõ ñòàíäàðò òºðë¿¿ä áàéäàã.
Òºðºë
|
Íýð
|
Óòãûí ìóæ
|
Õýìæýý
|
char
|
8bit ýýñ öººí óðòòàé á¿õýë
|
‘0’..’9’,’A’..’Z’,’a’..’z’,*/+-¡@#$%^&*(){}[];;.,’”?`~
|
1
byte
|
short
|
Áîãèíî á¿õýë
|
-128..127
|
2
byte
|
int
|
Á¿õýë
|
-32768..32767
|
4
byte
|
long
|
Óðò á¿õýë
|
-2147483648.. 2147483647
|
8
byte
|
unsigned short
|
Ýåðýã áîãèíî á¿õýë
|
0..255
|
2
byte
|
unsigned int
|
Ýåðýã á¿õýë
|
0..65535
|
2
byte
|
unsigned long
|
Ýåðýã óðò á¿õýë
|
0..4294967295
|
8
byte
|
Ñè õýëýíä äàðààõ ñòàíäàðò áîäèò òºðë¿¿ä
áàéäàã.
Төрөл
|
Íýð
|
Утга
|
Хамгийн бага
эерэг утга
|
Бутархай орон
|
Хэмжээ
|
float
|
Äàí íàðèéâ÷ëàëòàé áîäèò
|
±3.4E+38
|
1.2E-38
|
6 digits
|
4 bytes
|
double
|
Äàâõàð íéàðèéâ÷ëàëòàé áîäèò
|
±1.7E+308
|
2.3E-308
|
15 digits
|
8 bytes
|
long double
|
Õàìãèéí ºíäºð íàðèéâ÷ëàëòàé áîäèò
|
±1.1E+4932
|
3.4E-4932
|
19 digits
|
10 bytes
|
Ýäãýýð ñòàíäàðò òºð뺺ñ ãàäíà õýðýãëýã÷ ººðèéí õýðýãöýýíä òààðñàí
øèíý òºðëèéí ¿¿ñãýæ áîëîõ áºãººä ýíý òóõàé äàðàà á¿ëã¿¿äýä òóí äýëãýðýíã¿é ¿çýõ
áîëíî.
Õóâüñàã÷ òîäîðõîéëæ áàéãàà õýä õýäýí æèøýý àâ÷ ¿çüå.
char
symbol; //
òýìäýãò òºðëèéí óòãà àâàõ õóâüñàã÷
unsigned char code; // òýìäýãò òºðëèéí óòãà àâàõ õóâüñàã÷
int number_row; // á¿õýë òîîí òºðëèéí óòãà àâàõ õóâüñàã÷
unsigned long long_number; // ýåðýã óðò á¿õýë òîîí òºðëèéí óòãà àâàõ õóâüñàã÷
unsigned char code; // òýìäýãò òºðëèéí óòãà àâàõ õóâüñàã÷
int number_row; // á¿õýë òîîí òºðëèéí óòãà àâàõ õóâüñàã÷
unsigned long long_number; // ýåðýã óðò á¿õýë òîîí òºðëèéí óòãà àâàõ õóâüñàã÷
float
x, X, cc3, pot_8; //
áîäèò òîîí òºðëèéí óòãà àâàõ õóâüñàã÷èä
double
e, Stop, B4; //
áîäèò òîîí òºðëèéí óòãà àâàõ õóâüñàã÷èä
Ñàíàìæ:
Ïðîãðàìûí
äóðûí õýñýãò õóâüñàã÷èéí óòãûã ººð÷èëæ áîëîõ áîëîâ÷ õóâüñàã÷èä ºã÷ áàéãàà óòãà
íü óã õóâüñàã÷èéí òîäîðõîéëñîí òºðëèéíõ áàéõ ¸ñòîé.
Íýã
ïðîãðàì äîòîð èæèë íýðòýé 2 õóâüñàã÷ áàéæ áîëîõã¿é.
Õóâüñàã÷èéí
óòãàòàé õîëáîîòîé ãàð÷ áîëîõ àëäààã ¿ðãýëæ òîîöîæ, áîëîâñðóóëæ áàéõ íü ç¿éòýé.
Øààðäëàãàã¿é
òîõèîëäîëä èõ òîì õýìæýýíèé óòãûí ìóæòàé õóâüñàã÷ òîäîðõîéëîõ íü ïðîãðàìûã èõ
í¿ñýð, áîëõè áîëãîäîã.
Тодорхойлолт
бүрийн ард байх ( ; )-ыг анхаарна уу!
Хувьсагчдын анхны утгыг олгох. Хэлний дүрмээр бол хувьсагчийг тодорхойлсоны дараа санах ойд тодорхой утгагүй байдаг. Тухайлбал, тэр нь ямагт 0 гэсэн утгатай байх ёстой гэж үзэж болохгүй. Гэхдээ хувьсагчдыг тодорхойлох явцдаа эхний утгыг нь олгож болдог:
<Õóâüñàã÷èéí төрөл>
<Xувьсагчийн_нэр> <=анхны_утга>;
Үүнийг инициаци хийх гэж нэрлэдэг. Утга олгох үйлдэл нь програмын биелэлтийн явцад хийгддэг бол инициаци нь хувьсагчийн санах ойгоос муж хуваарилах үед хийгдэгээрээ ялгаатай юм. Инициаци хийх жишээнүүд:
float pi=3.1415,
cc=1.23;
/*
áîäèò òîîí òºðëèéí óòãà àâàõ pi íýðòýé õóâüñàã÷èä 3,1215 ãýñýí óòãà, ìºí
ññ
íýðòýé õóâüñàã÷èä 1,23 ãýñýí
óòãûã îíîîæ áàéíà. */
unsigned int year=1997;
1.7. Ñàíàõ îéí õàÿã
Ñè õýëýíä õóâüñàã÷äûã òýäãýýðèéí ñàíàõ îéí õàÿã íü òºëººëäºã.
int cost;
Òýãâýë ýíý cost õóâüñàã÷èéí óòãà íü ñàíàõ îéí äàðààëñàí 2 ¿¿ðýíä
õàäãàëàãäàõ áà ýíý ¿¿ðíèéõ íü õàÿãèéã &
¿éëäëýýð àâ÷ áîëíî. ªºðººð õýëáýë &cost
ãýâýë ýíý õóâüñàã÷èéí ñàíàõ îé äàõü õàÿã íü áîëíî. & õàÿã àâàõ ¿éëäýë
íü Ñè õýëýíä ìàø ºðãºí õýðýãëýãääýã.
No comments:
Post a Comment