Upload
pearl-black
View
284
Download
2
Embed Size (px)
Citation preview
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