30
LẬP TRÌNH C CHO NGƯỜI MỚI HỌC Giảng viên: Thạc sĩ Trần Thanh Sơn Trường Đại Học Khoa Học Tự Nhiên

C++ cho nguoi moi hoc_bai 01

Embed Size (px)

DESCRIPTION

ebook hoc lap trinh c

Citation preview

  • LP TRNH C CHO

    NGI MI HCGing vin: Thc s Trn Thanh Sn

    Trng i Hc Khoa Hc T Nhin

  • GII THIU MN HC

    CUNG CP KIN THC NN CHO NGI MI BT U.

    LM QUEN VI NGN NG LP TRNH

    LP TRNH MT S BI N GIN

    2

  • TI LIU THAM KHO

    GS. Phm Vn t, Gio Trnh K Thut Lp Trnh C - Cn Bn &Nng Cao, NXB Hng c, 2009

    Trn an Th Gio trnh lp trnh C tp 1-2, NXB i Hc Quc GiaTP.HCM

    Gio trnh Lp trnh C cn bn ca Apptech.

    3

  • CHNG 1: LM QUEN VI NGN NG LP TRNH

    I. GII THIU V NGN NG LP TRNH.

    II. DEMO PROJECT MU (MI TRNG VISUAL STUDIO 2013)

    III. CU TRC CA CHNG TRNH

    IV. CC KIU D LIU C BN.

    V. CC BC LP TRNH

    VI. CC HM NHP XUT CHUN

    4

  • I. GII THIU V NGN NG LP TRNH

    1. Thut ton

    2. Chng trnh

    3. Ngn ng lp trnh

    5

  • 1. Thut ton (Algorithm)

    nh ngha: L mt dy cc thao tc xc nh trn mt i tng, sao chosau khi thc hin mt s hu hn cc bc th t c mc tiu. Theo

    R.A. Kowalski th bn cht ca thut ton:

    Thut ton = Logic + iu khin.

    6

  • Logic v iu khin

    Logic: lm g, gii quyt vn g? Nhng yu t trong bi ton cquan h vi nhau nh th no vv. Gm c kin thc chuyn mn.

    V d: tnh din tch hnh cu

    iu khin: Gii thut phi lm nh th no? Cch thc tin hnh pdng phn logic.

    7

  • 2. Chng trnh (Program)

    nh ngha: L mt tp hp cc m t, cc pht biu, nm trong mt hthng qui c v ngha v th t thc hin, nhm iu khin my tnh

    lm vic. Theo Niklaus Wirth th:

    Chng trnh = Thut ton + Cu trc d liu

    Cc thut ton v chng trnh c 3 cu trc iu khin c bn: Tun t(Sequential), Chn lc (Selection), Lp li (repetition)

    8

  • 3. Ngn ng lp trnh (Programming language)

    nh ngha: l h thng cc k hiu tun theo cc qui c v ng php vng ngha, dng xy dng thnh cc chng trnh cho my tnh.

    Ngn ng no cng c 3 thnh phn: Tp k t, t kha v tn.

    9

  • II. DEMO PROJECT MU

    Xut ra mn hnh cu This is my first project

    Mi trng lp trnh: Visual Studio 2013.

    10

  • III. CU TRC CHNG TRNH

    11

    # include stdio.h

    # include conio.h

    /* Chng trnh in 1 cu */

    Void main ()

    {

    printf (This is my first project);

    _getch (); // i nhn 1 phm

    }

    Phn khai bo

    Phn chng trnh chnh

    /* */ l on ch thch hoc //, khng bin dch.

  • 1. Tp k t

    26 ch ci hoa: A B C Z

    26 ch ci thng: a b c z

    10 ch s: 1 2 3 9

    K hiu ton hc: + - * / = ()

    K t gch ni: _ (phn bit vi du -)

    Cc k t c bit: .,:: []{}? ! \ & | % # $, du cch (space)

    12

  • 2. T kha

    13

    asm break case cdecl

    char const continue default

    do double else enum

    extern far float for

    goto huge if int

    interrupt long near pascal

    register return short signed

    sizeof static struct switch

    typedef union unsigned void

    volatile while

  • 3. Tn

    Dng xc nh i tng khc nhau ca chng trnh bao gm: tn hng,tn bin, tn mng, tn hm, tn con tr, tn tp tin, tn cu trc.

    Quy tc t tn:

    Tn l 1 dy k t: ch, s v du gch ni. K t u phi l ch hoc l dugch ni.

    di ti a l 32

    Khng trng vi t kha

    14

  • V d tn bin

    Cc tn ng: delta, a_1, Num_ODD, Case

    Cc tn sai:

    3a_1 (k t u l s)

    num-odd (s dng du gch ngang)

    int (t tn trng vi t kha)

    del ta (c khong trng)

    f(x) (c du ngoc trn)

    15

  • IV. CC KIU D LIU C BN

    16

    Kiu Phm vi Kch thc

    char 0 .. 255 1 byte

    int -32768 .. 32767 2 bytes

    long -2147483648 .. 2147484647 4 bytes

    unsigned 0 .. 65535 2 bytes

    float 3.4e-38 .. 3.4e+38 4 bytes

    double 1.7e-308 .. 1.7e+308 8 bytes

    1. Cc kiu d liu v phm vi

  • Kiu logic (Kiu nguyn c bit)

    Nhn 2 gi tr: ng (True) hoc 1 v Sai (False) hoc 0

    Ta c th s dng cc php logic and (&&), or (||), not (!)

    17

    a b a && b a||b

    Khc 0 Khc 0 1 1

    Khc 0 0 0 1

    0 Khc 0 0 1

    0 0 0 0

    a !a

    Khc 0 0

    0 1

  • 2. Khai bo bin

    [ = ];

    Gi tr ca bin c th c khi gn khi khai bo.

    V d:

    int i, j, k=10;

    float f;

    char ch, ch1 = A, ch2 = \n;

    18

  • 3. Khai bo hngHng tng trng:

    # define

    V d:

    # define MAX 100;

    # define ECHO "DH KHTN TPHCM";

    Hng bin:const =;

    V d :

    const long MAX = 100L;

    const char ECHO[30] = "DHKT TPHCM";19

  • 4. Biu thc (1/4) Cc php ton s hc: +, -, *, /, %

    Cc php ton quan h: >, =,

  • 4. Biu thc (2/4) Ton t gn:

    < Bin > = < Biu thc >;

    Biu thc gn:

    < Bin > = < Biu thc >

    V d: int a = b =7;

    Biu thc rt gn:

    < Bin > = < Bin > < op > < Biu thc >

    < Bin > < op > = < Biu thc >

    V d: i = i + exp; => i += exp;

    21

  • 4. Biu thc (3/4)

    Biu thc iu kin: BT1 ? BT2 : BT3

    V d:

    max = (a>b)? a: b;

    Php ton ly a ch bin: & < Bin>

    V d:

    int n;

    scanf (%d, &n);

    22

  • 4. Biu thc (4/4) Php p kiu: ()

    V d: int n = (int) 10.24;

    Th t u tin ca cc ton t

    23

  • Ton t Th t kt hp (), [], -> Tri sang phi

    ~, ++, --, (type) Phi sang tri

    *, /, % Tri sang phi

    +, - Tri sang phi

    Tri sang phi

    = Tri sang phi

    & Tri sang phi

    | Tri sang phi

    ^ Tri sang phi

    && Tri sang phi

    || Tri sang phi

    ==, !=, +=, -= Phi sang tri 24

  • V. CC BC LP TRNH

    Bc 1: Phn tch vn v xc nh cc c im. (xc nh I-P-O)

    Bc 2: Lp ra gii php. (a ra thut gii)

    Bc 3: Ci t. (vit chng trnh)

    Bc 4: Chy th chng trnh. (dch chng trnh)

    Bc 5: Kim chng v hon thin chng trnh. (th nghim bng nhius liu v nh gi)

    25

  • 1. Xc nh I-P-O

    Quy trnh x l c bn ca my tnh gm:

    V d: Xc nh lng ca cng nhn bit lng = lng c bn * ngy cng

    I: lng cn bn, ngy cng

    P: Ly lng cn bn nhn vi ngy cng

    O: Lng

    26

    P (Process)I (Input) O (Output)

  • 2. Demo project mu (tip theo)

    Bi tp: Tnh tng 2 s nguyn a, b

    Phn tch:

    u vo l a,b

    X l: a+ b

    u ra: Kt qu a + b

    27

  • VI. HM NHP XUT CHUN

    Cc hm nhp printf (), scanf () ly t th vin stdio.h,

    Hm getch (_getch) ly t th vin conio.h

    Cc hm ton hc c khai bo trong th vin math.h

    Phi khai bo th vin s dng cc hm: #include

    28

  • 1. Hm xut chun trong CHm printf ([, , ])

    : Chui nh dng

    : Cc tham s tng ng

    V d:

    printf("n = %d\n", -10); /* --> -10 */

    printf("A : %4c\n", 'A'); /* --> A */

    printf("A : %d\n", 'A'); /* --> 65 */

    printf("f = %4.2f", 123.4); /* --> 123.40 */

    29

  • 2. Hm nhp chun trong CHm scanf(, {, });

    : Chui nh dng

    : a ch ca cc tham s tng ng

    V d:

    int n;

    long l;

    float f;

    printf (Nhp cc gi tr cho cc bin n,l,f:) ;

    scanf(%d%ld%f, &n, &l, &f);30