Программалау тілдері жоғары оқу орындарына арналған оқулық



жүктеу 5,01 Kb.
Pdf просмотр
бет82/82
Дата16.05.2018
өлшемі5,01 Kb.
#14051
түріПрограмма
1   ...   74   75   76   77   78   79   80   81   82

 
228 
'F', '%', '$', 'ы', '5', '+', '"', 'q', 'Я', ' ' 
Соңғы константа «босорын» таңбасы. Апостроф таңбасын мҧндай тәсілмен жаза алмай-
мыз.  Сондықтан басқа тәсілді қолданамыз.  
Екінші тәсіл  кері  қиғаш сызық  (слеш) таңбасынан кейін керекті символдың оналтылық 
кодын жазу арқылы беріледі: 
'\x27'
   ("апостроф" символының коды, 39
10
 = 27
16

'\x5C'
   (кері қиғаш сызық 
\
 символының коды, 92
10
 = 5С
16
)
 
Он  алтылық  кодтың  алдыңғы  нӛлсіз  жазылатынына  назар  аударыңдар  (оналтылық 
сандар  тҥрінде  берілген  константаларды  жазу  кезінде  \0х  болып  бейнеленеді).  Осы  тәсілді 
ASCII-код 
кестесінің  бас  жағында  (1-31  кодтары)  орналасқан  басқару  кодтарының  кез 
келгенін  жазу  ҥшін  қолдануға  болады.  С/С++  тілдеріндегі  Escape-тізбектері  болып  табы-
латын басқару кодтары (4.6-кестені қ.) да осы тәсілмен жазылады. Мысалы: 
'\''
 – "апостроф" символы 
'\\'
 – "кері слеш" символы 
Ҥшінші  тәсіл  "кері  слеш"  таңбасынан  соң,  символдың  сегіздік  кодын  жазу  болып 
табылады: 
'\47'
    ("апостроф" символының коды, 39
10
 = 47
8

'\134'
  (
\
символының коды, 92
10
 = 134
8
)
 
Мҧндағы сегіздік кодтың да алдыңғы нӛлсіз жазылатынына назар аударыңдар (сегіздік 
сандар  тҥрінде  берілген  константаларды  жазу  кезінде  олардың  алдында  \0  таңбасы 
жазылады). Апостроф ішіндегі сегіздік код [0, 377] аралығында болуы тиіс.  
Символдық айнымалылар олардың типін кӛрсететін 
char 
немесе unsigned char
 
спецификаторы (тҥйінді сӛзі) арқылы жарияланады. Оларға бірден мән беруге, яғни  
айтылған тәсілдердің біоімен инициалдауға болады: 
   char ch1='Я',ch2='\x9F',ch3='\237',ch4= 0x9F,ch5=0237,ch6=159; 
Осылай  сан  арқылы  мән  тағайындау  тәсілі  DOS-қосымшаларында  да  және  Windows 
ортасында  да  символдардың  дҧрыс  бейнеленуіне  кепілдік  бере  алады.  Windows  ортасында 
консолдық программалар қҧру кезінде символдық мәндер тағайындау тәсілі 
ASCII-
код
 кес-
тесінің тек бірінші жартысында орналасқан символдар ҥшін ғана дҧрыс жҧмыс істей алады. 


 
229 
Б  ҚОСЫМШАСЫ 
Сӛз тіркестерінен тұратын мәліметтермен операциялар орындау  
Бірӛлшемді  символдық  жиымдар  (массивтер)  тҥрінде  берілетін  сӛз  тіркестерін  ӛңдеу 
ҥшін  С/С++  тілдерінің  жҥйелік  функциялар  кітапханасында  бірсыпыра  амалдар 
(операциялар)  қарастырылған.  Олардың  прототиптері 
string.h
  тақырыптық  файлына 
жинақталып,  кӛбісінің  атаулары 
str
  (ағылш. 
string  –  тіркес  сӛзінің  алғашқы  әріптері

таңбаларынан  басталады.  Тіркестерді  ӛңдейтін  функцияларды  қарастыру  ҥшін,  қолданыла-
тын аргументтер мен олардың типтері жайлы ортақ белгілеулер туралы бірсыпыра тҥсініктер 
бере кетейік: 
S, S1,S2
 – символдық жиымға нҧсқауыш (кӛбінесе жиым аты); 
CS
  – 
const  char *
  типіндегі  нҧсқауыш  (яғни  ӛзгермейтін  жиым  немесе  бастапқы 
мәліметтер тҥрінде берілген тіркестік константа); 
ch
 – символ коды, кӛбінесе 
int
 типіндегі сандық мән; 
k
 –  символдар саны. 
Қ1.3-кесте 
Функция 
Атқарылатын операция 
Сӛз тіркесінің (тіркестің) ұзындығын анықтау 
strlen(CS) 
S тіркесіндегі символдар санын береді 
Тіркестерді қалыптастыру  
strcpy(S1,CS2) 
CS2 тіркесін S1-ге кӛшіреді, нҧсқауышты  S1-ге қайтарады 
strncpy(S1,CS2,k) 
CS2 тіркесінің алғашқы k символын  S1-ге кӛшіреді, нҧсқауышты  
S1-
ге қайтарады 
strset(S,ch) 
S тіркесін ch символдарымен толтырады, нҧсқауышты  S-ке 
қайтарады  
strnset(S,ch,k) 
S тіркесінде ch символын k рет қайталайды, нҧсқауышты  S-ке 
қайтарады  
Тіркестерді біріктіру (конкатенация) 
strcat(S1,CS2) 
CS2 тіркесін S1 тіркесінің соңына қосып жазады, нҧсқауышты S1-ге 
қайтарады (S1 тіркесінің ҧзындығы екі тіркес сиятындай кӛлемді 
болуы тиіс) 
strncat(S1,CS2,k) 
CS2 тіркесінің алғашқы k символын S1тіркесіне қосып жазады да, 
нҧсқауышты S1-ге қайтарады 
Регистрді ауыстыру 
strlwr(S) 

тіркесі символдарын кіші әріптерге ауыстыру, тек латын әліпбиі 
әріптеріне әсер етеді 
strupr(S) 

тіркесі символдарын бас әріптерге ауыстыру, тек латын әліпбиі 
әріптеріне әсер етеді 
Тіркесті керісінше жазып шығу 
strrev(S) 
S тіркесіндегі символдарды кері бағытта жазып шығады 
Сандық мәліметке түрлендіру 
strtol(CS,ptr,r) 
CS 
тіркесінде символдық тҥрде бейнеленіп, негізі r болып келетін 
санау жҥйесінде жазылған сан long типіндегі машиналық 
форматтағы санға тҥрлендіріледі. ptr нҧсқауышына тҥрлендіруді 
тоқтатқан (ҥзген) символ адресі жазылады. Қайтарылатын мән – 
тҥрлендіру нәтижесі 
strtoul(CS,ptr,r) 
Жоғарыдағыдай тҥрлендіру ісі екі еселенген таңбасыз бҥтін сан ҥшін 
атқарылады 
strtod(CS,ptr) 
Нақты санды символдық тҥрден double типіндегі машиналық 
форматқа тҥрлендіру 
Тіркестерді салыстыру 
strcmp(CS1,CS2) 
Егер CS1=CS2 болса, функция 0 мәнін қайтарады,  


 
230 
егер CS1>CS2 болса, функция 0-ден артық мән, ал  
егер CS1strncmp(CS1,CS2,k)  CS1 және CS2 тіркестерінің алғашқы k символдары  ғана 
салыстырылады 
stricmp(CS1,CS2) 
Салыстыру кезінде бас әріптер мен кіші әріптер кодтарының 
әртҥрлілігі есепке алынбайды 
strcmpi(CS1,CS2) 
Жоғарыдағы операция сияқты, тек функция аты ғана басқаша 
strnicmp(CS1,CS2,k)  Екі тіркестің алғашқы k символдарын бас әріп пен кіші әріп 
кодтарының айырмашылығын есепке алмай салыстырады 
strncmpi(CS1,CS2,k) 
Жоғарыдағы операция сияқты, тек функция аты ғана басқаша 
Символды  іздеу 
strchr(CS,ch) 
CS тіркесі солдан оңға қарай ch символы табылғанша біртіндеп 
қарастырылады. Егер ол табылса, нҧсқауыш  CS тіркесіндегі осы 
символды (позициясын) кӛрсетіп тҧрады, егер ондай символ 
табылмаса, онда нҧсқауыш null (яғни 0) мәнін қайтарады 
strrchr(CS,ch) 
Жоғарыдағы операция сияқты, тек символды іздеу CS тіркесінің 
соңынан басына қарай жҥргізіледі 
Ішкі тіркесті іздеу 
strstr(CS1,CS2) 
CS2 тіркесін CS1 тіркесінің қҧрамынан іздеу (алғашқы кіруін 
анықтау). Егер ол табылса, нҧсқауыш табылған тіркестің алғашқы 
символын кӛрсетеді, табылмаса, ол null мәнін береді 
Арнайы іздеу 
strpbrk(CS1,CS2) 
CS2 
символының CS1 тіркесіндегі алғашқы кездесуі ізделеді. 
Табылған символға нҧсқауыш немесе null қайтарылады  
strspn(CS1,CS2) 
Толығынан CS2 символдарынан тҧратын CS1 тіркесінің бастапқы 
фрагментінің ҧзындығы анықталады (символдар реттілігі ешқандай 
рӛл атқармайды) 
strcspn(CS1,CS2) 
CS2 
символдарының бір де бірі қҧрамына кірмейтін CS1 тіркесінің 
бастапқы фрагментінің ҧзындығы анықталады 
strtok(S1,CS2) 
S1 тіркесі ішінен CS2 символдарымен бӛлінген  лексемдерді іздеу 
Қ1.3-кестесінде кӛрсетілген функцияларға аздаған қосымша тҥсініктер бере кетейік.   
Санның  символдық  бейнеленуін  соған  сәйкес  машиналық  форматқа  тҥрлендіретін  
strtol
  және 
strtoul
  функцияларында  оның  негізін 
r=0 
деп те беруге болады. Мҧндайда 
санау жҥйесінің негізі санның символдық жазылуымен анықталады. Егер тіркес 
'0' 
симво-
лынан басталып, ары қарай 7-ден аспайтын цифрлар орналасатын болса, онда ол сегіздік сан 
болып  саналады.    Ал  егер  сӛз  тіркесі 
'0х' 
немесе 
'0X' 
символдарынан  басталып,  ары 
қарай оналтылық цифрлар орналасатын болса, онда 
r=16 
болып есептеледі. 
Strtok
  функциясында  лексем  болып  ажыратқыш  символдарының  бірімен  (босорын, 
ҥтір,  нҥкте,  т.с.с.)  аяқталатын  символдар  тіркесі  саналады.    Ол  функцияны  алғашқы  рет 
пайдалану  кезінде 
S1 
тіркесінде  бастапқы  лексем  орналасып,  қайтарылатын  мән  оның 
бірінші  символына  нҧсқауыш  болып  саналады.  Осымен  қатар 
S1
  тіркесіндегі  анықталған 
ажыратқыш  символ  орнына  нӛлдік  байт  жазылады.    Бҧл  табылған  лексеммен  кейіннен  сӛз 
тіркесі  ретінде  жҧмыс  істеуге  мҥмкіндік  береді.  Мҧнан  кейінгі 
strtok
  функциясын 
пайдалану  кезінде  келесі  лексемдерді  іздеу  ҥшін  бірінші  аргумент  орнына  нӛлдік  аргумент 
жазуға  болады.  Сонда  функция  енгізілген  нӛлдік  байттан  оң  жақта  орналасқан  келесі 
лексемді  іздеп  табуға  кіріседі.  Осы  тәсілмен 
S1 
тіркесіне  кіретін  барлық  лексемдерді 
біртіндеп тауып алуға болады. Тҥсіндіру ҥшін бір мысал келтірейік:    
#include  
#include  
#include  
void main() 


 
231 
{ char *ptr; 
  ptr=strtok("FEB.14,2009",".,-/"); 
  while(ptr!=NULL) 
  { printf("ptr=%s\n",ptr); 
    ptr=strtok(NULL, ".,-/"); 
  } 
  getch(); 

//=== Бұл программа нәтижесі === 
ptr=FEB 
ptr=14 
ptr=2009 


 
232 
МАЗМҰНЫ
 
К І Р І С П Е ............................................................................................................................. 3 
1. АЛГОРИТМДЕУ НЕГІЗДЕРІ ............................................................................................ 5 
1.1 Алгоритм, программа ҧғымдары ..................................................................................... 5 
1.2 Алгоритмдердің орындалуы............................................................................................. 6 
1.3 Алгоритмнің қасиеттері .................................................................................................... 9 
1.4 Алгоритмнің формалды орындалуы .............................................................................. 13 
1.5 Горнер тәсілі бойынша есептеу алгоритмдері.............................................................. 16 
1.6 Алгоритмнің ӛрнектелу жолдары .................................................................................. 18 
1.6 Компьютерде есеп шығару кезеңдері ............................................................................ 18 
1.7 Алгоритмдерді графикалық тҥрде жазу ........................................................................ 19 
1.8 Алгоритмдердің бірыңғай қҧрылымы ........................................................................... 20 
1.9 Программалау тілдері ..................................................................................................... 25 
2  С ТІЛІНДЕ  ПРОГРАММАЛАУ  НЕГІЗДЕРІ ................................................................ 30 
2.1  С тілінде жазылған программаның қҧрылымы ........................................................... 31 
2.2 С тілінің қарапайым элементтері ................................................................................... 35 
2.3 С тіліндегі мәліметтер типтері ....................................................................................... 41 
2.4  Бҥтін сан тҥріндегі мәліметтерді сипаттау. ................................................................. 41 
Int  бҥтін сандар типі ............................................................................................................. 41 
2.5   Printf және scanf функциялары ..................................................................................... 43 
3 C ТІЛІНДЕГІ  НЕГІЗГІ  ОПЕРАЦИЯЛАР МЕН ОПЕРАТОРЛАР ............................... 47 
3.1. Меншіктеу операторы .................................................................................................... 52 
3.2 Типтерді тҥрлендіру ........................................................................................................ 54 
3.3 Программа жҧмысын басқару операторлары ............................................................... 55 
3.4  Шартты оператор ........................................................................................................... 56 
3.4.1 Шартты операция ......................................................................................................... 60 
3.5 Switch кӛп нҧсқалы таңдау операторы .......................................................................... 60 
4 ЦИКЛ ОПЕРАТОРЛАРЫ.................................................................................................. 69 
4.1 FOR цикл операторы ....................................................................................................... 69 
4.2 While операторы .............................................................................................................. 72 
4.3 Do ... while цикл операторы ............................................................................................ 74 
4.4 С/С++ тілінің негізгі операторларын қолдану арқылы                                                         
есептер шығару ................................................................................................................ 76 
5  С ТІЛІНДЕ ЖИЫМДАРДЫ ПАЙДАЛАНУ .................................................................. 82 
5.2 Жиымды ӛңдеу есептерінің тҥрлері (кластары) ........................................................... 83 
5.2.1  Бірінші тҥрдегі есептер ............................................................................................... 83 
5.2.2  Екінші тҥрдегі есептер ................................................................................................ 84 
5.2.3  Ҥшінші класс есептері ................................................................................................ 85 
5.2.4  Тӛртінші класс есептері .............................................................................................. 86 
5.3 Жиымды сҧрыптау (іріктеу, реттеу) .............................................................................. 86 
5.3.1 Жай таңдау жолымен сҧрыптау .................................................................................. 86 
5.3.2 Жай енгізу (кірістіру) тәсілімен сҧрыптау ................................................................. 87 
5.3.3  Жай алмастыру арқылы сҧрыптау ............................................................................. 87 
5.4 Адрестік операциялар ..................................................................................................... 90 
5.4.1  Функциялар арасында байланыс жасау ҥшін                                                           
нҧсқауыштарды пайдалану ............................................................................................ 91 
5.4.2  Жиымдар және жиымдарға қолданылатын нҧсқауыштар ...................................... 92 
5.4.3 Нҧсқауыштарды пайдаланып жиымдармен жҧмыс істеу ........................................ 93 
5.4.4  Нҧсқауыштарға қолданылатын операциялар ........................................................... 94 
6  ЕКІ ӚЛШЕМДІ ЖИЫМДАР ......................................................................................... 100 
6.1 Матрицаның барлық элементтерін ӛңдейтін алгоритмдер ....................................... 101 


 
233 
6.2 Екінші типтегі есептер алгоритмдері .......................................................................... 103 
6.3  Екі ӛлшемді жиымдармен жҧмыс істеу кезінде                                                          
нҧсқауыштарды қолдану .................................................................................................... 109 
7. СӚЗ ТІРКЕСТЕРІН ӚҢДЕУ .......................................................................................... 114 
7.1 Символдық таңбаларды енгізу/шығару ...................................................................... 114 
7.2 Символдық тіркестер .................................................................................................... 116 
7.3 Символға нҧсқауышты пайдалану ............................................................................... 117 
7.6 Сӛз тіркестерімен  жҧмыс істейтін ӛзге функциялар ................................................ 121 
8  ҚОЛДАНУШЫ ФУНКЦИЯСЫН ПАЙДАЛАНУ ....................................................... 129 
8.1 Айнымалылардың әрекет ету аймағы ......................................................................... 131 
9  ҚОЛДАНУШЫ АНЫҚТАЙТЫН МӘЛІМЕТТЕР ТИПТЕРІ                                       
    
МЕН  ҚҦРЫЛЫМДАРДЫ ПАЙДАЛАНУ .................................................................. 139 
9.1 Типтердің атын ӛзгерту (typedef) ................................................................................. 139 
9.2 Тізбелер (перечисления – enum) .................................................................................. 139 
9.3 Қҧрылымдарды пайдалану ........................................................................................... 141 
9.4 Қҧрылымдарды сипаттау .............................................................................................. 141 
9.5 Қҧрылым ӛрістерін пайдалану ..................................................................................... 143 
9.6 Қҧрылымдар жасау ....................................................................................................... 145 
9.7 Қҧрылым жиымдарын                                                                                                          
функция аргументі ретінде пайдалану ........................................................................ 150 
9.8 Біріктірмелер (объединение – union) ........................................................................... 152 
9.9 Биттік ӛрістер ................................................................................................................ 155 
10  ФАЙЛДАРДЫ ПАЙДАЛАНУ ..................................................................................... 162 
10.1 fprintf және fscanf функцияларын пайдалану ........................................................... 163 
10.2  fgets және fputs функцияларын пайдалану .............................................................. 166 
10.3 fwrite және fread функцияларын пайдалану ............................................................. 167 
11. ГРАФИКАЛЫҚ РЕЖИМДЕ ЖҦМЫС ІСТЕУ .......................................................... 171 
11.1. Графикалық режим орнату, одан шығу, мәтін жазу,                                                            
сызық салу функциялары ............................................................................................. 173 
11.2. Сызық стильдерін беру .............................................................................................. 176 
11.3. Тҧйық сызықтар салу ................................................................................................. 178 
12 C ПРОГРАММАСЫН ОРЫНДАУ ОРТАСЫ ............................................................. 186 
12.1. Турбо С редакторының терезесі ............................................................................... 186 
12.2 Меню командалары ..................................................................................................... 187 
12.3 Қателер коды және олардың мәліметтері ................................................................. 192 
12.3.1 Программа орындалу кезінде шығатын қателер ................................................... 193 
12.3.2 Операциялық жҥйе анықтайтын қателер ............................................................... 194 
12.3.3 Енгізу-шығару қателері ........................................................................................... 194 
12.3.4 Дағдарысты қателер ................................................................................................. 194 
12.3.5 Фаталды қателер ....................................................................................................... 195 
13. ПРОГРАММАЛАУ ТІЛДЕРІНІҢ ДАМУ ТАРИХЫ ................................................. 196 
ГЛОССАРИЙ ....................................................................................................................... 203 
ҚОЛДАНЫЛҒАН ТЕРМИНДЕРДІҢ                                                                                  
ҚЫСҚАША ОРЫСША-ҚАЗАҚША СӚЗДІГІ ................................................................. 207 
C  ТІЛІНДЕ  ПРОГРАММАЛАУДАН   ТЕСТ  СҦРАҚТАРЫ ....................................... 211 
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ...................................................................................... 224 
А ҚОСЫМШАСЫ. Стандартты математикалық функциялар ....................................... 225 
Ә ҚОСЫМШАСЫ.
 
Символдық мәліметтер және оларды компьютерде бейнелеу ..... 227 
Б ҚОСЫМШАСЫ. 
 
Сӛз тіркестерінен тҧратын мәліметтермен                                          
операциялар орындау .................................................................................................... 229 
 


 
234 
 

жүктеу 5,01 Kb.

Достарыңызбен бөлісу:
1   ...   74   75   76   77   78   79   80   81   82




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау