Title: Bab 3: Pengenalan Kepada C
1Bab 3 Pengenalan Kepada C
2Latar Belakang
- Bermula daripada bahasa BCPL (Basic Combined
Programming Language) - Kemudian dikenali sebagai Bahasa B (Ken Thompson)
- Akhirnya diubah ke Bahasa C (Dennis Ritchie,
1972) - Digelar bahasa pertengahan gt menggabungkan ciri2
bahasa aras tinggi dan ciri2 bahasa aras rendah
3Bahasa Pertengahan??
- Mempunyai kemudahan yg biasa disediakan oleh
bahasa peringkat rendah. - Contoh pengolahan bit dan penggunaan
pembolehubah daftar - Mempunyai pembinaan kawalan dan jenis struktur
data yang mana biasa terdapat dalam bahasa
peringkat tinggi
4Kelebihan Bahasa C
- Mudah alih
- C di bawah piawaian ANSI (American National
Standard Institute) - Mudah dialihkan dari satu sistem ke satu sistem
yang lain - Kecekapan C tinggi berbanding dengan bahasa lain
5Kelebihan Bahasa C (samb.)
- Berkuasa untuk mengungkapkan pengolahan data dan
aritmetik - Sintaks yang mudah
- Fungsi pustaka (library) yang pelbagai untuk
menyokong pengaturcaraan
6Pelaksanaan Aturcara C
SOURCE
OBJECT
EXECUTABLE
Text editor
preprocessor
translator
7Struktur Aturcara C
- Komen/Ulasan aturcara
- Arahan Prapemproses
- Pengistiharaan jenis data
- Nama pemalar
- Pernyataan
- Fungsi
- Penakrifan Fungsi
- Panggilan Fungsi
8Struktur Aturcara C
Arahan kpd Preprocessor
Pengistiharan pencam sejagat (global)
int main(void) pengistiharan pencam setempat
(local) penyataan-penyataan
9Cartalir mengira luas bulatan
mula
Baca jejari
Luas 3.14 x jejari x jejari
luas
tamat
10/ cari luas bulatan / include
ltstdio.hgt define Pi 3.14159 int main ( )
double luas, jejari printf(\nmasukkan nilai
jejari ) scanf( lf , jejari)
luas Pi jejari jejari
printf(\nLuas bulatan lf\n, luas)
return 0
11Penerangan
- Komen/ulasan aturcara
- Di tulis sebagai /./
- Tujuan utk menjelaskan maklumat mengenai
aturcara dan di baca oleh pembaca bukan
komputer!!!! - Contoh
- / Program to calculate the product of two
numbers. /
12Penerangan
- Arahan Prapemproses
- Dimulakan dengan
- Aturcara sistem yg sedia ada di dalam kompiler C
- Tujuan memasukkan kandungan fail lain
mengubah satu aturcara C semasa proses
pengkompilan dilakukan - Contoh includeltgt
- define ltgt
- include ltstdio.hgt
13Penerangan
- Arahan Prapemproses (samb.)
- Arahan include
- Memberi capaian kepada perpustakaan C dan
menyebabkan prapemproses memasukkan definasi dari
fail kepala piawai ke dalam aturcara sebelum
proses pengkompil dibuat - Format include ltfail kepala piawaigt
- Contoh fail kepala piawai stdio.h, string.h
- Juga boleh digunakan utk menggabungkan fail
luaran ke dalam satu aturcara sumber. - Formatnya include filename
- include teknik.h
14Penerangan
- Arahan Prapemproses (samb.)
- Arahan define
- Digunakan utk mengistihar pemalar simbolik
- Format arahan
- define ARGUMEN argumen
- Cth penggunaan
- define UMUR 21
15Penerangan
- Arahan define (samb.)
- Rujuk contoh define UMUR 21
- maksud penakrifan takrifkan UMUR adalah 21
- UMUR bukan merupakan pembolehubah (pembolehubah
hanya akan diumpukkan nilai setelah aturcara
dilarikan) - Prapemproses menukarkan kesemua UMUR jika ia
muncul lebih dari sekali dalam aturcara kepada
nilai 21 sebelum aturcara dikompil/dilarikan
16Penerangan
- Penakrifan fungsi
- Setiap aturcara C mesti mempunyai
sekurang-kurangya satu fungsi utama yg dipanggil
main() - Tanda digunakan sebagai permulaan fungsi dan
tanda sbg akhiran fungsi - Contoh main() int product(int x, int y)
- Fungsi main terbahagi kpd 2
- Bahagian pengistiharaan
- Pernyataan C yang akan dilaksanakan
17Penerangan
- Penakrifan fungsi (samb.)
- Fungsi main menentukan titik kemasukan bagi satu
aturcara C. - Perlaksanaan aturcara bermula pd penyataan
pertama dan berakhir dgn pernyataan paling akhir
dalam main(). - Format penakrifan fungsi adalah pelbagai seperti
contoh berikut.
18Penerangan
- Penakrifan fungsi (samb.)
- Pernyataan return biasanya diletakkan sebagai
baris terakhir dlm fungsi main() - Nilai 0 hasil dari perlaksanaan fungsi main yg
dihantar kepada sistem pengoperasian, menandakan
aturcara berjaya dilarikan tanpa sebarang ralat - Penggunaan void sebelah fungsi main() menandakan
tiada nilai akan dikembalikan kepada sistem
pengoperasian setelah aturcara tamat dilarikan.
main () .. arahan return 0
int main () arahan return 0
void main () arahan return
void main () arahan
19Penerangan
- Perkataan Rezab
- Mempunyai makna tertentu kpd pengkompil.
- Ejaan, perletakan dan cara penggunaan perlu
betul. - Tidak boleh digunakan sebagai nama pembolehubah
di dalam aturcara - Contoh
- int a,b,c
20Penerangan
- Perkataan Rezab (samb.)
- Gunakan huruf kecil. Jika tidak ralat akan
diberikan oleh pengkompil - Antaranya
- float struct do for return
while double goto char else if
const int void continue static
default
21Penerangan
- Pencam (terbahagi 2)
- Pencam piawai
- Mempunyai maksud tertentu sebagaimana perkataan
rezab - Cth printf gt bermaksud cetakan
- printf boleh ditakrif semula bg tujuan lain oleh
pengaturcara. - Cth int printf (printf akan menyimpan nilai
integer) - Selepas ditakrif semula pencam tadi tidak akan
ditukar kpd fungsi asal dgn itu pengguna tidak
digalakkan menukartakrifan pencam piawai
22Penerangan
- Pencam (samb.)
- Pencam takrifan pengguna
- Boleh terdiri daripada pembolehubah dan pemalar
- Mesti terdiri daripada
- 1 - 31 aksara
- Dimulakan dgn abjad selepas itu blh diikuti olh
abjad/nombor/ underscore (mmm_LLLL)
23Penerangan
- Pembolehubah
- Untuk meyimpan nilai input atau hasil
perlaksanaan satu pernyataan - Nilai pembolehubah berubah setiap kali aturcara
dilarikan. - Mesti diistiharkan sebelum digunakan
mengandungi - Nama
- Jenis data yg akan disimpan
- Contoh
- int a,b,c
24Penerangan
- Pembolehubah (samb.)
- Dlm C, pembolehubah berhuruf kecil dan berhuruf
besar adalah berbeza (case sensitive) - Nama nama NAMA naMa (berbeza!)
- Format pengistiharaan
- Jenis_data nama_pembolehubah
- Cth int huruf
25Penerangan
- Pemalar
- Pencam yg mempunyai nilai tetap (tidak berubah)
sepanjang perlaksanaan aturcara - Apabila diisytiharkan, nilai lain tidak boleh
diumpukkan kepadanya. - Contoh
- const double kadar 0.123
- const double pi 3.1459
26Penerangan
- Pemalar (samb.)
- Pemalar simbolik - menggunakan arahan
prapemproses define - define NILAI 100 /pemalar simbolik/
- int a
- main()
-
- a NILAI - 200
- /apakah nilai a ???/
27latihan
- Are these identifiers valid? Why?
- A. letter_2 B. double C. 10th_day
- D. Bil hari E.students F. no-ic
28Jenis-jenis data
- int
- Menakrifkan data integer (numerik tanpa
perpuluhan) - Cth
- int i, j
- i 56
- j -10
29Jenis-jenis data
- char
- Menakrifkan data aksara di mana bermula dan
berakhir dgn single quote - Cth
- char c
- c A
30Jenis-jenis data
- float
- Menakrifkan data berjenis titik apung (titik
perpuluhan)/eksponen - Boleh menyimpan sehingga 7 digit perpuluhan
- Cth
- float x
- x 4.321
31Jenis-jenis data
- double
- Sama seperti float tetapi boleh menyimpan
sehingga 16 titik perpuluhan - Contoh
- double JUM
- JUM 5632.678
32latihan
- Valid or not ? Why?
- Int i, j Double d Char c
- A. i 5 B. c ADA
- C. D 3.845 D. c Q
- E. J 10.0 F. c w