08-cac cau truc lap trinh trong c

12
 1 TRƯỜNG ĐẠI HC BÁCH KHOA HÀ NI VIN CÔNG NGHTHÔNG TIN VÀ TRUYN THÔNG TIN HC ĐẠI CƯƠNG Bài 8. Các cu trúc lp trình trong C Ni dung 8.1. Cu tr úc l nh kh i 8. 2. Cu trúc r nh ánh 8.2.1. Cu tr úcif, if el se 8.2.2. Cu trúc l ach n switch 8. 3. Cu trúc l p 8.3.1. Vòng l p for  8.3.2. Vòng l p wh ile 8. 4. Các l nh th ay đổ i c u trúc l p trình 8.4.1. cont inue 8.4.2. break 2  8.1. Cu trúc lnh khi Thh i n c u tr úc t un t •Lnh khi là dãy các câu lnh được đặt trong cp du ngoc nhn {} { lenh_1; lenh_2; …. lenh_n; } C cho phép kha i báo biế n tron g lnh kh i, nhưng phn khai báo phi nm trước câu lnh. 3 8.1. Cu trúc lnh khi (2) •Lnh kh i l ng n hau:  Trong mt lnh khi có thcha lnh khi khác  Slng nhau là không hn chế { lenh; { lenh; ... } } 4

Upload: quy-hoang

Post on 02-Nov-2015

18 views

Category:

Documents


0 download

DESCRIPTION

Tin Dai Cuong

TRANSCRIPT

  • 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