Си тілінен дәрістер


Жұмыс түрі: Дипломдық жұмыс
Тегін: Антиплагиат
Көлемі: 106 бет
Таңдаулыға:
I-ші тарау
Кіріспе
Өткен ғасырдың орта кездерінде есептеуіш техника саласында күрделі өзгерістер болып, Фортран, Бейсик, Паскаль және т. б. көптеген жоғары деңгейлі программалау тілдерінің жарыққа шыққаны белгілі.
1972 жылы АТ&Т атаулы Американың корпорациясы жаңа С (Си) программалау тілін дайындап шықты. Ол-математикалық есептеуге арналған және жүйелік программаларды құруға бейімделген, салыстырмалы оңай, жоғарғы құрылымдық және алгоритмдерді басшылыққа алып дайындалған процедуралық жоғары деңгейлі программалау тіл. Тілге жылдам орындалатын, жеке биттермен операция жасайтын операторлар да енгізілген. Олар арқылы байланыс порттарын, магниттік дискілерде жинақтауыштарды және т. б. аппараттық құралдарды басқаруға мүмкіндік жасалды. Ал, алғашқы кездерде жеке типті компьютерлердің аппараттық құралдарына қол жеткізе алатын машиналық командалармен жұмыс істейтін төменгі деңгейлі ассамблер тілі ғана болатын.
Си тілі бірте-бірте дамытылып, қазіргі кезде пайдаланылып келе жатқан, 1983 жылы дүние жүзі елдері басшылыққа алған ANSI C нұсқасы да жарыққа шықты ( ANSI - стандарттардың Америкалық ұлттық институты) . ANSI C тілінің түрлі нұсқаларына енгізілген стандартты кітапханалар да бар. Тілдің кемшілігі де жоқ емес, ол жүйелік және қолданбалы программаларды дайындауға бейім, бірақ айнымалыларға рұқсат етілмеген қол жеткізу механизмін қамтамасыз етпейді және құрылатын класты басқа кластың ішкі класы (мұрагер) ретінде жариялау мүмкін емес. Мұндай объектілі - бағдарлы программалау (ОБП ) тілдеріне енетін ерекшеліктерді ескеріп, Borland International Inc фирмасы С тілінің дамытылған жаңа Turbo C (Турбо Си) нұсқасын 1980 жылдардың басында жарыққа шығарды. Кейіннен Turbo C++ 3. 0 және олардың кеңейтілген Borland C++ нұсқалары да пайда болды: Borland C++ 2. 0, Borland C++ 3. 0, Borland C++ 3. 1, Borland C++ 4. 0 және т. б.
Олардың MS DOS, Windows операциялық жүйелерінде жұмыс істеу мүмкіндіктері жеткілікті.
Әдетте, жоғарыда аталған тілдер MS DOS жүйесінің NC (Norton Commander) қабықша прогаммасына енгізіліп қойылады. Онымен жұмыс істеу үшін алдымен берілетін негізгі командалар:
- сәйкес каталогтан tc. exe файлын іске қосу. Мәзірлер енгізілген жүйе терезесі ашылады;
- F10пернесін басып, курсорды мәзірдің File пунктіне жылжыту және File-New командасын беру (Турбо Си ++ тілі тышқанмен жұмыс істейді, сондықтан мәзірмен тышқан арқылы жұмыс істей беруге болады) ;
- экранда прогамма терілген соң, компиляциялау:Alt+F9;
- прогамманы сақтау (save) :F2;
- программаны іске қосу (run) : Ctrl+F9;
- жүйеден шығып, NC-ке өту: Alt+X.
1. 1 «Си » тіліне түсініктеме
Ескерту. 1. Си тілінде анықтамалық тек ағылшын тілінде жазылған. Оны орыс тіліне аудару үшін ‘Socrat’ не сол сияқты аудару программасын пайдалануға болады.
2. Программа ішінде қазақ алфавитін пайдаланып, қазақша мәтін енгізу үшін алдын-ала NC панелінде жазылған kazega. com файлын іске қосып қою керек. Программа ішінде оны теру үшін осы файлды іске қосу командасы: SHIFT + SHIFT. Латын алфавитіне қайтып өту үшін осы команданы қайта берсе болғаны.
3. Турбо СИ жүйесінде құрылған программаны Turbo C++ жүйесінде де пайдалануға болады. Бірақ, прогамма соңына return 0; операторын кірістіріп қойса болғаны.
4. Программа Си тілінде . С толықтыруымен, С++ тілінде . СРР толықтыруымен сақталады.
1. 2 СИ тілінің алфавиті
1) Латын алфавитінің үлкен және кішіәріптері (А, В, …, Z, a, b…, z) ;
2) Цифрлар:0, 1, 2, 3, . . . , 9
3) Арнайы белгілер:″, & % () * / [] + - < = > ! ? \ ; _ : Р ‘ ^ ~ {}
4) Көзге көрінбейтін символдар, олар сөйлемдерді бір-бірінен ажыратуда қолданады (мысалы, пробел (бос орын), табуляция, жаңа жолға өту) .
Түсіндіру мәтіндерінде (коментартяларда), жолдарда және символдық тұрақтыларда басқа литерлер де істетілуі мүнкін (мысалы, орыс немесе қазақ әліппесінің әріптері) .
Түсіндіру мәтіндерді /*және*/ белгілерінің ішіне жазылады. Мысалы /*Бұл бағдарламада Евклид есебін шешеді*/
Стандарттық СИ тілінде түсіндіру мәтіндерін бір-бірінің ішіне жазуға болмайды, яғни /*текст-1/*текст-2*/текст-3*/ көріністегі жазу-қате, “текст-3” түсіндіру мәтіні болып есептеледі.
СИ тілінде ликсимнің 6 класы бар:Таңдап алынатын және қолданылатын идентификаторлар, қызметші (түйінді) сөздер, тұрақтылар, жолдар (жолдық тұрақтылар), ажырату белгілері (пунктуация белгілері) .
1. 3 Идентификатор
Әріптердің, цифрлардың және сызықша “-”символдарының әріптен немесе символынан басталатын тізбегі СИ тілінің идентификаторы болып есептеледі.
Идентификаторға мысалдар:
KOM_16, Size88, _MIN, TIME, time
СИ тілінде үлкен және кіші әріптер бір-бірінен өзгешеленеді, яғни TIME және timе идентификаторлары басқа-басқа идентификаторлар.
Идентификаторлардың ұзындығы (яғни ондағы символдар саны) кез келген мөлшерде болуы мүнкін, бірақ компилятор иденфитикаторлардағы символдардың басынан бастап 31-ін ғана есепке алады. Кейбір компиляторлар кез келген иденфикатордың бастапқы 8 символын ғана есепке алады. Мұндай жағдайларда NUMBER_of_ROOM және NUMBER_OF_TEST
Иденфитикаторларының
айырмашылығы болмайды.
1. 5 Қызметші (түйінді) сөздер.
Тілдің құрамына алдын ала алдынан енгізілген және бағдарламашы тарапынан еркін таңдалып, қолдануға болмайтын иденфитикаторлар қызметші (түйінді) сөздер деп аталады. Қызметші сөздер берілгендердің типін, жадтардың классын, типтердің квалификаторларын, модизмкаторларды, псевдоайнымалыларды және операторларды анықтайды. Тілдің стандартында мынандай қызметші сөздер анықталады.
Мағынасына қарай қызметші сөздер мынандай топтарға бөлінеді. Берілгендердің типтерін белгілеу үшін типтердің спецификаторлары және квалификаторлары қолданылады.
Типтердің спецификаторларына мыналар жатады:
char- символдық;
double- жылжымалы нүктелі екілік анықтықтағы нақты;
enum- санамалы тип-әр біріне атау және мән берілетін бүтін тұрақтыларды анықтау;
float- жылжымалы нүктелі нақты;
int- бүтін;
long- ұзын бүтін;
short- қысқа бүтін;
struct- структуралық (құрылымдық) тип;
signed- таңбалы, яғни таңбалы бүтін (жоғарғы бит таңбалы есептеледі) ;
union- біріктіруші тип;
unsigned- таңбасыз тип(жоғарғы бит таңбалы болып есептелмейді) ;
void- мәнінің болмауы;
typedef- типті қысқаша белгілеу синонимін ендіреді (типті қысқаша атаумен белгілеуді анықтайды) ;
Типтің квалификаторы:
Const- тұрақты мәнге ие болған объекттің квалификаторы, тек одан оқу мүнкін;
Volatile- мәні, бағдарламашының аңық бір нұсқауынсыз өзгеруі мүмкін болған объекттің квалификаторы;
Типтің квалификаторы компиляторға бағдарлама кодын оптимизациялау процессінде объекттерді ерекше қайта өңдеуге қажеттігі және (немесе) мүнкіндігі жөнінде ақпарат берілді.
Жадтың кластарын белгілеуде мына қызметші сөздер істетіледі :
auto - автоматтық;
extera -сыртқы;
register- регистрлік;
static -статикалық;
Операторларда құру үшін мына қызметші сөздер қолданылады:
break- циклден шығу;
continue- циклдің ағындық итерациясын аяқтау (кезектегі итерацияға өтіп циклді жалғастыру) ;
do- орындау (дейін циклді операторының тақырыбы) ;
for-үшін (параметрлік цикл операторының тақырыбы) ;
goto -шартсыз өту;
if-егер -шартты өту операторы;
return- қайту (функциядан) ;
switch- аударгыш, іске қосқыш;
while- әзірше(әзірше циклінің тақырыбы немесе do циклінің аяқталуы) .
Бұлардан басқа қызметші сөздерге мыналар жатады:
default- switch операторында қажетті вариант болмағандағы іс-әрекетті аңықтайды;
case- switch операторындағы варианты анықтайды:
else- if оператордың құрамында істеледі және тиісті тармақты анықтайды;
size of- операнттың өлшемін (байттарда) анықтау операциясы.
II-ші тарау
Айнымалылар және атаулы тұрақтылар
СИ тілінің негізгі ұғымдарының бірі объект яғни жадтың атауға ие болған аймағы ұғымы. Объекттің дербес көрінісі -бұл айнымалы. Айнымалыларға олардың типіне сәйкес әр түрлі типтегі мәндер беру мүмкін. Айнымалыға тиісті жад аймағында оған берілетін (меншіктелетін) мәннің коды орналастырылады. Айнымалының мәніне жағу үшін оның атауы атала жеткілікт, ал оның мәні орналасқан жад аймағына оның адресі арқылы жету мүмкін.
Бағдарламада әр бір айнымалыны пайдалану үшін ол алдынан анықталған болуы керек, яғни айнымалыға жаддан орын бөлінуі керек.
Мәндерінің типіне сәйкес, айнымаллар да үш түрлі болады: символдық, бүтін және нақты.
Айнымалардың анықталуының қарапайым формасы мынандай көріністе болады:
Тип айнымалы_ аттарының_ тізімі; мұндағы айнымалардың атауы-бұлар бағдарламашы тарапынан таңдалған идентификаторлар болып, олар тізімде бір-бірінен үтір белгісімен ажыратылған болады;
Тип-берілетін типтердің бірі.
Бүтін типті айнымалылар:
Char-ұзындығы 8 биттен кем болмаған бүтін;
short int- қысқа бүтін;
int- бүтін;
long -ұзын бүтін;
Бүтін типтердің әр бірі таңбалы (signed) немесе таңбасыз (unsigned) болып анықталуы мүмкін (Еш нәрсе айтылмаған жағдайда тип-signed) .
Бүтін айнымалыларда сипаттауға мысалдар:
char symbol, cc;
unsigned char, code;
int number, row;
unsigned long long_number; .
Әр бір сипаттаманың соныңда "нүктелі үтір" белгісі қойылуы шарт. СИ тілінің стандарты бойынша мынандай нақты айнымалылар ендірілген:
float -нақты бірінші анықтығы;
double - нақты екілік анықтығы;
long double -нақты максимал анықтығы;
ЭЕМ-де барлық нақты типтегі айнымалылардың мәндері жылжымалы нүкте түрінде бейнеленеді яғни санның мантиссасы және дәрежесі болады. (мысалы, 1. 21Е-04)
Нақты айнымалыларды сипаттауға мысалдар:
float x, X, cc3, pot_8;
double e, stop, B4;
Нақты айнымалылардың мәндерінің максимал (шекті) мәндері оларға сәйкес тұрақтылардың шекті мәндерімен сәйкес келеді.
Берілдгендердің негізгі типтері
2. 1Айнымалыға мәндерді меншіктеу:
Тип айнымалы-атауы==бастапқы _мән;
Осы әдіс- инициализация деп аталады. Меншіктеу операциясы-бағдарламаның орындалуы барысында амалға асырылады, ал инициялазацилау-айнымалыға жадтан орын ажыратылғанда (бөлінгенде) амалға асырылады. Инициязациялық анықтауға мысалдар:
Float Pi=3. 1415, CC=1. 23;
Unsigned int year=1997;
2. 2 Шекті мәндер тұрақтылары
Бүтін типтер үшін шекті мәндер -limits. h файлы.
1 - кесте .
CHAR_BIT
SCHAR_MIN
SCHAR_MAX
UCHAR_MAX
CHAR_MIN
CHAR_MAX
MB_LEN_MAX
SHRT_MIN
SHRT_MAX
USHRT_MAX
INT_MIN
INT_MAX
UINT_MAX
LONG_MIN
LONG_MAX
ULONG_MAX
8
-128
127
255
′0′
SCHAR_MIN
UCHAR_MAX
SCHAR_MAX
1
-
-32768
32767
65535
-32768
32767
65535
-2147483648
2147483647
4294967295
Байттағы биттер саны
Signed char-дың минимал мәні
Signed char-дың максимал мәні
Unsigned char-дың максимал мәні
Char үшін минимал мәні
Char үшін максимал мәні
Көп байтты символдағы байттардың
минимал саны.
Short үшін минимал мәні
Short үшін максимал мәні
Unsigned short-тың максимал мәні
I
nt үшін минимал мәні
Int үшін максимал мәні
Unsigned int үшін максимал мәні
Long үшін минимал мәні
Long үшін максимал мәні
Unsigned long үшін максимал мәні
2. 3 Нақты типтердің тұрақтылары - float. h файлы
2-кесте.
FLT_RADIX
FID_DIG
FLT_EPSILON
FLT_MANI_DIG
FLT_MAX
FLT_MAX_EXP
FLT_MAX_10_EXP
FLT_MIN
FLT_MIN_EXP
FLT_MIN_10_EXP
DBL_DIG
DBL_EPSILON
DBL_MANT_DIG
DBL_MAX
DBL_MAX_EXP
DBL_MAX_10_EXP
DBL_MIN
DBL_MIN_EXP
DBL_MIN_10_EXP
2
6
1E-5
24
1E+37
128
38
1E-37
-125
38
10
1E-16
53
1E+308
1024
308
1E -308
-
-1021
-307
Экспоненциал түрде бейнелеу негізі,
Мысалы:2, 16
Дұрыс ондық цифр саны
Минимал х, мұнда 1. 0+х≠1. 0
(1. 192093Е-07)
Мантиссадағы FLT_RADIX негізі
бойынша цифрлар саны
Жылжымалы нүктелі максимал сан
(3. 402823Е+38)
Максимал n, мұндағы FLT_RADIXⁿ-1 өрнекті float типіндегі сан
Түрінде бейнеленуі мүмкін.
Максимал бүтін n, мұнда 10ⁿ float типі түрінде бейнелеуі мүмкін.
Float типіндегі жылжыиалы нүктелі минимал, нормал түрде келтірілген сан (1. 175494 Е-38)
Минимал n, мұнда 10ⁿ саны нормал көрініске келтірілген сан түріне бейнелеуі мүмкін.
Максимал бүтін n, мұнда 10ⁿ саны
float типі түріндебейнеленуі мүмкін.
Double типі үшін дұрыс ондық
цифрлар саны.
Минимал Х, мұнда 1. 0+х =1. 0 Х≠ 1. 0
және Х double типіне тиісті.
(2. 220446 Е-16)
FLT_RADIX негізі бойынша double типіндегі санның мантиссасындағы цифрлар саны.
Double типіндегі жылжымалы
типіндегі максимал сан.
(1. 797693 Е+308)
Манимал n, мұнда FLT_RADIXⁿ-1
саны double типіндегі сан көрінісінде
бейнеленуі мүмкін.
Максимал бүтін n, мұнда 10ⁿ double типі түрінде бейнеленуі мүмкін.
Double типіндегі нормал түрге келтірілген жылжымалы нүктелі минимал сан (2. 225074Е-308)
Минимал n, мұнда 10ⁿ саны нормал түрге келтірілген double типіндегі
сан көрінісінде бейнеленуі мүмкін.
Минимал теріс n саны, мұнда 10ⁿ
саны double типіндегі сандардың анықталу обылысында жатады .
Бұл кестедегі FLT_ префиксі float типіне, ал DBL_префиксі
double типіне сәйкес келеді. Жақшаның ішіне кейбір тұрақтылар
үшін олардың Borland 3. 1 С+1тегі бейнеленуі үлгілері көрсетілген.
2. 4 СИ бағдарламалау тілінің математикалық стандарт функциялары
3-кесте
Int abs (int i) ;
Бүтін аргумент i-дің абсалют мәнән қайтарады.
Double acos(double x) ;
Арккосинус функциясы. Аргументтің мәні -1 мен +1
аралығында болуы қажет, яғни -1 ≤ х ≤+1
Double atan (double x) ;
Арктангенс функциясы.
Double atan2 (double у, double x) ;
У/х мәнінің арктангенстің функциясы.
Double cabs (struct complex znum) ;
Znum комплекс санының абсалют мәнін есептейді. Сomplex
Структурасының ( типінің ) анықталуы-math. h файылында
Double ceil (double x) ;
Х аргументтен кіші болмаған ең жақын бүтін санды
есептейді ( анықтайды )
Double cos (double x) ;
Косинус функциясы. Бұрыштың ( аргументтің ) мәні
радиандуда берілуі тиіс
Double еxp (double x) ;
еx-тің мәнін есептейді ( экспоненциалдық функция )
Doubl fabs (double x) ;
Нақты түрдегі х аргументінің абсалют мәнін екілік дәлдікпен қайтарады.
Doubl floor (double x) ;
Х-тің мәнінен үлкен болмаған ең үлкен бүтін санды
анықтайды. Оны double түрінде өрнектейді
Doubl fmod (double x, double у) ;
Х-ті у-ке бөлгендегі қалдықты қайтарады
Doubl frexp (double value, int exp) ;
Жылжымалы нүктелі value санын нормал түрге келтірілген мантиссаға және бүтін бөлігін 2-нің дәрежесі көрінісінде ажыратады (бөледі)
Doubl hypot ( double x, double у) ;
Катеттері х, у болған тік бұрышты үшбұрыштың z гипотенузасын
Есептейді (zІ=xІ+yІ)
Long doubl labs ( long x) ;
long x бүтін аргументтің абсалют мәнін есептейді
doubl ldexp (double v, int e ) ;
v *2e өрнектің мәнін есептейді.
double log(double x) ;
Натурал логарифмнің( lnx) мәнін есептейді
double log 10 (double x) ;
Ондық логарифмнің ( lg x) мәнін есептейді
Double modf (duble value, double*iptr) ;
Жылжымалы нүктелі value санын бүтін және бөлшек
бөлімдерге ажыратады. Санның бүтін бөлігі жадтың iptr сілтейтін аймағына жазылады, ал бөлшек бөлігінің мәні ф-я қайтаратын мәнге тең болады.
double poly (double x, int n, double c [ ] ) ;
c[n] xⁿ +c[ n-1] xⁿЇ№ + . . . +c [ 1] x+c [0] полиномының мәнін есептейді.
double pow (double x, double у) ;
x y өрнектің мәнін есептейді
double pow 10 ( int p) ;
10p өрнектің мәнін есептейді.
double sin (double x) ;
Синустың ф-ясы. Бұрыштың( аргументтік) мәні радиандарға беріледі.
double sinh (double x) ;
x аргументтің гипербалалық синусының мәнін есептейді.
double sgrt (double x) ;
х аргументтік оң мәнінің квадрат түбірін есептейді.
double tan (double x) ;
Тангенстің ф-ясы. Бұрыштың(аргументтің) мәні радиандарға беріледі.
double tanh (double x) ;
х аргументтің гипербалалық тангенсінің мәнін есептейді.
III-тарау
Операциялар және олардың түрлері
Өрнектерді құрастыруда және содан кейін мәнін есептеуде операциялар қолданылады. Бір операцияны бейнелеу үшін, көп жағдайларда бірнеше операциялар істеледі. Кестеде, СИ тілінің стандарты бойынша анықталған операциялардың барлық белгілері (таңбалары) келтірілген . Кестеде операциялар топтары бөлініп, олардың топтарға сәйкес рангтері ( реті) көрсетілген .
3. 1Операциялар приоритеті ( рангі)
3. 2 Ұнарлық ( бір орыңды ) операциялар
Бір орынды префикстік және постфикстік операцияларды бейнелеу үшін мынадай символдар істеледі:
&- операцияның адресін анықтау операциясы (2 ранг)
*- адрес бойынша қатынас жасау операциясы , яғни сілтемені ашу, басқаша айтқанда атын анықтау операциясы . Мұнда сілтеме (көрсеткіш) операнд болуы керек. (2 ранг) .
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz