1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Nhập môn lập trình: Cấu trúc điều khiển - Trần Phước Tuấn

13 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 264,93 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong bài này sẽ giới thiệu đến người học một số cấu trúc điều khiển như: Lệnh rẽ nhánh if-else, lệnh rẽ nhiều nhánh switch, vòng lặp while-do white-for, các từ khóa break và continue. Mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.

Trang 1

tranphuoctuan.khoatoan.dhsp@gmail.com http://baigiang.tranphuoctuan.com

L nh r nhánh: if else

L nh r nhi u nhánh: switch

Vòng l p: while, do while, for

Các t khóa: break continue

Trang 2

NH P MÔN L P TRÌNH 12/23/2009 3

Cú pháp:

if ( i u ki n)

S;

i u ki n: bi u th c cho k t qu S ; ph i

c t gi a c p ngo c n ()

S ph i là 1 câu l nh, n u nhi u h n 1 l nh, các

l nh ph i c t gi a c p ngo c nh n {} –

kh i l nh.

scanf("%i %i", &a, &b);

max = a;

if(b > max) max = b;

printf(“So lon la: %i\n“, max);

scanf("%i %i", &a, &b);

max = a;

if(b > max) max = b;

printf(“So lon la: %i\n“, max);

i u

ki n

S

0 0

u ý

N u t d u ch m ph y (;) ngay sau bi u th c i u ki n thì l nh S c a if xem nh “KHÔNG LÀM GÌ”

printf(“Nhap mot so nguyen: ");

scanf("%i", &j);

if(j > 0);

printf(“%i la so duong“, j);

printf(“Nhap mot so nguyen: ");

scanf("%i", &j);

if(j > 0) ;

printf(“%i la so duong“, j);

Nhap mot so nguyen: -6 -6 là so duong

Nhap mot so nguyen: -6

-6 là so duong

Trang 3

NH P MÔN L P TRÌNH 12/23/2009 5

Cú pháp:

if ( i u ki n)

S;

else Se;

Ph n l nh else có th thêm vào trong câu l nh

if ch th các l nh th c hi n khi i u ki n

b ng 0 (FALSE).

scanf("%i %i", &a, &b);

if(a > b) max = a;

else max = b;

printf(“So lon la: %i\n“, max);

scanf("%i %i", &a, &b);

if(a > b) max = a;

else max = b;

printf(“So lon la: %i\n“, max);

i u

ki n

S

0

0 S e

else k t n i v i l nh if g n nh t

int i = 100;

if(i > 0) if(i > 1000)

printf("i qua lon\n");

else

printf("i chap nhan duoc\n");

int i = 100;

if(i > 0) if(i > 1000)

printf("i qua lon\n");

else

printf("i chap nhan duoc\n");

i chap nhan duoc

int i = -20;

if(i > 0) { if(i > 1000)

printf("i qua lon\n");

} else printf("i la so am\n");

int i = -20;

if(i > 0) { if(i > 1000)

printf("i qua lon\n");

} else printf("i la so am\n");

i la so am

Trang 4

NH P MÔN L P TRÌNH 12/23/2009 7

Cú pháp:

switch (bi u th c) {

case gt 1 : S 1 ; [break;]

case gt 2 : S 2 ; [break;]

case gt n : S n ; [break;]

default : S e ; }

Bi u th c: cho k t qu S NGUYÊN; ph i c t gi a c p ngo c n ()

S i : dãy các l nh.

switch(c) { case 'a': case 'A':

printf(“Dien tich = %.2f\n", r * r * pi); break;

case 'c': case 'C':

printf(“Chu vi = %.2f\n", 2 * r * pi);

break;

case 'q':

printf(“Thoat\n");

break;

default:

printf(“Chon khong hop le\n");

}

printf(“Dien tich = %.2f\n", r * r * pi);

printf(“Chu vi = %.2f\n", 2 * r * pi);

printf(“Thoat\n");

printf(“Chon khong hop le\n");

}

Trang 5

NH P MÔN L P TRÌNH 12/23/2009 9

N u không có giá tr nào kh p, các l nh trong ph n

default s c th c thi; và n u không có default

c ng không x y ra l i.

L nh break r t quan tr ng.

float f;

switch(f) { case 2:

float f;

switch(f) {

case 2:

switch(i) {

case 2 * j:

switch(i) {

case 2 * j:

i = 3;

switch(i) {

}

i = 3;

switch(i) { case 3: printf("i = 3\n"); case 2: printf("i = 2\n"); case 1: printf("i = 1\n"); }

i = 3

i = 2

i = 1

i = 3

i = 2

i = 1

S 1 ; break;

gt 1

S 2 ; break;

S e ;

gt 2

default

Trang 6

NH P MÔN L P TRÌNH 12/23/2009 11

//Doan chuong trinh doc so 0 9 switch(so) {

}

//Doan chuong trinh doc so 0 9

switch (so) {

case 0: printf(“khong\n");

case 1: printf(“mot\n");

case 2: printf(“hai\n");

case 3: printf(“ba");

case 4: printf(“bon");

case 5: printf(“nam");

case 6: printf(“sau");

case 7: printf(“bay");

case 8: printf(“tam");

case 9: printf(“chin");

}

Cú pháp: while ( i u ki n)

S;

i u ki n: bi u th c cho k t qu S ;

ph i c t gi a c p ngo c n ()

S ph i là 1 câu l nh, n u nhi u h n 1

l nh, các l nh ph i c t gi a c p ngo c nh n {} – kh i l nh.

int j = 5;

while(j > 0) printf("j = %i\n", j );

int j = 5;

while(j > 0) printf("j = %i\n", j );

j = 5

j = 4

j = 3

j = 2

j = 1

j = 5

j = 4

j = 3

j = 2

j = 1

while(j > 0) { printf("j = %i\n", j);

j ;

}

while(j > 0) { printf("j = %i\n", j);

j ;

}

while th c hi n l nh S ít nh t 0 l n

i u

ki n

S

0 0

Trang 7

NH P MÔN L P TRÌNH 12/23/2009 13

D u ‘;’ t ngay sau bi u th c i u ki n ng ngh a v i l nh

S là r ng.

int j = 5;

while(j > 0);

printf("j = %i\n", j );

int j = 5;

while(j > 0);

printf("j = %i\n", j );

Ch ong trình b p không thoát c

ôi khi ng i l p trình c ý s d ng l nh r ng

int c, j;

while(scanf("%i", &j) != 1)

while((c = getch()) != 27)

;

int c, j;

while(scanf("%i", &j) != 1)

while((c = getch()) != 27)

;

t d u ‘;’

t thúc while không có S

Cú pháp:

do {

S;

}while ( i u ki n);

i u ki n: bi u th c cho k t qu S ; ph i

c t gi a c p ngo c n ()

i u

ki n

S

0 0

Trang 8

NH P MÔN L P TRÌNH 12/23/2009 15

int j = 5;

printf("start\n");

do printf("j = %i\n", j );

while(j > 0);

printf("stop\n");

int j = 5;

printf("start\n");

do printf("j = %i\n", j );

while(j > 0);

printf("stop\n");

start

j = 5

j = 4

j = 3

j = 2

j = 1 stop

start

j = 5

j = 4

j = 3

j = 2

j = 1 stop

do while th c hi n l nh S ít nh t 1 l n

int j = -10;

printf("start\n");

do { printf("j = %i\n", j);

j ;

} while(j > 0);

printf("stop\n");

int j = -10;

printf("start\n");

do { printf("j = %i\n", j);

j ;

} while(j > 0);

printf("stop\n");

start

j = -10 stop

start

j = -10 stop

Trang 9

NH P MÔN L P TRÌNH 12/23/2009 17

L nh l p for d n h t các thành ph n c a vòng l p v ào trong

m t câu l nh.

Cú pháp:

for (kh i ng; i u ki n l p; i u khi n)

S;

i u

ki n 0

0

kh i

i u khi n

int j;

for(j = 5; j > 0; j ) printf("j = %i\n", j);

int j;

for(j = 5; j > 0; j ) printf("j = %i\n", j);

j = 5

j = 4

j = 3

j = 2

j = 1

j = 5

j = 4

j = 3

j = 2

j = 1

for(j = 5; j > 0; j ) {

printf("j = %i ", j);

printf("%s\n", ((j%2)==0)?“chan":“le");

}

for(j = 5; j > 0; j ) {

printf("j = %i ", j);

printf("%s\n", ((j%2)==0)?“chan":“le");

}

j = 5 le

j = 4 chan

j = 3 le

j = 2 chan

j = 1 le

j = 5 le

j = 4 chan

j = 3 le

j = 2 chan

j = 1 le

Trang 10

NH P MÔN L P TRÌNH 12/23/2009 19

C không gi i h n l n c a b c l p trong for.

#include <math.h>

int main(void)

{

double angle;

for(angle = 0.0; angle < 3.14159; angle += 0.2)

printf("sine of %.1lf is %.2lf\n",

angle, sin(angle));

return 0;

}

#include <math.h>

int main(void)

{

double angle;

for(angle = 0.0; angle < 3.14159; angle += 0.2 )

printf("sine of %.1lf is %.2lf\n",

angle, sin(angle));

return 0;

}

Ph n l nh kh i ng và l nh i u khi n có th g m nhi u

l nh n gi n, các l nh này cách nhau b i d u ph y (,)

int i, j, k;

for(i = 0, j = 5, k = -1; i < 10; i++, j++, k )

int i, j, k;

for(i = 0, j = 5, k = -1; i < 10; i++, j++, k )

th không có l nh nào.

for(; i < 10; i++, j++, k )

for(;i < 10;) for(;;)

Dùng while s p

lý h n Vòng l p không k t thúc

Trang 11

NH P MÔN L P TRÌNH 12/23/2009 21

break

T khóa break ch th vi c thoát ngay l p t c kh i c u trúc i u khi n.

C n th n khi s d ng!

for(;;) {

printf(“nhap m t so nguyen: ");

if(scanf("%i", &j) == 1)

break;

printf(“khong hop le, nhap lai\n“

}

printf(“j = %i\n", j);

for(;;) {

printf(“nhap m t so nguyen: ");

if(scanf("%i", &j) == 1)

printf(“khong hop le, nhap lai\n“

}

printf(“j = %i\n", j); nhap mot so nguyen : int

khong hop le, nhap lai nhap mot so nguyen: 16

j = 16

nhap mot so nguyen : int khong hop le, nhap lai nhap mot so nguyen: 16

j = 16

kh i vòng l p for

continue

T khóa continue ch th c nhanh n b c l p k ,

b t k phía sau ó còn nhi u l nh c n l p.

H n ch s d ng!

for(j = 1; j <= 10; j++) { if(j % 3 == 0)

continue;

printf("j = %i\n", j);

}

for(j = 1; j <= 10; j++) { if(j % 3 == 0)

continue;

printf("j = %i\n", j);

}

j = 1

j = 2

j = 4

j = 5

j = 7

j = 8

j = 10

j = 1

j = 2

j = 4

j = 5

j = 7

j = 8

j = 10

u j chia h t cho 3 thì b qua l nh in j

Trang 12

NH P MÔN L P TRÌNH 12/23/2009 23

if else : r nhánh switch r nhi u nhánh v i i u ki n là giá tr

c a bi u th c nguyên while , do while , for – 3 lo i vòng l p c a C break

continue

1. Nh p a, b, c Tìm max Phát tri n nhi u s

2. Gi i ph i ph ng tr ng tr ình ax+b=0

3. Gi i ph i ph ng tr ng tr ình ax 2 +bx+c=0

4. Gi i h ph ph ng tr ng tr ình: a 1 x+b 1 y=c 1

a 2 x+b 2 y=c 2

5. Nh p vào i m trung bình, hãy x p lo i h c t p

6. Tính ti n i n (nh p vào s kw)

7. D ng tam giác (nh p các c nh a, b,c )

8. Nh p vào 1 tháng, cho bi t tháng này thu c quý m y?

9. Vi t ch t ch ng tr ng tr ình nh p vào tháng, in ra s ngày c a nó

10. Vi t ch t ch ng tr ng tr ình nh p vào 2 s x, y và 1 trong 4 toán t +, -,

*, / Sau ó th c hi n phép tính (n u y = 0 thì thông báo

Trang 13

NH P MÔN L P TRÌNH 12/23/2009 25

3 S = 1 2 +2 2 + … + n 2

4 Tính s h ng th n c a dãy fibonaci (f 0 =f 1 =1, f n =f n-1 +f n-2 )

12 Phân tích n thành tích các th a s nguyên t

7 M t s bài t p

Ngày đăng: 11/05/2021, 03:48

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm