Ііі. Есептің программасы



жүктеу 1,13 Mb.
Pdf просмотр
бет32/41
Дата06.02.2020
өлшемі1,13 Mb.
#28386
түріПрограмма
1   ...   28   29   30   31   32   33   34   35   ...   41

223 
 
E)  Р ұяшығына. 
2.    
… 
int *p; 
int x[]={5,4,7}; 
p=x; 
p++; 
printf(“%i”,*p); 
… 
Орындалу нәтижесінде экранға не шығады? 
A) 4 
B) 5 
C) 7 
D) 6 
E)  8 
Бақылау сұрықтары: 
1.  С++  тілінде Көрсеткіш деп нені атайды ? 
2.  *  операторын  пайдалану  үш  мысалын  келтіріп  және  әр  қайсысы  қалай 
жұмыс жасайтының түсіндіріңіз. 
3.  Келесі код нені шығарады ? 
Int *p1, *p2; 
p1=new int; 
p2=new int; 
*p1=10; 
*p2=20; 
cout<<*p1<<” “ <<*p2<<”\n”; 
p1=p2; 
cout <<*p1<<” “<<*p2<<’\n”; 
*p1=30; 
cout<<*p1<<” “<<*p2<<”\n”; 
Программа  нәтижесі  қалай  өзгеретінеді,  егер      p1=30;    жолы  *p2=30;    жолына 
ауыстырылса. 
4.   Төменгі код нені шығарады? 
Int *p1,*p2; 
p1=new int; 
p2=new int; 
*p1=10; 
*p2=20; 
cout <<*p1<<” “<<*p2<<”\n”; 
*p1=*p2;//бұл жол 3 сұрақтағы дай емес. 
cout<<*p1<<” “<<*p2<<”\n”; 
*p1=30; 
cout<<*p1<<” “*p2<<’\n’; 
Әдебиеттер: 
[1],[4],[7],[8],[10-13],[15]. 


224 
 
 
ЛАБОРАТОРИЯЛЫҚ ЖҰМЫС №11 
 
Тақырыбы: СТРУКТУРАЛАР 
Мақсаты: Студенттерді С/С++ тіліндегі 
  структуралық  тип  ұғымымен  таныстыру,  структура  типті  берілгендерді  енгізу, 
шығару  және  структуралық  мәліметтерді  қолданып  программалау  дағдыларын 
қалыптастыру; 
  біріктіру 
ұғымымен 
таныстыру, 
біріктіруді 
қолданып 
программалау 
дағдыларын қалыптастыру; 
  программалауда Typedef құралын қолдану. 
Қажетті материалдар мен жабдықтар:  ДК, С/С++ тілінің IDE ортасы, 
лабораториялық жұмысты орындауға арналған әдістемелік нұсқаулар. 
Лабораториялық жұмыстың мазмұны және орындалу реті: 
 
1.  С/С ++  тілінде циклдық алгоритмдерді программалауға қатысты әдістемелік 
нұсқау – матриалдарды алдын ала танысып меңгеру. 
2.  Ұсынылған мысалды орындау және талқылау. 
3.  Өзіндік жеке тапсырмалардың оқытушы ұсынған нұсқасын орындау. 
4.  Лабораториялық жұмыстың есебін (отчет) дайындап тапсыру. 
  Әдістемелік нұсқаулар: 
Структура 
Структура  –  бір  атпен  біріктірілген  бір  немесе  бірнеше  әр  түрлі  типті 
айнымалылар  тобы.  Структура  struct  қызметші  сөзімен  құрылады.  Структураның 
жалпы құрылымы төмендегідей: 
struct тег { 
   тип1 иден1; 
   тип2 иден2; 
       …     … 
   типN иденN; 
}; 
мұндағы  тег  мәліметтердің  жаңа  типі  болып  саналады  және  оны  айнымалыны 
сипаттауда қолдануға болады. 
Сипатталған структура негізінде айнымалы құру үшін 
struct <тег> <айнымалы> 
С++ тілінде struct қызметші сөзін көрсетпесе де болады: 


225 
 
<тег> <айнымалы> 
Айнымалыны структураны құру кезінде де анықтауға болады: 
struct тег { 
   тип1 иден1; 
   тип2 иден2; 
       …     … 
   типN иденN; 
} <айнымалы>; 
Егер  структура  типті  басқа  айнымалылар  құрылмайтын  болса,  структура  тегін 
көрсетпеуге болады. Мұндай структура атаусыз (безымянный) деп аталады: 
struct { 
   тип1 иден1; 
   тип2 иден2; 
       …     … 
   типN иденN; 
} <айнымалылар тізімі>; 
 
Структуралар іштестірілген де болуы мүмкін: 
struct тег1 { 
   тип1 иден1; 
   тип2 иден2; 
   тип3 иден3; 
}; 
struct тег2 { 
   тип1 иден1; 
   тип2 иден2; 
   struct тег1  иден3; 
}; 
Структура элементтерін нүкте операторының көмегімен алуға болады: 
<айнымалы>.<элемент> 
Кейбір  жағдайларда  структураны  функция  денесінде  қолдану  қажеттігі 
туындайды.  Ондай  жағдайда  функция  прототипінде  структураны  функция 
параметрі  ретінде  беру  керек  (С++  тілінде  struct  қызметші  сөзін  көрсету  міндетті 
емес):   
// С және С++ тілдерінде  
<функция типі> <функция аты> (struct <тег> <айнымалы>) 
// Тек қана С++ тілінде  
<функция типі> <функция аты> (<тег> <айнымалы>) 
Структуралар  массиві.  Структуралар  массивін  сипаттау  структура  типті 
айнымалыны сипаттауға ұқсас. Мысалы, struct <тег> <айнымалы-массив> 


226 
 
Структураларға көрсеткіш. Көрсеткіш келесі түрде сипатталуы мүмкін:  
struct <тег> *<айнымалы> 
Бұндай  жағдайда  структуралық  айнымалының  кез-келген  элементін  мына 
әдістердің бірімен алуға болады:  
(*<айнымалы>).<элемент>    немесе    <айнымалы> –> <элемент> 
Біріктіру 
Біріктіру  структураған  ұқсас.  Жазылу  ерекшелігі:  struct  қызметші  сөзінің 
орнына union сөзі қолданылады. 
 union тег { 
   тип1 иден1; 
   тип2 иден2; 
       …     … 
   типN иденN; 
}; 
Біріктірудің  структурадан  басты  айырмашылығы  жадыны  ұйымдастыру 
тәсілінде,  яғни  біріктірудің  барлық  элементтері  жадыда  бір  байттан  басталады. 
Айталық, программада төмендегідей структура сипатталған болсын: 
struct P 
 { int i; 
   char ch; 
   long int L; 
}; 
Бұл элементтердің жадыда орналасуы келесі түрде болады: 
 
байт 
байт 
байт 
байт 
байт 
байт 
байт 

ch 

 
Структураның  жалпы  өлшемі  оның  өрістерінің  ұзындықтарының  қосындысына 
тең.  
Енді, дәл осындай біріктіруді қарастырайық: 
union P 
 { int i; 
   char ch; 
   long int L; 
}; 
Бұл элементтердің жадыда орналасуы келесі түрде болады: 
 
байт 
байт 
байт 
байт 


жүктеу 1,13 Mb.

Достарыңызбен бөлісу:
1   ...   28   29   30   31   32   33   34   35   ...   41




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

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