SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Алгоритм програмчлал 
Багш: М.Цэцэнцэнгэл
Си хэлийн заагч
Си хэлийн заагч
Заагч төрөл 
Заагч (pointer) гэдэг нь компьютерын санах 
ойн нэгэн утгын заадаг объектыг хэлнэ. 
Заагч хувьсагч нь санах ойн хаягийг 
хадгалдаг байна.
Си хэлийн заагч 
Заагчийн зарлагаа нь энгийн хувьсагчийн 
зарлагаатай адил боловч хувьчсагчийн урд * 
тэмдэгтэй байдгаараа ялгаатай. 
int a; // engiin huvisagch 
int *a; // zaagch huvisagch
Заагч 
Заагч төрөл нь зөвхөн “unsigned int” утгыг л 
хадгалдаг. Тэрнээс биш урд нь тавьж байгаа 
өгөгдлийн төрөл өөр зориулалттай. 
float *a; // adil 
int *b; // adil
Хаяг авдаг Си хэлийн оператор 
& оператор нь Си хэлэнд тухайн хувьсагчийн 
санах ойд байрлаж байгаа хаягийг авдаг. 
Бид өмнө нь scanf() функцэд ашиглаж 
байсан. 
scanf(“%d”, &a);
Заагчид утга олгоё! 
int b; 
int *a; 
b = 17; 
a = &b; // b huvisagchiin hayg a zaagchid 
// hadgalagdlaa
Энэ үед оюутнууд
Санах ойд юу болж байна?
Заагч дахь утгыг авахдаа 
int b; 
int *a; 
b = 17; 
a = &b; 
printf(“%u”, a); // 1462 gej hevlene 
printf(“%d”, *a); // 17 gej hevlene
Энэ үед оюутнууд
Цуваа ба заагч 
int a[] = {10,20,30,40,50}; 
int *p; 
p = &a; 
printf(“%dn”, *p); // 10 
printf(“%dn”, *(p+1)); // 20 
printf(“%dn”, *(p+2)); // 30
Энэ үед санах ойд 
a 
p p+1 p+2 p+3 
Хаяг 2686712 2686716 2686720 2686724 
Утга 10 20 30 40 
printf(“%u”, a); // 2686712 
printf(“%u”, p); // 2686712 
Цувааны хувьсагч нь цуваа эхэлж байгаа санах ойн хаягийг хадгалж 
байдаг.
Бодлого 
Хоёр хувьсагчийн утгыг хооронд нь соль. 
a = 5; 
b = 7; байсныг 
a = 7; 
b = 5; болго.
Солих бодлогын шийдэл 1 
int a = 5; 
int b = 7; 
a = a + b; // b = 7, a = 5 + 7 = 12 
b = a - b; // a = 12, b = 12 - 7 = 5 
a = a - b; // b = 5, a = 12 - 5 = 7
Солих бодлогын шийдэл 2 
int a = 5; 
int b = 7; 
int tmp; 
tmp = a; 
a = b; 
b = tmp;
Солих үйлдлийг функц болгоё 
void swap(int a, int b) { 
int tmp; 
tmp = a; 
a = b; 
b = tmp; 
}
swap функцээ дуудъя 
void main() 
{ 
int a = 5; 
int b = 7; 
swap(a,b); 
printf(“a=%d b=%d”, a, b); 
}
Асуудлыг шийдье 
void swap(int *a, int *b) 
{ 
int tmp; 
tmp = *a; 
*a = *b; 
*b = tmp; 
}
swap функцээ дуудъя 
void main() 
{ 
int a = 5; 
int b = 7; 
swap(&a, &b); 
printf(“a=%d b=%d”, a, b); 
}

Más contenido relacionado

La actualidad más candente (20)

Smallbasic
SmallbasicSmallbasic
Smallbasic
 
Лекц №13
Лекц №13Лекц №13
Лекц №13
 
It101 lec6 10.06
It101 lec6 10.06It101 lec6 10.06
It101 lec6 10.06
 
бодлого C++
бодлого C++бодлого C++
бодлого C++
 
C++
C++C++
C++
 
Lec4 хereglegchiinpunkts
Lec4 хereglegchiinpunktsLec4 хereglegchiinpunkts
Lec4 хereglegchiinpunkts
 
Лекц-3
Лекц-3Лекц-3
Лекц-3
 
It101 lect9
It101 lect9It101 lect9
It101 lect9
 
Rdbms 300 test
Rdbms 300 testRdbms 300 test
Rdbms 300 test
 
алгоритм 8
алгоритм 8алгоритм 8
алгоритм 8
 
Ms access
Ms accessMs access
Ms access
 
Lec5 angi
Lec5 angiLec5 angi
Lec5 angi
 
Лекц №11
Лекц №11Лекц №11
Лекц №11
 
Лекц №12
Лекц №12Лекц №12
Лекц №12
 
U.cs101 алгоритм программчлал-1(1)
U.cs101   алгоритм программчлал-1(1)U.cs101   алгоритм программчлал-1(1)
U.cs101 алгоритм программчлал-1(1)
 
мэдээллийн технологи 1 тест
мэдээллийн технологи 1 тестмэдээллийн технологи 1 тест
мэдээллийн технологи 1 тест
 
Шуурхай санах ой
Шуурхай санах ойШуурхай санах ой
Шуурхай санах ой
 
Database 3
Database 3Database 3
Database 3
 
бие даалт № 1 borland c++
бие даалт № 1 borland c++бие даалт № 1 borland c++
бие даалт № 1 borland c++
 
Лекц №9
Лекц №9Лекц №9
Лекц №9
 

Destacado (9)

Bvleg4 combinatorics
Bvleg4 combinatoricsBvleg4 combinatorics
Bvleg4 combinatorics
 
Лекц 5 (Өгөгдлийн дүрслэл)
Лекц 5 (Өгөгдлийн дүрслэл)Лекц 5 (Өгөгдлийн дүрслэл)
Лекц 5 (Өгөгдлийн дүрслэл)
 
компьютеийн бүтэц
компьютеийн бүтэцкомпьютеийн бүтэц
компьютеийн бүтэц
 
Ush 2014 new3
Ush 2014 new3Ush 2014 new3
Ush 2014 new3
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэц
 
C# hicheelin lekts
C# hicheelin lektsC# hicheelin lekts
C# hicheelin lekts
 
Scientific calculator in c
Scientific calculator in cScientific calculator in c
Scientific calculator in c
 
Datastructure algoritm
Datastructure algoritmDatastructure algoritm
Datastructure algoritm
 

Similar a Лекц 9(Заагч)

Similar a Лекц 9(Заагч) (20)

Ci hel
Ci helCi hel
Ci hel
 
си хэл 10
си хэл 10си хэл 10
си хэл 10
 
U.cs101 лаборатори 1
U.cs101 лаборатори 1U.cs101 лаборатори 1
U.cs101 лаборатори 1
 
Video lab1-web
Video lab1-webVideo lab1-web
Video lab1-web
 
C lects (1)
C lects (1)C lects (1)
C lects (1)
 
лекц4
лекц4лекц4
лекц4
 
Лекц №8
Лекц №8Лекц №8
Лекц №8
 
онол
онолонол
онол
 
мэдээлэл зүйн жишиг даалгавар 8 р анги
мэдээлэл зүйн жишиг даалгавар 8 р ангимэдээлэл зүйн жишиг даалгавар 8 р анги
мэдээлэл зүйн жишиг даалгавар 8 р анги
 
Лекц №10
Лекц №10Лекц №10
Лекц №10
 
Лабораторийн ажил № 1
Лабораторийн ажил № 1Лабораторийн ажил № 1
Лабораторийн ажил № 1
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Dynamic web 3
Dynamic web 3Dynamic web 3
Dynamic web 3
 
Өгөгдлийн бүтэц 11
Өгөгдлийн бүтэц 11Өгөгдлийн бүтэц 11
Өгөгдлийн бүтэц 11
 
Dynamic web 3-4
Dynamic web 3-4Dynamic web 3-4
Dynamic web 3-4
 
баяраа сургалт
баяраа сургалтбаяраа сургалт
баяраа сургалт
 
Лекц №5
Лекц №5Лекц №5
Лекц №5
 
C lects (7)
C lects (7)C lects (7)
C lects (7)
 
u.cs101 "Алгоритм ба програмчлал" Лекц №7
u.cs101 "Алгоритм ба програмчлал" Лекц №7u.cs101 "Алгоритм ба програмчлал" Лекц №7
u.cs101 "Алгоритм ба програмчлал" Лекц №7
 
Unshih hewleh uildel хичээл 3
Unshih hewleh uildel хичээл 3Unshih hewleh uildel хичээл 3
Unshih hewleh uildel хичээл 3
 

Más de Мөнхбаярын Цэцэнцэнгэл

Más de Мөнхбаярын Цэцэнцэнгэл (9)

Lecture 12: File Handling
Lecture 12: File HandlingLecture 12: File Handling
Lecture 12: File Handling
 
Лекц 11: (Рекурс, Ханойн цамхаг)
Лекц 11: (Рекурс, Ханойн цамхаг)Лекц 11: (Рекурс, Ханойн цамхаг)
Лекц 11: (Рекурс, Ханойн цамхаг)
 
Лекц 10: (Рекурс)
Лекц 10: (Рекурс)Лекц 10: (Рекурс)
Лекц 10: (Рекурс)
 
Лекц 8 (Функц)
Лекц 8 (Функц)Лекц 8 (Функц)
Лекц 8 (Функц)
 
Лекц 7 (Давталтуудын Си хэлэнд)
Лекц 7 (Давталтуудын Си хэлэнд)Лекц 7 (Давталтуудын Си хэлэнд)
Лекц 7 (Давталтуудын Си хэлэнд)
 
Лекц 4 (Тооллын Систем)
Лекц 4 (Тооллын Систем)Лекц 4 (Тооллын Систем)
Лекц 4 (Тооллын Систем)
 
Лекц 3 (Давталт)
Лекц 3 (Давталт)Лекц 3 (Давталт)
Лекц 3 (Давталт)
 
Лекц 2 (Блок схем)
Лекц 2 (Блок схем)Лекц 2 (Блок схем)
Лекц 2 (Блок схем)
 
Лекц 1 (Алгоритм Програмчлал - 1)
Лекц 1 (Алгоритм Програмчлал - 1)Лекц 1 (Алгоритм Програмчлал - 1)
Лекц 1 (Алгоритм Програмчлал - 1)
 

Лекц 9(Заагч)