Wednesday, October 6, 2010

Нөхцөл шалгах ба сонголтын операторууд

Шалгах оператор if
Дараах 2 хэлбэртэй.
1 дүгээр хэлбэр (гүйцэт бус)
  if (логик нөхцөл) үнэн (true) бол хийгдэх үйлдэл;
2 дугаар хэлбэр (гүйцэт)
  if (логик нөхцөл)   үнэн (true) бол хийгдэх үйлдэл;
    else     худал (false) бол хийгдэх үйлдэл;
Жишээ:
if (логик нөхцөл) үйлдэл;
нөхцөл нь үнэн буюу true бол үйлдэл биелэгдэнэ.
Жишээ нь:
if (x = = 12)
 
printf(“x bol %d”, x);
if (x = = 12)
 
{ printf(“x bol”);
 
  printf(“%d”, x); }
if ( логик нөхцөл) үйлдэл1; else үйлдэл2;
Жишээ нь:
if (x = = 12)  printf(“x bol %d”, x);
else
         printf(“x bol 12 bish”);
if (x > 0)
 
printf(“x bol eyreg too”);
else if (x < 0) 
printf(“x bol sorog too”);
       else 
printf(“x bol teg yum bna.”);
Жишээ нь:
#include<stdio.h>
#include<stdio.h>
main()
{
  int m,n,r;
  printf(“n=”); scanf(“%d”,&n);
  printf(“m=”); scanf(“%d”,&m);
  r=n;
  if (n
  printf(“%d”,r);
  getch();
}
 
Үр дүн:
1    5 гэж оруулахад
5 гарна.

Жишээ нь:
#include<stdio.h>
#include<stdio.h>
main()
{
  int m,n,r;
  printf(“n=”); scanf(“%d”,&n);
  printf(“m=”); scanf(“%d”,&m);
  if (n
      else r=n;
  printf(“%d”,r);
  getch();
}
Үр дүн:
100     4 гэж оруулахад
100 гарна.
Өгөгдсөн a, b хоёр тооны багыг ол. Нөхцөл шалгах операторын 2 хэлбэрээр бодоорой.
Давхар if оператор
if операторыг хэдэн ч давхараар бичиж болно.
  if ( логик нөхцөл 1 )
  if ( логик нөхцөл 2 )  үйлдэл 1;
  else   үйлдэл 2;
Давхар if операторыг хэрэглэж байхдаа хаалтыг зөв хэрэглэх шаардлагатай.
Си хэлэнд else  -г түүнд хамгийн ойр бөгөөд түүнээс өмнө орших өөрийн гэсэн else байхгүй  if –д харгалзуулан ойлгодог.
Өмнөх жишээнд else –г яаж ч бичсэн түүнд хамгийн ойр орших if –д буюу if (логик нөхцөл 2) –т хамаарна.
if (логик нөхцөл 1)
   {
        if (логик нөхцөл 2)
             үйлдэл 1;
   }
       else
              үйлдэл 2;
if (логик нөхцөл 1)
        if (логик нөхцөл 2)
                  үйлдэл 1;
            else
       else
              үйлдэл 2;
 
Ер нь Си хэлний нөхцөл шалгах үйлдлийн үр дүн нь 1-тэй тэнцүү бол нөхцөл биелэж байна, 0-тэй тэнцүү бол нөхцөл биелэхгүй байна гэж тооцдог.
Иймээс if (a!=0) гэсэн нөхцлийг if (a) гэсэн нөхцөл шалгах үйлдлээр сольж болно гэсэн үг юм.
Жишээ нь:
  Өгөгдсөн  х тоо 0-тэй тэнцүү эсэхийг тогтооход нөхцөл шалгах операторыг ашиглахдаа дараах хэлбэрээр бичиж болно.
  if (x)  printf(“x too 0-tei tentsuu bish”);
  else   printf(“x too 0-tei tentsuu”);
Дадлага ажил
1.Өгөгдсөн a, b хоёр бодит тооны багыг ол. Нөхцөл шалгах операторын 2 хэлбэрээр бодоорой.
2.Өгөгдсөн бүхэл тоо 3, 5, 7-д хуваагдахыг эсэхийг тогтоо.
3.Өгөгдсөн 4 бодит тооны ихийг ол.
4.Өгөгдсөн 3 оронтой тооны хамгийн их утгатай цифрийг хэвлэ.
5.Өгсөн 3 тоогоор талаа хийсэн гурвалжин байх уу?
6.Өгөгдсөн 4 оронтой тоо өөрийнхөө цифрүүдийн нийлбэрт хуваагдахыг шалга.
7.Өгөгдсөн 5 оронтой тоо өөрийнхөө цифрүүдийн аль нэгэнд хуваагдахыг шалга.
8.Өгсөн 5 бүхэл тооны эерэг тоонуудын тоог хэвлэ.

Сонголтын оператор switch
 
switch (илэрхийлэл)
  { 
  case тогтмол1:   үйлдэл1;  break;
  case тогтмол2:  үйлдэл2;  break;
      
                 default:                үйлдэлN
                  }
#include<stdio.h>
#include<conio.h>
main()
{ int x;
scanf("%d",&x);
switch (x) {
   case 1:
        printf("x bol 1");
        break;
   case 2:
        printf("x bol 2");
        break;
   default:
        printf("x todorhoigui");
                   }
getch();
}
#include<stdio.h>
#include<conio.h>
main()
{ int x;
   scanf("%d",&x);
    if (x == 1) {
             printf("x bol 1");
                   }
            else if (x == 2) {
                 printf("x bol 2");
                           }
                else {
               printf("x todorhoigui");
                         }
  getch();
}

No comments:

Post a Comment