asas pengaturcaraan c

Upload: pearl-black

Post on 02-Jun-2018

284 views

Category:

Documents


2 download

TRANSCRIPT

  • 8/11/2019 Asas Pengaturcaraan C

    1/33

  • 8/11/2019 Asas Pengaturcaraan C

    2/33

    Bahasa C menggunakan sebilangan notasiyang nampak ganjil bagi mereka yang tidakpernah membuat pengaturcaraan komputer.

    Struktur am suatu bahasa pengaturcaraan Cadalah seperti berikut :

    a)bahagian #includeiaitu arahan pemproses

    b)main()

    c)pembuka blok {

    d)badan aturcara

    e)penutup blok }

  • 8/11/2019 Asas Pengaturcaraan C

    3/33

    Contoh:

    /* Aturcara pertama dalam C */

    #include int main(void){printf (Contoh aturcara pertama dalam C \n);return 0;}

    Output :

    Contoh aturcara pertama dalam C

  • 8/11/2019 Asas Pengaturcaraan C

    4/33

    KOMEN (/**/) Teks yang dimulakan dengan simbol /*dan diakhiri dengan simbol

    */ menandakan satu komen.

    Pengaturcara memasukkan komen untuk tujuan mendokumentasikandan meningkatkan pemahaman aturcara.

    Komen tidak akan menyebabkan sebarang tindakan semasa aturcaraitu dilaksanakan.

    Komen

    Aturcara pertama dalam C

    menerangkan tujuan aturcara itu.

    Komen juga menolong orang lain membaca dan memahami aturcarakita.

    Komen yang terlalu banyak pula akan menyebabkan aturcara itu susahuntuk dibaca.

    Jadi pengaturcaraan harus bijak meletakkan komen pada tempat yangdifikirkan perlu.

  • 8/11/2019 Asas Pengaturcaraan C

    5/33

    BARIS int main(void)

    main()adalah sebahagian daripada aturcara bahasa C. Simbol ()menunjukkan bahasa main adalah satu blok pembangunan aturcarayang dipanggil fungsi.

    Aturcara bahasa C mengandungi 1 atau lebih fungsi di mana salahsatu daripadanya adalah main dan mesti wujud dalam setiapaturcara C. Fungsi mainadalah fungsi yang pertama sekali yangdilaksanakan oleh pengkompil C.

    Perkataan intdan voiddalam baris aturcara di atas ialah kata kunciatau kata simpan dalam C yang memberi maksud tertentu kepadapengkompil. Perkataan intmenunjukkan bahawa fungsi mainmengembalikan nilai int kepada sistem pengoperasian manakalaperkataan voidpula memberi maksud bahawa fungsi maintidak

    memerlukan sebarang parameter. Baris

    return 0;

    merupakan satu penyataan kembali. Ia menyebabkan satu nilai sifardipulangkan kepada sistem pengoperasian. Nilai yang dipulangkan iniboleh digunakan sekiranya perlu oleh sistem pengoperasian tersebut.Fungsi akan dibincang dengan lebih lanjut di dalam unit 7.

  • 8/11/2019 Asas Pengaturcaraan C

    6/33

    SIMBOL { dan }

    Simbol { digunakan untuk memulakan setiapbadan fungsi manakala simbol } akanmengakhiri setiap fungsi.

    Simbol { dan } serta bahagian aturcaraantara simbol-simbol ini dipanggil satu blok.

    Blok adalah satu unit yang penting dalam

    bahasa C. Penggunaan simbol } pada baris terakhir

    aturcara dalam contoh aturcara menunjukkanpenghabisan fungsi main.

  • 8/11/2019 Asas Pengaturcaraan C

    7/33

    Lengkapkan aturcara di bawah denganmeletakkan simbol ciri-ciri am dalam

    bahasa C.Aturcara memaparkan maklumat pelajar */

    #include

    printf (Nama saya ialah Azi);

    printf (Umur saya ialah 19 tahun);return 0;

    }

  • 8/11/2019 Asas Pengaturcaraan C

    8/33

    Aturcara di bawah adalah satu aturcara ringkas yangmeminta pengguna menaip satu nombor dan kemudianmencetaknya kembali.

    /* Aturcara mengambil input dan mencetak output */

    #include

    main()

    {

    int nombor; /* isytihar pembolehubah*/

    printf (Masukkan satu nombor dan tekan Enter : );

    scanf (%d, &nombor); /* ambil input */

    printf (Nombor yang anda taip ialah %d, nombor);

    return 0;

    }

    Output :

    Masukkan satu nombor dan tekan Enter : 5

    Nombor yang anda taip ialah 5

  • 8/11/2019 Asas Pengaturcaraan C

    9/33

    PENYATA KELUARANprintf()

    Arahan printf digunakan untuk mencetakoutput di skrin. Format bagi arahan ini ialah:

    printf ();

    Barisprintf(Masukkan satu nombor dan tekanenter) dalam aturcara di atas adalah satukenyataan mencetak. Ia mengarah komputermencetak di skrin satu muatan aksara yang

    disempadani dengan tanda . Setiap kenyataan bahasa C mesti diakhiri

    dengan tanda ; Komputer akan mencetakMasukkan satu nombor dan tekan Enter diskrin apabila aturcara itu dilaksanakan.

  • 8/11/2019 Asas Pengaturcaraan C

    10/33

    PENYATA MASUKANscanf()

    Arahanscanfdigunakan untuk mengambil input dari

    papan kekunci. Format bagi arahan ini ialah :scanf (,&);

    Tanda &yang diletakkan sebelum namapembolehubah ialah untuk membolehkan komputermengetahui kedudukan pembolehubah tersebut

    dalam ingatan komputer. Komputer perlumengetahuinya bagi membolehkannya mengubahkandungan pembolehubah.

  • 8/11/2019 Asas Pengaturcaraan C

    11/33

    PENYATA MASUKANscanf()

    Barisscanf(%d,&nombor);

    dalam aturcara di atas mengarahkan komputermenunggu pengguna menaip satu nombor di papankekunci.

    Setelah pengguna menaipnya, nilai nombor itu akandimasukkan dalam pembolehubah bernama

    nombor. Dalam penyataan scanf di atas, penyata jenis data

    %d digunakan, nombor adalah data berjenisinteger.

    Sekiranya nilai yang hendak dibaca itu dari jenis data

    lain maka penyata jenis data lain pula digunakan.

  • 8/11/2019 Asas Pengaturcaraan C

    12/33

    PENGGUNAAN BARISprintfUNTUK MENCETAK KEMBALI NILAI PEMBOLEHUBAH

    YANG DIMASUKKAN.

    Dalam aturcara di atas anda dapati barisprintfdigunakan untukmencetak kembali nilai nombor yang dimasukkan.

    Format penggunaanprintfuntuk mencetak nilai semasapembolehubah ialah :

    printf (%,);

    Dalam aturcara tersebut %d digunakan untuk mencetak nilaipembolehubah integer nombor.

    Sekiranya pembolehubah yang dicetak mempunyai jenis datalain, maka penyata lain pula digunakan.

  • 8/11/2019 Asas Pengaturcaraan C

    13/33

    Pernyataan puts,putchar dan getchar

    /* Aturcara mengambil input dan mencetak output */

    #include

    main()

    {

    int nombor;

    puts ("Masukkan satu nombor: ");

    nombor=getchar();puts ("nombor yang anda masukkan ialah: ");

    putchar (nombor);

    return 0;

    }

  • 8/11/2019 Asas Pengaturcaraan C

    14/33

    Pernyataan puts,putchar dan getchar

    Output:

    Masukkan satu nombor:5

    Nombor yang anda masukkan ialah:

    5

  • 8/11/2019 Asas Pengaturcaraan C

    15/33

    KOD-KOD FORMAT

    Terdapat beberapa

    kod format dalambahasa C untukmemformat output.Jadual di bawahmemberi

    penerangan bagisetiap kod formattersebut:

    Kod Format

    Penerangan

    %d

    Mempamerkan nombor dalam bentuk

    integer

    %f

    Mempamerkan nilai titik terapung atauperpuluhan

    %e

    Mempamerkan nilai titik terapung dalam

    notasi eksponen

    %c Mempamerkan satu nilai aksara

    %s

    Mempamerkan satu nilai rentetan

    %g Mempamerkan satu nilai titik terapung

    sama ada dalam bentuk titik terapung

    atau bentuk eksponen

    %lf

    Mempamerkan nombor dalam bentukdouble

  • 8/11/2019 Asas Pengaturcaraan C

    16/33

    SIMBOL &

    Simbol & yang diletakkan sebelum namapembolehubah dalam arahan scanf ialah untukmembolehkan komputer mengetahui kedudukanpembolehubah tersebut di dalam ingatan komputer.

  • 8/11/2019 Asas Pengaturcaraan C

    17/33

    AKSARA LEPAS

    Terdapatbeberapa aksaralepas yangdigunakan dalamprogram C.Jadual di bawah

    memberipenerangan bagisetiap aksaralepas tersebut.

    Aksara Lepas Penerangan

    \n Menggerakkan kursor ke baris baru

    \b Menggerakkan kursor ke belakang satu kedudukan di

    baris semasa

    \f Menggerakkan kursor ke permulaan muka seterusnya

    \r

    Menggerakkan kursor ke permulaan baris semasa

    \t Menggerakkan kursor ke tab mengufuk seterusnya

    \v Menggerakkan kursor ke tab menegak seterusnya

  • 8/11/2019 Asas Pengaturcaraan C

    18/33

    Latihan:

    Berdasarkan keratan aturcara di bawah

    apakah output yang akan dipaparkan.i) printf (Selamat Datang ke \n);printf (\n\tPoliteknik Ungku Omar);

    ii) int nombor1, nombor2;

    float jumlah;

    printf(Masukkan nombor 1 : );

    scanf (%d,&nombor1);printf(Masukkan nombor 2 : );

    scanf (%d,&nombor2);

    jumlah = nombor1 + nombor2;

    printf (Jumlah kedua-dua nombor ini ialah : %.2f,jumlah);

  • 8/11/2019 Asas Pengaturcaraan C

    19/33

    Contoh :

    Tulis aturcara untuk mencetak Selamat Belajar Bahasa C.

    Penyelesaian :

    /* Aturcara mengambil input dan mencetak output */#include int main(void){printf (Selamat Belajar Bahasa C);return 0;

    }

    Output :Selamat Belajar Bahasa C

  • 8/11/2019 Asas Pengaturcaraan C

    20/33

    Latihan :

    Tulis satu aturcara untuk mencetak

    Selamat Belajar Bahasa C dalam barisyang berlainan (1 perkataan sebaris)menggunakan hanya satu arahanprintfsahaja.

  • 8/11/2019 Asas Pengaturcaraan C

    21/33

    Penyelesaian:

    /* Aturcara mengambil input dan mencetak output */

    #include

    int main(void){

    printf (Selamat\nBelajar\nBahasa\nC\n);

    return 0;

    }

    Output :Selamat

    Belajar

    Bahasa

    C

  • 8/11/2019 Asas Pengaturcaraan C

    22/33

    Latihan:

    Tuliskan aturcara yang membaca 2 nombor integer

    dan mencetak kedua-dua nombor tersebut.

  • 8/11/2019 Asas Pengaturcaraan C

    23/33

    Terdapat 2 jenis arahan pra pemproses iaitu #includedan #define.

    #include

    a) #includeadalah arahan untuk prapemproses C.

    Baris-baris yang bermula dengan simbol #diproses oleh prapemproses

    sebelum aturcara itu dikompil.

    b) Arahan #includeperlu ditulis diikuti dengan fail kepala yang mana akan

    dibincangkan dalam bahagian seterusnya.

    Contoh :#include

    c) Fail stdio.h disertakan kerana di dalamnya terdapat definisi

    arahan untuk mencetak output dan mengambil input yang akan kita

    gunakan.

  • 8/11/2019 Asas Pengaturcaraan C

    24/33

    #define

    a) Selain #includekita juga boleh menakrifkan pra pemproses yang dipanggil #define.

    b) #definejuga boleh digunakan untuk mengisytiharkan sesuatu pemalar.

    Sintaks :

    #define

    Contoh :

    #define BIL_MAKS 999

    #definePI 3.1459

    c) Apabila baris ini ditemui dalam fail aturcara yang sedang dikompil, prapemproses

    akan menukar semua pengecam BIL_MAKS yang dijumpai ini dengan nilai 999 dan PI

    dengan 3.1459. Kecuali jika ianya adalah komen. BIL_MAKS dan PI ini dikenali sebagai

    pemalar simbolik. Ia boleh diletakkan di mana-mana dalam aturcara dan ia akan

    memberi kesan kepada baris aturcara selepas ia diletakkan kebiasaannya ia diletakkan

    di permulaan aturcara dan ditulis dengan huruf besar.

  • 8/11/2019 Asas Pengaturcaraan C

    25/33

  • 8/11/2019 Asas Pengaturcaraan C

    26/33

    (a)

    Terdapat beberapa fungsi dalam pustaka stdio.h yangboleh digunakan untuk aksara dan rentetan. Jadualberikut meringkaskan fungsi yang boleh diguna.

    Prototaip fungsi

    Tugas

    int getchar(void) Baca aksara yang dimasukkan dan kembali kod aksara dalaminteger

    char *gets(char *s) Baca input rentetan dan masukkan dalam tatasusunan s sehingga

    berjumpa barisbaru atau EOF. Aksara NULL akan ditambah di hujung rentetan

    int putchar(int c)

    Cetak aksara dalam c

    int puts(const char * s)

    Cetak rentetan s dan tambah aksara baris baru

  • 8/11/2019 Asas Pengaturcaraan C

    27/33

    Fail kepala stdio.h ini mengandungi maklumat yangdiperlukan untuk pengendalian masukan scanf dankeluaran printf. Nama penuh fail ini ialahstandard input

    / output header.

  • 8/11/2019 Asas Pengaturcaraan C

    28/33

    #include

    int main(void)

    {

    int umur;

    printf (Masukkan umur anda : );scanf (%d,umur);

    printf (Umur anda ialah %d tahun, umur);

    return 0;

    }

    Output :

    Masukkan umur anda : 18

    Umur anda ialah 18 tahun

    CONTOH:

  • 8/11/2019 Asas Pengaturcaraan C

    29/33

    (b)

    Terdapat beberapa

    fungsi dalampustaka yang bolehdigunakan untukmelaksanakanoperasi matematik

    asas. Jadual berikutmeringkaskan fungsiyang bolehdigunakan.

    Prototaip Fungsi

    Tugas

    double acos(double x)

    Mengira kosin untuk sesuatu nilai x

    double asin(double x)

    Mengira nilai sin untuk x

    double atan(double x)

    Mengira nilai tan untuk x

    double sinh(double x)

    Mengira sin hiperbolik untuk x

    double exp(double x)

    Mengira eksponen untuk x

    double log(double x)

    Mengira logaritma asli untuk x

    double pow(double x,double y)

    Mengira x kuasa y

    double sqrt(double x)

    Mengira punca ganda dua untuk x

  • 8/11/2019 Asas Pengaturcaraan C

    30/33

    Contoh:

    #include

    #include int main(void)

    {

    double x = 3.0, y = 4.0;

    double hasil;

    hasil = pow (x, y);

    printf (Hasil = %lf , hasil);

    return 0;

    }

    Output :

    Hasil = 81.0

  • 8/11/2019 Asas Pengaturcaraan C

    31/33

    (c)

    Antara fungsi-fungsi yangterkandung dalam

    fail kepala ini ialahfungsi untukmenguji jenisaksara dan fungsiuntuk menukaraksara dari abjadhuruf kecil ke

    abjad huruf besar.Berikut adalahsenarai fungsi-fungsi dalam failkepala .

    Prototaip Fungsi

    Tugas

    int isdigit (int c) Pulangkan 1 jika c adalah digit dan 0 jika c

    bukan digit

    int isalpha(int c)

    Pulangkan 1 jika c adalah abjad dan 0 jika c

    bukan abjad

    int islower (int c) Pulangkan 1 jika c adalah huruf kecil dan 0 jika c

    huruf besar

    int isupper (int c)

    Pulangkan 1 jika c adalah huruf besar dan 0 jika churuf kecil

    int isspace(int c)

    Pulangkan 1 jika c adalah ruang kosong dan 0jika palsu

    int toupper(int c)

    Pulangkan 1 jika c huruf kecil , kembalikan hurufbesar bagi c

    int tolower(int c) Pulangkan 1 jika c huruf besar, kembalikan huruf

    kecil bagi c

  • 8/11/2019 Asas Pengaturcaraan C

    32/33

    Contoh:

    #include

    #include

    int main(void)

    {char aksara;

    printf (Masukkan satu aksara :);

    aksara = getchar();

    if (isdigit (aksara))

    printf (%c adalah digit \n, aksara);

    if (isalpha (aksara))

    printf (%c adalah abjad \n, aksara);

    if (islower (aksara))

    printf (%c adalah huruf kecil \n, aksara);

    if (isupper (aksara))

    printf (%c adalah huruf besar \n, aksara);

    if (isspace (aksara))

    printf (%c adalah ruang kosong \n, aksara);

    printf (tolower %c adalah %c\n,aksara,tolower(aksara));

    printf (toupper %c adalah %c\n,aksara,toupper(aksara));

    return 0;

    }

  • 8/11/2019 Asas Pengaturcaraan C

    33/33

    Output :

    Masukkan satu aksara : gg adalah abjad

    g adalah huruf kecil

    tolower g adalah g

    tolower g adalah G