Хувьсагч гэж юу вэ ? Компьютерийн санах ойн нэрлэгдсэн муж тэр нь янз бүрийн төрлийн утгыг агуулна ( бүхэл, бодит гэх мэт .) Програм ажиллах үеийн өгөгдлийг хадгална Програмын хаана ч өгөгдлийг хадгалахдаа ашиглаж болно Үнэндээ өгөгдлийг боловсруулахад тусална
Санах ой дахь хувьсагч int my_int = 5;/*identifier*/ double my_double = 3.5; 5 3.5 my_int my_double
Санах ой дахь хувьсагч my_int -р түүний утгыг уншихаар дуудаж болно &variable_name ,  гэвэл тухайн хувьсагчийн хаяг болно 5 3.5 my_int my_double
/* cm -г   инчэд хөрвүүлэх програм  */ #include <stdio.h> int main() { double cm, inches; printf(&quot;Please enter length in centimeters: &quot;); scanf(&quot;%lf&quot;, &cm); inches = cm / 2.54; printf(&quot;This is equal to %g inches\n&quot;, inches); return 0; }  Example
Жишээ :  хувьсагчийн зарлалт int i; char c; float f1, f2; float f1=7.0, f2 = 5.2; unsigned int ui = 0;
Хувьсагчид нэр оноох Латин үсэг ,  цифр ,  доогуур зураас i CSE_5a a_very_long_name_that_isnt_very_useful fahrenheit Эхнийх цифр байж болохгүй 5a_CSE   энэ нь буруу ! Том жижиг үсэг ялгаатай CSE_5a   энэ нь   cse_5a  үүнээс ялгаатай
C  –н төрөл char  –  нэг байт тэмдэгт . int  –  бүхэл тоо  –   2  байт . float  –  дан нарийвчлалтай бодит тоо  – 4  байт . double  –  давхар нарийвлчлалтай бодит тоо  –  8 байт . char int float double
C  төрөл short int  ( эсвэл   short ) –  бүхэл тоо , 2  байт . long int  ( эсвэл   long ) –  бүхэл тоо ,  4  эсвэл  8  байт . long double  –  давхар нарийвлчлалтай бодит тоо  –8  байт . unsigned  ба  signed int ,  char ,  long ,  short  өмнө хэрэглэнэ. Тухайн хувьсагчийг илүү тодорхой болгож өгнө. Эерэг юмуу, эерэг ч сөрөг ч юмуу гэдгийг тодруулж өгдөг.
Жишээ /*  см-г инчэд хөрвүүлэх  */ #include <stdio.h> int main() { double cm, inches; printf(&quot;Please enter length in centimeters: &quot;); scanf(&quot;%lf&quot;, &cm); inches = cm / 2.54; printf(&quot;This is equal to %g inches\n&quot;, inches); return 0; }
printf  ба   scanf printf  –  дэлгэцэнд хэвлэгч . Хувьсагчид хандаж түүний утгыг хэвлэж чадна . scanf  –  стандарт оролтоос утгыг авч хувьсагчид онооно .
printf  хувьсагчийн утгыг хэвлэж чадна printf(&quot;z= %d \n&quot;,   z); %d   энэ тусгай тэмдэг ба хэвлэгдэхгүй ! printf   хэвлэхээр бичсэн мөрийн арын  integer   хувьсагчийн утгыг энд хэвлэнэ гэдгийг хэлж байна.
scanf  хэрэглэгчийн өгөгдлийг авна scanf(&quot;%lf&quot;, &cm); Хэрэглэгч давхар бодитыг оруулахыг хүлээнэ ,  тэгээд авсан утгаа  ‘ cm ’ -д онооно . Хэрэв хоёр утга авахаар бол , – scanf(&quot;%lf%lf&quot;, &var1, &var2);
prinft/scanf  код хувиргагчид %< хувиргах код >   printf/scanf  –н тэмдэгт мөрөнд харгалзах төрлийн хувьсагчруу код хувиргана . %c  –  тэмдэгт %5c  эсвэл  %- 5 c  %d  –  бүхэл ,  %u  –  эерэг бүхэл . %f  –  бодит   %5.2c  эсвэл  %- 5 .3c  %e  –  арвын зэрэгт ашиглан дүрслэх   %g  –%f  ба  %e  –г хослуулах %lf  –  давхар нарийвчлал %%  -  ‘ % ’  тэмдэгт хэвлэх  (printf)   /* printf  –н тусламжаар харж болно  hevjhev.cpp*/
Дахиад өмнөх жишээ /*  см-г инчэд хөрвүүлэх програм  */ #include <stdio.h> int main() { double cm, inches; printf(&quot;Please enter length in centimeters: &quot;); scanf(&quot;%lf&quot;,&cm); inches = cm / 2.54; printf(&quot;This is equal to %g inches\n&quot;, inches); return 0; }
Дасгал Дараах програм бич - Долларын ханш өгөгднө   Бүхэл тооны доллар танд байгаа гаралт  - Харгалзах мөнгөний хэмжээг гаргах
Бодолт   #include <stdio.h> int main() { double turgeg, xchange; int dollars; printf(&quot;Enter the US$-bank exchange rate: &quot;); scanf(&quot;%lf&quot;, &xchange); printf(&quot;Enter the amount of dollars: &quot;); scanf(&quot;%d&quot;, &dollars); shekels = dollars * xchange; printf(&quot;%d dollars = %g tugreg\n&quot;, dollars, tugreg); return 0; }
int   төрөл Хамгийн энгийн төрөл маш их хэрэглэгддэг . /-2,147,483,648  аас  2,147,483,647/   32  битийн хувьд харин 16 битэд  /-32768  аас  32767/ хооронд байна . Хэрэв санах ойг хэмнэхийг хүсвэл  char   эсвэл   short  -г хэрэглэж болно . Хэрэв маш том тоо хэрэг болвол  long  хэрэглэ . Бусад үед  int  –г хэрэглэ .
double   төрөл Хамгийн их хэрэглэгддэг бодит төрөл . 1.797*10 -308  – 1.79769*10 308   хооронд байна Хэрэв санах ой хугацаа хэмнэе гэвэл   float   –г хэрэглэ ( энэ нь   3.402*10 -38  – 3.40282*10 38   хооронд байна ) Бусад үед   double -г хэрэглэ .
Char  нь мөн тоо ! char   хувьсагч нь текст тэмдэгтийг хадгалахад хэрэглэгдэнэ : Үсэг . цифр . Гарны тэмдэгт . Үл хэвлэгдэх тэмдэгт . эсвэл  (0  аас  255  эсвэл  -128  аас  127)  хүртлэх бага тоо .
Тэмдэг үү тоо юу? Тэмдэг бүр тоон кодтой байна . Янз бүрийн код байна : ASCII ( A merican  S tandard  C ode for  I nformation  I nterchange) –  өргөн хэрэглэгддэг . ASCII  кодыг бид хэрэглэнэ
ASCII  хүснэгт
char  ба  number  жишээ #include <stdio.h> int main() { char i = 'b'; printf(&quot;i as a character is %c\n&quot;, i); printf(&quot;i as an integer is %d\n&quot;, i); printf(&quot;The character after %c is %c\n&quot;,    i, i + 1); return 0; }
Дахин жишээ /* abc  дэхь үсгийн байрлал ол  */ #include <stdio.h> int main() { char letter; printf(&quot;Please enter a lowercase letter\n&quot;); scanf(&quot;%c&quot;, &letter); printf(&quot;The position of this letter in the abc is %d\n&quot;,    letter - 'a' + 1); return 0; }
Дасгал Жижиг үсгийг харгалзах том үсгэ болгох програм бич ( Жн .,  ‘g’   ---   ‘G’)
Бодолт /*  жижиг үсгийг том үсэг болгох  */ #include <stdio.h> int main() { char letter; printf(&quot;Please enter a lowercase letter\n&quot;); scanf(&quot;%c&quot;, &letter); printf(&quot;This letter in uppercase is %c\n&quot;,    letter - 'a' + 'A'); return 0; }
Арифметик үйлдэл Үйлдэлүүд нь програмд чухал үүрэгтэй . Үйлдэлд оролцогчийг операнд гэдэг . Нийтлэг үйлдэл : Утга оноох   = нэмэх   + хасах   -   үржих   * хуваах   /   Үлдэгдэлтэй хуваах   %
Жишээ Цифр салгагч digits.c
int main() { int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 1350 num sum 5198 Дурын утга байна / хог /
int main() { int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 1350 num sum 5198
int main() { int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 1350 num sum 0
int main() { int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 1350 num sum 0
int main() { int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 369 num sum 0
int main() { int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 369 num sum 0
int main() { int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 369 num sum 9
int main() { int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 369 num sum 9
int main() { int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 36 num sum 9
Хэрхэн ажилладаг вэ? /*extract the second digit*/ sum = sum + num % 10; num = num / 10; /*extract the third digit*/ sum = sum + num % 10; printf(&quot;The digits sum is %d\n&quot;, sum); return 0; } 36 num sum 9
Хэрхэн ажилладаг вэ? /*extract the second digit*/ sum = sum + num % 10; num = num / 10; /*extract the third digit*/ sum = sum + num % 10; printf(&quot;The digits sum is %d\n&quot;, sum); return 0; } 36 num sum 15
Хэрхэн ажилладаг вэ? /*extract the second digit*/ sum = sum + num % 10; num = num / 10; /*extract the third digit*/ sum = sum + num % 10; printf(&quot;The digits sum is %d\n&quot;, sum); return 0; } 36 num sum 15
Хэрхэн ажилладаг вэ? /*extract the second digit*/ sum = sum + num % 10; num = num / 10; /*extract the third digit*/ sum = sum + num % 10; printf(&quot;The digits sum is %d\n&quot;, sum); return 0; } 3 num sum 15
Хэрхэн ажилладаг вэ? /*extract the second digit*/ sum = sum + num % 10; num = num / 10; /*extract the third digit*/ sum = sum + num % 10; printf(&quot;The digits sum is %d\n&quot;, sum); return 0; } 3 num sum 15
Хэрхэн ажилладаг вэ? /*extract the second digit*/ sum = sum + num % 10; num = num / 10; /*extract the third digit*/ sum = sum + num % 10; printf(&quot;The digits sum is %d\n&quot;, sum); return 0; } 3 num sum 18
Ялгаатай төрлүүдийн хооронд үйлдэл хийвэл дараах байдлаар төрөл хувирна  (int ->  float -> double). Ижил бол тэр төрөлдөө л байна . Ялгаатай төрлүүдийн хувьд
Жишээ  - 3 + 4 = 7 3.0 + 4 = 7.0 3 / 4 =  0   !!! 3.0 / 4 = 0.75 Ялгаатай төрлүүдийн хувьд
Зарим үед шууд өөр төрөл болгох шаардлага гарна Үүнийг хувьсагч  cast  хийж шинэ төрөл гаргах гэдэг . Хэлбэр нь :  (type) Жишээ нь ,  (float)i   гэж  i   -г   float  болгож байна . Ялгаатай төрлүүдийн хувьд
#include <stdio.h> int main() { int a=1, b=2; printf(&quot;%d / %d = %d\n&quot;, a, b, a/b); printf(&quot;%d / %d = %g\n&quot;, a, b, (float)a / b); } Casting  хийх
Энд юу буруу байна вэ? #include <stdio.h> int main() { int a = 10; int b = 20; printf(&quot;The average of %d and %d is %d\n&quot;,    a, b, (a + b) * (1 / 2)); return 0; }
Энэ ажиллах уу ? #include <stdio.h> int main() { int a = 10; int b = 20; printf (&quot;The average of %d and %d is %d\n&quot;,    a, b, (a + b)*(1.0 / 2)); return 0; }
Overflow - орон халих жишээ #include <stdio.h> int main() { int iA = 1000; int iB = 1000000; int iC = 3000000; int iD = 5000000; printf (&quot;%d * %d = %d\n&quot;, iA, iB, iA*iB); printf (&quot;%d * %d = %d\n&quot;, iA, iC, iA*iC); printf (&quot;%d * %d = %u\n&quot;, iA, iC, iA*iC); printf (&quot;%d * %d = %d\n&quot;, iA, iD, iA*iD); return 0; }

C lects (1)

  • 1.
    Хувьсагч гэж юувэ ? Компьютерийн санах ойн нэрлэгдсэн муж тэр нь янз бүрийн төрлийн утгыг агуулна ( бүхэл, бодит гэх мэт .) Програм ажиллах үеийн өгөгдлийг хадгална Програмын хаана ч өгөгдлийг хадгалахдаа ашиглаж болно Үнэндээ өгөгдлийг боловсруулахад тусална
  • 2.
    Санах ой дахьхувьсагч int my_int = 5;/*identifier*/ double my_double = 3.5; 5 3.5 my_int my_double
  • 3.
    Санах ой дахьхувьсагч my_int -р түүний утгыг уншихаар дуудаж болно &variable_name , гэвэл тухайн хувьсагчийн хаяг болно 5 3.5 my_int my_double
  • 4.
    /* cm -г инчэд хөрвүүлэх програм */ #include <stdio.h> int main() { double cm, inches; printf(&quot;Please enter length in centimeters: &quot;); scanf(&quot;%lf&quot;, &cm); inches = cm / 2.54; printf(&quot;This is equal to %g inches\n&quot;, inches); return 0; } Example
  • 5.
    Жишээ : хувьсагчийн зарлалт int i; char c; float f1, f2; float f1=7.0, f2 = 5.2; unsigned int ui = 0;
  • 6.
    Хувьсагчид нэр оноохЛатин үсэг , цифр , доогуур зураас i CSE_5a a_very_long_name_that_isnt_very_useful fahrenheit Эхнийх цифр байж болохгүй 5a_CSE энэ нь буруу ! Том жижиг үсэг ялгаатай CSE_5a энэ нь cse_5a үүнээс ялгаатай
  • 7.
    C –нтөрөл char – нэг байт тэмдэгт . int – бүхэл тоо – 2 байт . float – дан нарийвчлалтай бодит тоо – 4 байт . double – давхар нарийвлчлалтай бодит тоо – 8 байт . char int float double
  • 8.
    C төрөлshort int ( эсвэл short ) – бүхэл тоо , 2 байт . long int ( эсвэл long ) – бүхэл тоо , 4 эсвэл 8 байт . long double – давхар нарийвлчлалтай бодит тоо –8 байт . unsigned ба signed int , char , long , short өмнө хэрэглэнэ. Тухайн хувьсагчийг илүү тодорхой болгож өгнө. Эерэг юмуу, эерэг ч сөрөг ч юмуу гэдгийг тодруулж өгдөг.
  • 9.
    Жишээ /* см-г инчэд хөрвүүлэх */ #include <stdio.h> int main() { double cm, inches; printf(&quot;Please enter length in centimeters: &quot;); scanf(&quot;%lf&quot;, &cm); inches = cm / 2.54; printf(&quot;This is equal to %g inches\n&quot;, inches); return 0; }
  • 10.
    printf ба scanf printf – дэлгэцэнд хэвлэгч . Хувьсагчид хандаж түүний утгыг хэвлэж чадна . scanf – стандарт оролтоос утгыг авч хувьсагчид онооно .
  • 11.
    printf хувьсагчийнутгыг хэвлэж чадна printf(&quot;z= %d \n&quot;, z); %d энэ тусгай тэмдэг ба хэвлэгдэхгүй ! printf хэвлэхээр бичсэн мөрийн арын integer хувьсагчийн утгыг энд хэвлэнэ гэдгийг хэлж байна.
  • 12.
    scanf хэрэглэгчийнөгөгдлийг авна scanf(&quot;%lf&quot;, &cm); Хэрэглэгч давхар бодитыг оруулахыг хүлээнэ , тэгээд авсан утгаа ‘ cm ’ -д онооно . Хэрэв хоёр утга авахаар бол , – scanf(&quot;%lf%lf&quot;, &var1, &var2);
  • 13.
    prinft/scanf кодхувиргагчид %< хувиргах код > printf/scanf –н тэмдэгт мөрөнд харгалзах төрлийн хувьсагчруу код хувиргана . %c – тэмдэгт %5c эсвэл %- 5 c %d – бүхэл , %u – эерэг бүхэл . %f – бодит %5.2c эсвэл %- 5 .3c %e – арвын зэрэгт ашиглан дүрслэх %g –%f ба %e –г хослуулах %lf – давхар нарийвчлал %% - ‘ % ’ тэмдэгт хэвлэх (printf) /* printf –н тусламжаар харж болно hevjhev.cpp*/
  • 14.
    Дахиад өмнөх жишээ/* см-г инчэд хөрвүүлэх програм */ #include <stdio.h> int main() { double cm, inches; printf(&quot;Please enter length in centimeters: &quot;); scanf(&quot;%lf&quot;,&cm); inches = cm / 2.54; printf(&quot;This is equal to %g inches\n&quot;, inches); return 0; }
  • 15.
    Дасгал Дараах програмбич - Долларын ханш өгөгднө Бүхэл тооны доллар танд байгаа гаралт - Харгалзах мөнгөний хэмжээг гаргах
  • 16.
    Бодолт #include <stdio.h> int main() { double turgeg, xchange; int dollars; printf(&quot;Enter the US$-bank exchange rate: &quot;); scanf(&quot;%lf&quot;, &xchange); printf(&quot;Enter the amount of dollars: &quot;); scanf(&quot;%d&quot;, &dollars); shekels = dollars * xchange; printf(&quot;%d dollars = %g tugreg\n&quot;, dollars, tugreg); return 0; }
  • 17.
    int төрөл Хамгийн энгийн төрөл маш их хэрэглэгддэг . /-2,147,483,648 аас 2,147,483,647/ 32 битийн хувьд харин 16 битэд /-32768 аас 32767/ хооронд байна . Хэрэв санах ойг хэмнэхийг хүсвэл char эсвэл short -г хэрэглэж болно . Хэрэв маш том тоо хэрэг болвол long хэрэглэ . Бусад үед int –г хэрэглэ .
  • 18.
    double төрөл Хамгийн их хэрэглэгддэг бодит төрөл . 1.797*10 -308 – 1.79769*10 308 хооронд байна Хэрэв санах ой хугацаа хэмнэе гэвэл float –г хэрэглэ ( энэ нь 3.402*10 -38 – 3.40282*10 38 хооронд байна ) Бусад үед double -г хэрэглэ .
  • 19.
    Char ньмөн тоо ! char хувьсагч нь текст тэмдэгтийг хадгалахад хэрэглэгдэнэ : Үсэг . цифр . Гарны тэмдэгт . Үл хэвлэгдэх тэмдэгт . эсвэл (0 аас 255 эсвэл -128 аас 127) хүртлэх бага тоо .
  • 20.
    Тэмдэг үү тооюу? Тэмдэг бүр тоон кодтой байна . Янз бүрийн код байна : ASCII ( A merican S tandard C ode for I nformation I nterchange) – өргөн хэрэглэгддэг . ASCII кодыг бид хэрэглэнэ
  • 21.
  • 22.
    char ба number жишээ #include <stdio.h> int main() { char i = 'b'; printf(&quot;i as a character is %c\n&quot;, i); printf(&quot;i as an integer is %d\n&quot;, i); printf(&quot;The character after %c is %c\n&quot;, i, i + 1); return 0; }
  • 23.
    Дахин жишээ /*abc дэхь үсгийн байрлал ол */ #include <stdio.h> int main() { char letter; printf(&quot;Please enter a lowercase letter\n&quot;); scanf(&quot;%c&quot;, &letter); printf(&quot;The position of this letter in the abc is %d\n&quot;, letter - 'a' + 1); return 0; }
  • 24.
    Дасгал Жижиг үсгийгхаргалзах том үсгэ болгох програм бич ( Жн ., ‘g’ ---  ‘G’)
  • 25.
    Бодолт /* жижиг үсгийг том үсэг болгох */ #include <stdio.h> int main() { char letter; printf(&quot;Please enter a lowercase letter\n&quot;); scanf(&quot;%c&quot;, &letter); printf(&quot;This letter in uppercase is %c\n&quot;, letter - 'a' + 'A'); return 0; }
  • 26.
    Арифметик үйлдэл Үйлдэлүүднь програмд чухал үүрэгтэй . Үйлдэлд оролцогчийг операнд гэдэг . Нийтлэг үйлдэл : Утга оноох = нэмэх + хасах - үржих * хуваах / Үлдэгдэлтэй хуваах %
  • 27.
  • 28.
    int main() {int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 1350 num sum 5198 Дурын утга байна / хог /
  • 29.
    int main() {int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 1350 num sum 5198
  • 30.
    int main() {int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 1350 num sum 0
  • 31.
    int main() {int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 1350 num sum 0
  • 32.
    int main() {int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 369 num sum 0
  • 33.
    int main() {int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 369 num sum 0
  • 34.
    int main() {int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 369 num sum 9
  • 35.
    int main() {int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 369 num sum 9
  • 36.
    int main() {int sum, num; sum = 0; printf(&quot;Enter 3-digits number\n&quot;); scanf(&quot;%d&quot;, &num); /*extract the first digit*/ sum = sum + num % 10; num = num / 10; Хэрхэн ажилладаг вэ? 36 num sum 9
  • 37.
    Хэрхэн ажилладаг вэ?/*extract the second digit*/ sum = sum + num % 10; num = num / 10; /*extract the third digit*/ sum = sum + num % 10; printf(&quot;The digits sum is %d\n&quot;, sum); return 0; } 36 num sum 9
  • 38.
    Хэрхэн ажилладаг вэ?/*extract the second digit*/ sum = sum + num % 10; num = num / 10; /*extract the third digit*/ sum = sum + num % 10; printf(&quot;The digits sum is %d\n&quot;, sum); return 0; } 36 num sum 15
  • 39.
    Хэрхэн ажилладаг вэ?/*extract the second digit*/ sum = sum + num % 10; num = num / 10; /*extract the third digit*/ sum = sum + num % 10; printf(&quot;The digits sum is %d\n&quot;, sum); return 0; } 36 num sum 15
  • 40.
    Хэрхэн ажилладаг вэ?/*extract the second digit*/ sum = sum + num % 10; num = num / 10; /*extract the third digit*/ sum = sum + num % 10; printf(&quot;The digits sum is %d\n&quot;, sum); return 0; } 3 num sum 15
  • 41.
    Хэрхэн ажилладаг вэ?/*extract the second digit*/ sum = sum + num % 10; num = num / 10; /*extract the third digit*/ sum = sum + num % 10; printf(&quot;The digits sum is %d\n&quot;, sum); return 0; } 3 num sum 15
  • 42.
    Хэрхэн ажилладаг вэ?/*extract the second digit*/ sum = sum + num % 10; num = num / 10; /*extract the third digit*/ sum = sum + num % 10; printf(&quot;The digits sum is %d\n&quot;, sum); return 0; } 3 num sum 18
  • 43.
    Ялгаатай төрлүүдийн хоорондүйлдэл хийвэл дараах байдлаар төрөл хувирна (int -> float -> double). Ижил бол тэр төрөлдөө л байна . Ялгаатай төрлүүдийн хувьд
  • 44.
    Жишээ -3 + 4 = 7 3.0 + 4 = 7.0 3 / 4 = 0 !!! 3.0 / 4 = 0.75 Ялгаатай төрлүүдийн хувьд
  • 45.
    Зарим үед шуудөөр төрөл болгох шаардлага гарна Үүнийг хувьсагч cast хийж шинэ төрөл гаргах гэдэг . Хэлбэр нь : (type) Жишээ нь , (float)i гэж i -г float болгож байна . Ялгаатай төрлүүдийн хувьд
  • 46.
    #include <stdio.h> intmain() { int a=1, b=2; printf(&quot;%d / %d = %d\n&quot;, a, b, a/b); printf(&quot;%d / %d = %g\n&quot;, a, b, (float)a / b); } Casting хийх
  • 47.
    Энд юу буруубайна вэ? #include <stdio.h> int main() { int a = 10; int b = 20; printf(&quot;The average of %d and %d is %d\n&quot;, a, b, (a + b) * (1 / 2)); return 0; }
  • 48.
    Энэ ажиллах уу? #include <stdio.h> int main() { int a = 10; int b = 20; printf (&quot;The average of %d and %d is %d\n&quot;, a, b, (a + b)*(1.0 / 2)); return 0; }
  • 49.
    Overflow - оронхалих жишээ #include <stdio.h> int main() { int iA = 1000; int iB = 1000000; int iC = 3000000; int iD = 5000000; printf (&quot;%d * %d = %d\n&quot;, iA, iB, iA*iB); printf (&quot;%d * %d = %d\n&quot;, iA, iC, iA*iC); printf (&quot;%d * %d = %u\n&quot;, iA, iC, iA*iC); printf (&quot;%d * %d = %d\n&quot;, iA, iD, iA*iD); return 0; }