08-cac cau truc lap trinh trong c
DESCRIPTION
Tin Dai CuongTRANSCRIPT
-
1TRNG I HC BCH KHOA H NIVIN CNG NGH THNG TIN V TRUYN THNG
TIN HC I CNGBi 8. Cc cu trc lp trnh trong C
Ni dung
8.1. Cu trc lnh khi
8.2. Cu trc r nhnh8.2.1. Cu trc if, if else
8.2.2. Cu trc la chn switch
8.3. Cu trc lp8.3.1. Vng lp for
8.3.2. Vng lp while
8.4. Cc lnh thay i cu trc lp trnh8.4.1. continue
8.4.2. break
2
8.1. Cu trc lnh khi
Th hin cu trc tun t Lnh khi l dy cc cu lnh c t trong
cp du ngoc nhn {}{lenh_1;lenh_2;.lenh_n;
}
C cho php khai bo bin trong lnh khi, nhng phn khai bo phi nm trc cu lnh.
3
8.1. Cu trc lnh khi (2)
Lnh khi lng nhau: Trong mt lnh khi c th cha lnh khi khc S lng nhau l khng hn ch{
lenh;{
lenh;...
}
}
4
-
28.1. Cu trc lnh khi (2)
V d:#include
#include
void main()
//Noi dung cua ham main() cung la mot khoi lenh
{
// khai bao bien
int c = 10;
printf(Gia tri cua c = %d day la c ngoai,c);// bat dau mot khoi lenh khac{
int c = 10;printf(\n Gia tri cua c = %d day la c trong,c);printf(\n Tang gia tri cua c them 10 don vi);c = c + 10;printf(\n Gia tri cua c = %d day la c trong,c);
}printf(\n Gia tri cua c = %d day la c ngoai,c);getch();
}// ket thuc khoi lenh cua ham main()
5
8.1. Cu trc lnh khi (2)
Kt qu:
Gia tri cua c = 10 day la c ngoai
Gia tri cua c = 10 day la c trong
Tang gia tri cua c them 10 don vi
Gia tri cua c = 20 day la c trong
Gia tri cua c = 10 day la c ngoai
6
Ni dung
8.1. Cu trc lnh khi
8.2. Cu trc r nhnh 8.2.1. Cu trc if, if else
8.2.2. Cu trc la chn switch
8.3. Cu trc lp 8.3.1. Vng lp for
8.3.2. Vng lp while
8.4. Cc lnh thay i cu trc lp trnh 8.4.1. continue
8.4.2. break
7
Cu trc r nhnh
Nu biu thc iu kin ng (gi tr chn l l True) thc hin cng vic 1.
8
Nu biu thc iu kin ng (gi tr chn l l True) thc hin cng vic 1.
Nu biu thc iu kin sai (gi tr chn l l False) thc hin cng vic 2.
-
3 C php cu trc if
if (bieu_thuc_dieu_kien)
lenh;
C php cu trc if else
if (bieu_thuc_ieu_kien)
lenh_1;
else
lenh_2;
8.2.1. Cu trc if, if else
9
Biu thc iu kin
bieu_thuc_dieu_kien
Biu thc logic : !, &&, ||
Biu thc quan h : ==, !=, >, >=,
-
4Cu trc if...else if
R nhiu nhnhif (bieu_thuc_dieu_kien_1){
Khoi_lenh_1;}else if (bieu_thuc_dieu_kien_2){
Khoi_lenh_2;}
...else if (bieu_thuc_dieu_kien_n){
Khoi_lenh_n;}else{
Khoi_lenh_cuoi_cung;} 13
8.2.1. Cu trc if, if else (2)
V d: Bi ton tm s ln nht trong 2 s thc a v b:#include #include void main(){// khai bao bienfloat a, b, max;printf( Nhap gia tri a va b: );scanf(%f %f,&a,&b);
if(a
-
5Ch
Tng ng ?
if (dieu_kien)
Cong_viec_1
else Cong_viec_2;
if (dieu_kien_1)
if (dieu_kien_2)
Cong_viec_1;
else
Cong_viec_2;
if (dieu_kien)
Cong_viec_1;
if (! dieu_kien)
Cong_viec_2;if (dieu_kien_1){
if (dieu_kien_2)
Cong_viec_1;
else
Cong_viec_2;}
if (dieu_kien_1){
if (dieu_kien_2)
Cong_viec_1;}
else
Cong_viec_2; 17
?
Bi tp
Vit chng trnh c nhng chc nng sau:
1. Hin th mt bng chn sau
2. Cho php ngi dng nhp 2 s nguyn dng
3. Cho php ngi dng a ra la chn 1 chc nng. Ty theo la chn ca ngi dng, hy thc hin cng vic tng ng. Nu ngi dng nhn 1 phm khc hy thng bo v dng chng trnh.
18
8.2.2. Cu trc la chn switch
C php cu trc switchswitch (bieu_thuc)
{
case gia_tri_1: lenh_1; break;
case gia_tri_2: lenh_2; break;
case gia_tri_n: lenh_n; break;
default: lenh_n+1; break;
}
Gi tr ca biu thc kim tra (bieu_thuc) phi l s nguyn:
Phi c kiu d liu l char, int, long.
Tng ng cc gi tr sau case (gia_tri_1, gia_tri_2,) cng phi l s nguyn.
Case ch ng vai tr l nhn, lnh break c s dng thot ra khi cu trc switch
19
8.2.2. Cu trc la chn switch (3)
V d: Nhp vo s nguyn khng m, a ra ngy trong tun tng ng (theo s d khi chia cho 7).#include
#include
void main()
{
int a;
printf(\nNhap mot gia tri so nguyen khong am: );
scanf(%d,&a);
20
-
68.2.2. Cu trc la chn switch (4)
V d (tip):
switch(a % 7)
{
case 0: printf( Chu nhat);break;
case 1: printf( Thu Hai); break;
case 2: printf( Thu Ba); break;
case 3: printf( Thu Tu); break;
case 4: printf( Thu Nam); break;
case 5: printf( Thu Sau); break;
case 6: printf( Thu Bay); break;
}
getch();
}21
8.2.2. Cu trc la chn switch (5)
Bi tp:
Trong mt nm cc thng c 30 ngy l 4, 6, 9, 11 cn cc thng c 31 ngy l 1, 3, 5, 7, 8, 10, 12. Ring thng hai c th c 28 hoc 29 ngy.
Hy vit chng trnh nhp vo 1 thng, sau a ra kt lun thng c bao nhiu ngy.
22
8.2.2. Cu trc la chn switch (6)#include #include void main () {int thang; clrscr(); printf("\n Nhap vao thang trong nam "); scanf("%d",&thang); switch(thang) {
case 1: case 3:case 5: case 7: case 8: case 10: case 12: printf("\n Thang %d co 31 ngay ",thang); break;
23
8.2.2. Cu trc la chn switch (7)
case 4:
case 6:
case 9:
case 11:
printf("\n Thang %d co 30 ngay ",thang);
break;
case 2:
printf ("\ Thang 2 co 28 hoac 29 ngay");
break;
default :
printf("\n Khong co thang %d", thang);
break;
}
getch();
}
24
-
7Ni dung
8.1. Cu trc lnh khi
8.2. Cu trc r nhnh8.2.1. Cu trc if, if else
8.2.2. Cu trc la chn switch
8.3. Cu trc lp8.3.1. Vng lp while v do ... while
8.3.2. Vng lp for
8.4. Cc lnh thay i cu trc lp trnh8.4.1. continue
8.4.2. break
25
Cu trc lp
Nu biu thc iu kin cnng, thc hin cng vic trongvng lp
26
Thc hin cng vic trong vnglp 1 ln
Khi biu thc iu kin cnng, thc hin cng vic trongvic trong vng lp
8.3.1. Vng lp while v do...while
Mc ch: Dng thc hin lp i lp li mt cng vic trong
khi cn tha mn iu kin no .
2 cu trc:while (bieu_thuc_dieu_kien)
{
Khoi_lenh;
}
hoc
do
{
Khoi_lenh;
} while (bieu_thuc_dieu_kien);
27
8.3.2. Vng lp while v do ... while (2)
while: Kim tra gi tr ca bieu_thuc_dieu_kientrc ri mi thc hin Khoi_lenh
Cc cu lnh c th khng c thc hin ln no.
do{} while: Thc hin Khoi_lenh
trc ri mi kim tra bieu_thuc_dieu_kienca vng lp.
Cc cu lnh c thc hin t nht 1 ln.
28
-
88.3.2. Vng lp while v do...while (3)
bieu_thuc_dieu_kien
Biu thc logic : !, &&, ||
Biu thc quan h : ==, !=, >, >=, 10));
S dng cu trc while {...}//nhp ln u tin
printf("Nhap diem (0
-
9Tho lun
Vng lp v hn : Khi no xy ra? Tc hi? Trong mt s trng hp cn dng while (1) {...} th trong
vng lp phi c cc cu lnh thay i cu trc thot ra ngoi.
Vng lp hu hn : lm th no iu kin dng xy ra?
Nhn xtwhile(dieu_kien1 || dieu_kien2) { }
tng ng viwhile (1) {
if (! (dieu_kien1 || dieu_kien2) exit;
}
while(dieu_kien1 && dieu_kien2) {}
Tng ng vi ?33
8.3.2. Vng lp for
Mc ch Dng thc hin lp i lp li mt cng vic no
(thng thng vi s ln lp xc nh)
C php:for(bieu_thuc_1;bieu_thuc_2;bieu_thuc_3){
Khoi_lenh;}
Trong : bieu_thuc_1: Khi to gi tr ban u cho vng lp bieu_thuc_2: iu kin tip tc vng lp bieu_thuc_3: Thc hin bc tng ca vng lp Ch cc biu thc 1, 2, 3 c th c hoc khng
34
8.3.2. Vng lp for (2)
V d: a ra mn hnh cc s nguyn l nh hn 100
#include #include void main(){int i;for(i = 1;i
-
10
8.3.2. Vng lp for (4)
Kt qu thc hin
1 3 5 7 9 11 13 15 17 19
21 23 25 27 29 31 33 35 37 39
41 43 45 47 49 51 53 55 57 59
61 63 65 67 69 71 73 75 77 79
81 83 85 87 89 91 93 95 97 99
37
Ni dung
8.1. Cu trc lnh khi
8.2. Cu trc r nhnh 8.2.1. Cu trc if, if else
8.2.2. Cu trc la chn switch
8.3. Cu trc lp 8.3.1. Vng lp for
8.3.2. Vng lp while
8.4. Cc lnh thay i cu trc lp trnh 8.4.1. continue
8.4.2. break
38
8.4. Cc lnh thay i cu trc lp trnh
i vi cc lnh lp: while, do{...} while, hoc for
Thay i vic thc hin lnh trong vng lp C cung cp 2 lnh: continue;
break;
39
8.4. Cc lnh thay i cu trc lp trnh
continue
B qua vic thc hin cc cu lnh nm sau lnh continue trong thn vng lp.
Chuyn sang thc hin mt vng lp mi
break
Thot khi vng lp ngay c khi biu thc iu kin ca vng lp vn cn c tha mn.
40
-
11
8.4. Cc lnh thay i cu trc lp trnh
V d:#include #include void main(){int i;for(i = 1;i
-
12
Cu hi ?
45