c lects (2)

35
Statements оператор эсвэл коммандууд Сонголтын комманд: if switch

Upload: mongoo

Post on 19-May-2015

1.070 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: C lects (2)

Statements оператор эсвэл коммандууд

Сонголтын комманд: if switch

Page 2: C lects (2)

Сонголт : if

Нөхцлөөс хамааруулан биелүүлнэ. if (expression)

statement

Хэрэв expression үнэн бол, statement биелнэ (үнэн гэж юу вэ?).

statement нь олон зааврууд байж болно тэгвэл { } хаалтыг ашиглана.

Page 3: C lects (2)

Жишээ

/* Өгөгдсөн тооны абсолютыг олно */#include <stdio.h>

int main(){

double num;

printf("Please enter a real number: ");scanf("%lf", &num);if (num<0)

num = -num;

printf("The absolute value is %g\n", num);

return 0;}

Page 4: C lects (2)

if-else statement

if (expression)

statement1 else

statement2

Хэрэв expression үнэн бол statement1 биелнэ. Хэрэв expression худал бол statement2 биелнэ Аль алинд нь олон стэйтмэнт байж болно

Page 5: C lects (2)

Жишээний хэсэг

int first, second, min;/* … */if (first < second) { min = first; printf ("The first number is smaller than the second.\n");} else { min = second; printf ("The second number is smaller than the first\n");}

printf("The smaller number is equal to %d\n", min);

Page 6: C lects (2)

True эсвэл false

C -д, илэрхийлэл бүр numeric буюу тоон утгатай байдаг.

‘true’ гэдэг нь тэг биш тоо гэсэн үг ‘false’ нь тэг гэсэн утга

Page 7: C lects (2)

Харьцуулах үйлдэл

A == B (A = B үүнээс маш их ялгаатай шүү!!!!!)

A != B A < B A > B A <= B A >= B

Page 8: C lects (2)

Жишээint a, b;

printf("Enter two numbers\n");scanf("%d%d", &a, &b);

if (a == b){

printf("The numbers equal %d\n", a);printf("The expression a == b is %d\n", a ==

b);}else{

printf("The numbers are not equal\n");printf("The expression a == b is %d\n", a ==

b);}

Page 9: C lects (2)

Утга оноох =

Энэ нь мөн үйлдэл мөн. Жишээ нь:

(x = 4) (y = 0)

Page 10: C lects (2)

Нийтлэг алдаа

Дараах хоёрыг андуурч үл болно: if (x==4) … if (x=4) …

C –н хөрвүүлэгч ийм алдаа хийснийг хэлж үл чадна!

Page 11: C lects (2)

Жишээ

/*Утга оноох ба харьцуулах үйлдлийн хоорондын ялгаа. */

#include <stdio.h>

int main(){

int i = 2;

printf("i = %d\n", i);printf("(i==4) = %d\n", i==4);printf("i = %d\n", i);printf("(i=4) = %d\n", i=4);printf("i = %d\n", i);

}

Page 12: C lects (2)

Жишээ

/*Утга оноох ба харьцуулах үйлдлийн хоорондын ялгаа. */

#include <stdio.h>

int main(){

int i = 2;

printf("i = %d\n", i);printf("(i==4) = %d\n", i==4);printf("i = %d\n", i);printf("(i=4) = %d\n", i=4);printf("i = %d\n", i);

}

Page 13: C lects (2)

Жишээ

/*Утга оноох ба харьцуулах үйлдлийн хоорондын ялгаа. */

#include <stdio.h>

int main(){

int i = 2;

printf("i = %d\n", i);printf("(i==4) = %d\n", i==4);printf("i = %d\n", i);printf("(i=4) = %d\n", i=4);printf("i = %d\n", i);

}

i= 2

Page 14: C lects (2)

Жишээ

/*Утга оноох ба харьцуулах үйлдлийн хоорондын ялгаа. */

#include <stdio.h>

int main(){

int i = 2;

printf("i = %d\n", i);printf("(i==4) = %d\n", i==4);printf("i = %d\n", i);printf("(i=4) = %d\n", i=4);printf("i = %d\n", i);

}

Page 15: C lects (2)

Жишээ

/*Утга оноох ба харьцуулах үйлдлийн хоорондын ялгаа. */

#include <stdio.h>

int main(){

int i = 2;

printf("i = %d\n", i);printf("(i==4) = %d\n", i==4);printf("i = %d\n", i);printf("(i=4) = %d\n", i=4);printf("i = %d\n", i);

}

(i==4) = 0

Page 16: C lects (2)

Жишээ

/*Утга оноох ба харьцуулах үйлдлийн хоорондын ялгаа. */

#include <stdio.h>

int main(){

int i = 2;

printf("i = %d\n", i);printf("(i==4) = %d\n", i==4);printf("i = %d\n", i);printf("(i=4) = %d\n", i=4);printf("i = %d\n", i);

}

Page 17: C lects (2)

Жишээ

/*Утга оноох ба харьцуулах үйлдлийн хоорондын ялгаа. */

#include <stdio.h>

int main(){

int i = 2;

printf("i = %d\n", i);printf("(i==4) = %d\n", i==4);printf("i = %d\n", i);printf("(i=4) = %d\n", i=4);printf("i = %d\n", i);

}

i= 2

Page 18: C lects (2)

Жишээ

/*Утга оноох ба харьцуулах үйлдлийн хоорондын ялгаа. */

#include <stdio.h>

int main(){

int i = 2;

printf("i = %d\n", i);printf("(i==4) = %d\n", i==4);printf("i = %d\n", i);printf("(i=4) = %d\n", i=4);printf("i = %d\n", i);

}

Page 19: C lects (2)

Жишээ

/*Утга оноох ба харьцуулах үйлдлийн хоорондын ялгаа. */

#include <stdio.h>

int main(){

int i = 2;

printf("i = %d\n", i);printf("(i==4) = %d\n", i==4);printf("i = %d\n", i);printf("(i=4) = %d\n", i=4);printf("i = %d\n", i);

}

(i=4) = 4

Page 20: C lects (2)

Жишээ

/*Утга оноох ба харьцуулах үйлдлийн хоорондын ялгаа. */

#include <stdio.h>

int main(){

int i = 2;

printf("i = %d\n", i);printf("(i==4) = %d\n", i==4);printf("i = %d\n", i);printf("(i=4) = %d\n", i=4);printf("i = %d\n", i);

}

Page 21: C lects (2)

Жишээ

/*Утга оноох ба харьцуулах үйлдлийн хоорондын ялгаа. */

#include <stdio.h>

int main(){

int i = 2;

printf("i = %d\n", i);printf("(i==4) = %d\n", i==4);printf("i = %d\n", i);printf("(i=4) = %d\n", i=4);printf("i = %d\n", i);

}

i= 4

Page 22: C lects (2)

Логик оператор

!A – ‘not’ -үгүйсгэл A && B – ‘and’ – ба, болон, бөгөөд A || B – ‘or’ эсвэл, буюу

Page 23: C lects (2)

Жишээ

#include <stdio.h>

int main(void) {

int grade;

printf("Please enter your grade: ");scanf("%d", &grade);

if (grade < 0 || grade > 100)printf("This is not a valid grade!\n");

elseprintf("This is indeed a grade.\n");

return 0;}

Page 24: C lects (2)

else if

if энэ нь зөвхөн хоёр салаалуулна else-if гэвэл олон салгах

бололцоо олгоно

Page 25: C lects (2)

else if

if (expression)

statement

else if (expression)

statement

else if (expression)

statement

else

statement

Page 26: C lects (2)

Жишээ

if (grade >= 90) printf ("A\n");

else if (grade >= 80) printf ("B\n");

else if (grade >= 70) printf ("C\n");

else if (grade >= 60) printf ("D\n");

else printf ("F\n");

Page 27: C lects (2)

Оролтыг зөв эсэхийг шалгах

Хэрэглэгчийг оруулсан өгөгдлийг зөв эсэхийг шалгах нь маш чухал.

Буруу өгөгдөл оруулбал мэдээллэх хэрэгтэй.

Жишээ –if (grade < 0 || grade > 100){

printf(“Invalid input!\n”);return 1;

}

Page 28: C lects (2)

return keyword

Програмыг дуусгаж үйлдлийн системд мэдээлнэ

Хэрэв амжилттай дуусвал 0 –г буцаана

Энэ үгийн утга дараа илүү тодорхой болно

Page 29: C lects (2)

Дасгал

Оролт English letter

Гаралт Хэрэв жижиг үсэг бол харгалзах том үсгийг Том үсэг бол харгалзах жижиг үсгийг гарга

тайлбар –1. ASCII утга мэдэх шаардлагагүй!!

2. Оролтыг зөв эсэхийг шалга!

Page 30: C lects (2)

Бодолт

#include <stdio.h>

int main( ){

char c;

printf("Please enter an english letter: ");scanf("%c", &c);

if (c <= 'z' && c >= 'a')printf("%c in uppercase is %c\n", c, c-'a'+'A');

else if (c <= 'Z' && c >= 'A')printf("%c in lowercase is %c\n", c, c-'A'+'a');

else{

printf("%c is not an english letter!\n", c);return 1;

}

return 0;}

Page 31: C lects (2)

?: operator

expr1 ? expr2 : expr3 эсвэл:

(expr1)? expr2 : expr3 expr1 нь true (non-zero) бол expr2

биелүүл. Бусад үед expr3 биелүүл

Page 32: C lects (2)

?: operator

#include <stdio.h>

int main(){

int i, j, min;

printf("Please enter two numbers: ");scanf("%d%d", &i, &j);

min = (i < j)? i : j;printf("The minimum between %d and %d is %d\n", i, j, min);

return 0;}

Page 33: C lects (2)

switch statement Олон сонголтын комманд

if-else if-else тэй адил Бүхэл утга ашиглан сонголт хийдэг

switch (expression) {  case const-expr:

statements  case const-expr:

statements  …  default:

statements}

Page 34: C lects (2)

Үнэлгээний жишээ

switch (grade/10) { case 10: case 9:

printf ("A\n"); break;

case 8: printf ("B\n"); break;

case 7: printf ("C\n"); break;

case 6: printf ("D\n"); break;

default: printf ("F\n");

}

Page 35: C lects (2)

break хийнэ үү

switch нь аль нэг case, сонгоод түүнээс цаашхийг биелүүлээд байдаг иймд break хийж энэ байдлаас гарна уу