Муҳаммад ал-Хоразмий номидаги тату самарқанд филиали


Download 0.5 Mb.
Pdf ko'rish
Sana10.04.2020
Hajmi0.5 Mb.
#99092
Bog'liq
Дастурлаш 4.1 машгулот


 

 

ДАСТУРЛАШ (С++) фанидан 4.1-лаборатория машғулотлари 



Муҳаммад ал-Хоразмий номидаги ТАТУ Самарқанд филиали 

ЛАБОРАТОРИЯ МАШҒУЛОТЛАРИ 

ФАН 

 

ДАСТУРЛАШ (С++) 



ҲАФТА 

РАҚАМИ 


 

МАШҒУЛОТ 



МАЗМУНИ 

 

КЎРСАТГИЧЛАРГА ДОИР ОДДИЙ ДАСТУР ТУЗИШ.  

МАҚСАД: 

 

1.  Кўрсаткични  эълон  қилиш  ва  унинг  учун  хотирадан  жой 



ажратилишини кўриб чиқиш; 

2.  Қийматларга кўрсаткич ёрдамида мурожаат қилишни кўриб 

чиқиш ; 

3.  Typedef калит сўзи ёрдамида синоним турлар яратиш. 

4.  Кўрсаткичлардан фойдаланиб оддий дастурлар тузиш.

 

  



1-машқ. Кўрсаткичлар қўлланилишини намойиш этувчи дастур тузилсин.   

 

Дастур коди: 



 

1. 


#include

 

 

2. 


using

 

namespace



 

std


3.   


4. 

int


 

main

() 


5.  { 

6. 


int

 

count



 

=

 



5

7. 



int

*

 



pCount

 

=



 

&

count



8.   


9.  cout

 

<<

 

"Znacheniye



 

count


 

raven


 

==>


 

"

 



<<

 

count



 

<<

 

endl; 



10.  cout

 

<<

 

"Adress


 

count


 

raven


 

==>


 

"

 



<<

 

&



count

 

<<

 

endl; 


11.  cout

 

<<

 

"Adress


 

count


 

raven


 

==>


 

"

 



<<

 

pCount



 

<<

 

endl; 



12.  cout

 

<<

 

"Znacheniye



 

count


 

raven


 

==>


 

"

 



<<

 

*



pCount

 

<<

 

endl; 


13.   

14. 


return

 

0



15. 




 

 

ДАСТУРЛАШ (С++) фанидан 4.1-лаборатория машғулотлари 



Натижа

 

 



6-сатрда 

count

 номли ўзгарувчи эълон қилинмоқда ва унинг бошланғич қиймати 

5 га тенг. 7-сатрда 

pCount

  номли кўрсаткич-ўзгарувчи эълон  қилинмоқда ва  унинг 

қиймати 

count


 ўзгарувчисининг адресига тенг.  

Қуйидаги синтаксисларга аҳамият беринг  

pCount = &count; 

// tugri 

чем 

*pCount = &count; 



// xato

 

 



2-машқ. Юқоридаги дастур коди typedef калит сўзи ишлатилган ҳолда қайтадан 

кўриб чиқилсин. 



Дастур коди: 

 

1. 


#include

 

 

2. 


using

 

namespace



 

std


3. 


typedef

 

int



*

 

intPointer



4.  


5. 

int


 

main

() 


6. { 

7. 


int

 

count



 

=

 



5

8. 



intPointer

 

pCount



 

=

 



&

count


9.  


10. 

cout


 

<<

 

"Znacheniye



 

count


 

raven


 

==>


 

"

 



<<

 

count



 

<<

 

endl; 



11. 

cout


 

<<

 

"Adress



 

count


 

raven


 

==>


 

"

 



<<

 

&



count

 

<<

 

endl; 


12. 

cout


 

<<

 

"Adress



 

count


 

raven


 

==>


 

"

 



<<

 

pCount



 

<<

 

endl; 



13. 

cout


 

<<

 

"Znacheniye



 

count


 

raven


 

==>


 

"

 



<<

 

*



pCount

 

<<

 

endl; 


14. 

 

15. 



return

 

0



16. 




 

Натижа

 


 

 

ДАСТУРЛАШ (С++) фанидан 4.1-лаборатория машғулотлари 



3-машқ. Кўрсаткичлар ва массивдан фойдаланган ҳолда дастур тузилсин. 

 

Дастур коди: 

 



#include 



 



using namespace 

std; 





int 

main() 


5 { 



int 

list[

6

] = {


11



12



13



14



15



16

}; 



int



* p = list; 



for 

(

int 

i = 

0

; i < 


6

; i++) 


10 cout << 

"address: " 

<< (list + i) << 

11         



" znacheniye: " 

<< *(list + i) << 

" " 

<< 

12         



" znacheniye: " 

<< list[i] << 

" " 

<< 

13         



" znacheniye: " 

<< *(p + i) << 

" " 

<< 

14         



" znacheniye: " 

<< p[i] << endl; 

15 


16 

return 

0

17 } 



 

 

Натижа

 

 

 



7-сатрда 

int


 турига мансуб кўрсаткич эълон қилинмоқда, унинг қийматига эса 

массив адреси таъминланмоқда. 



int

* p = list;

 

 

Аҳамият  беринг,  массив  адресини  таъминлаш  вақтида  (



&

)  операторидан 

фойдаланмаяпмиз,  чунки  массив  номининг  ўзи  массивнинг  бошланғич  адресини 

ўзида сақлайди.  Юқоридаги ёзув қуйидаги билан тенг кучли: 



 

int

* p = &list[



0

];

 



Download 0.5 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling