8/3/2019 PENGENALAN KEPADA PROGRAMMING C
1/32
Bab 3: Pengenalan Kepada C
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
2/32
Latar Belakang Bermula daripada bahasa BCPL (Basic
Combined Programming Language)
Kemudian dikenali sebagai Bahasa B (KenThompson)
Akhirnya diubah ke Bahasa C (Dennis Ritchie,1972)
Digelar bahasa pertengahan =>menggabungkan ciri2 bahasa aras tinggi danciri2 bahasa aras rendah
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
3/32
Bahasa Pertengahan?? Mempunyai kemudahan yg biasa disediakan
oleh bahasa peringkat rendah.
Contoh : pengolahan bit dan penggunaanpembolehubah daftar
Mempunyai pembinaan kawalan dan jenis
struktur data yang mana biasa terdapatdalam bahasa peringkat tinggi
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
4/32
Kelebihan Bahasa C Mudah alih
C di bawah piawaian ANSI (American
National Standard Institute)
Mudah dialihkan dari satu sistem ke satusistem yang lain
Kecekapan C tinggi berbanding denganbahasa lain
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
5/32
Kelebihan Bahasa C (samb.) Berkuasa untuk mengungkapkan
pengolahan data dan aritmetik
Sintaks yang mudah
Fungsi pustaka (library) yang pelbagaiuntuk menyokong pengaturcaraan
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
6/32
Pelaksanaan Aturcara C
Kod-kod lain drpdpustaka dll.
Bahasa mesinBahasa mesinBahasa C
Pengkompil Pemaut
SOURCE OBJECT EXECUTABLE
myprog.c myprog.obj myprog.exe
Text editor
preprocessor translator
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
7/32
Struktur Aturcara C Komen/Ulasan aturcara
Arahan Prapemproses
Pengistiharaan jenis data
Nama pemalar
Pernyataan
Fungsi Penakrifan Fungsi
Panggilan Fungsi
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
8/32
Struktur Aturcara C
Arahan kpd Preprocessor
Pengistiharan pencam sejagat (global)
int main(void){
pengistiharan pencam setempat (local)
penyataan-penyataan
}
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
9/32
Cartalir mengira luas bulatanmula
Baca jejari
Luas =3.14 x jejari x jejari
luas
tamat
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
10/32
/* cari luas bulatan */#include #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;}
KOMEN
HEADER FILEPEMALAR SIMBOLIK
Beri arahan kpd prapemproses
Nama fungsi yg memulangkan nilai int
Permulaan badan aturcara
Pengakhiran badan aturcara
Pengistiharan pencam
Setiap arahan berakhir dgn ;
Pulangkan nilai 0 kpd sistem pengoperasian
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
11/32
Penerangan Komen/ulasan aturcara
Di tulis sebagai /*.*/
Tujuan : utk menjelaskan maklumatmengenai aturcara dan di baca olehpembaca bukan komputer!!!!
Contoh:/* Program to calculate the product of twonumbers. */
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
12/32
PeneranganArahan Prapemproses
Dimulakan dengan #
Aturcara sistem yg sedia ada di dalam kompiler C Tujuan : memasukkan kandungan fail lain &
mengubah satu aturcara C semasa prosespengkompilan dilakukan
Contoh : # include# define
#include
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
13/32
PeneranganArahan Prapemproses (samb.)
Arahan #include
Memberi capaian kepada perpustakaan C danmenyebabkan prapemproses memasukkan definasi darifail kepala piawai ke dalam aturcara sebelum prosespengkompil dibuat
Format: #include
Contoh fail kepala piawai: stdio.h, string.h
Juga boleh digunakan utk menggabungkan fail luaran kedalam satu aturcara sumber.
Formatnya: #include filename
#include teknik.h
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
14/32
PeneranganArahan Prapemproses (samb.)
Arahan #define
Digunakan utk mengistihar pemalar simbolik
Format arahan:
#define ARGUMEN argumen
Cth penggunaan:#define UMUR 21
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
15/32
Penerangan Arahan#define(samb.)
Rujuk contoh: #define UMUR 21
a) maksud penakrifan: takrifkan UMUR adalah 21b) UMURbukan merupakan pembolehubah
(pembolehubah hanya akan diumpukkan nilaisetelah aturcara dilarikan)
c) Prapemproses menukarkan kesemua UMUR jika iamuncul lebih dari sekali dalam aturcara kepadanilai 21 sebelum aturcara dikompil/dilarikan
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
16/32
Penerangan 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
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
17/32
Penerangan Penakrifan fungsi (samb.)
Fungsi main menentukan titik kemasukan
bagi satu aturcara C. Perlaksanaan aturcara bermula pd
penyataan pertama dan berakhir dgnpernyataan paling akhir dalam
main(). Format penakrifan fungsi adalah pelbagai
seperti contoh berikut.
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
18/32
PeneranganPenakrifan fungsi (samb.)
Pernyataan return biasanya diletakkan sebagai baris terakhirdlm fungsi main()
Nilai 0 hasil dari perlaksanaan fungsi main yg dihantar
kepada sistem pengoperasian, menandakan aturcara berjayadilarikan tanpa sebarang ralat
Penggunaan void sebelah fungsi main() menandakan tiadanilai akan dikembalikan kepada sistem pengoperasiansetelah aturcara tamat dilarikan.
main (){ ..arahan;
return 0;}
int main (){
arahan;
return 0;}
void main (){
arahan;
return;}
void main (){
arahan;}
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
19/32
Penerangan 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;
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
20/32
Penerangan Perkataan Rezab (samb.)
Gunakan huruf kecil. Jika tidak ralat akan
diberikan oleh pengkompilAntaranya:
float struct do forreturn while double
goto char else ifconst int voidcontinue static default
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
21/32
Penerangan Pencam (terbahagi 2)
Pencam piawai
Mempunyai maksud tertentu sebagaimana perkataanrezab
Cth: printf => 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 digalakkanmenukartakrifan pencam piawai
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
22/32
Penerangan Pencam (samb.)
Pencam takrifan pengguna
Boleh terdiri daripada pembolehubah danpemalar
Mesti terdiri daripada:
1 - 31 aksara
Dimulakan dgn abjad & selepas itu blh diikuti olhabjad/nombor/ underscore (mmm_LLLL)
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
23/32
Penerangan Pembolehubah
Untuk meyimpan nilai input atau hasilperlaksanaan satu pernyataan
Nilai pembolehubah berubah setiap kali aturcaradilarikan.
Mesti diistiharkan sebelum digunakan;mengandungi: Nama Jenis data yg akan disimpan
Contoh:int a,b,c;
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
24/32
Penerangan Pembolehubah (samb.)
Dlm C, pembolehubah berhuruf kecil dan
berhuruf besar adalah berbeza (casesensitive) Nama nama NAMA naMa (berbeza!)
Format pengistiharaan:Jenis_data nama_pembolehubah
Cth: int huruf
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
25/32
Penerangan Pemalar
Pencam yg mempunyai nilai tetap (tidak
berubah) sepanjang perlaksanaan aturcaraApabila diisytiharkan, nilai lain tidak boleh
diumpukkan kepadanya.
Contoh:const double kadar = 0.123;const double pi = 3.1459;
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
26/32
Penerangan Pemalar (samb.)
Pemalar simbolik - menggunakan arahan
prapemproses #define#define NILAI 100 /*pemalar simbolik*/
int a;
main()
{a = NILAI - 200;
} /*apakah nilai a ???*/
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
27/32
latihan Are these identifiers valid? Why?
A. letter_2 B. double C. 10th_day
D. Bil hari E.students F. no-ic
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
28/32
Jenis-jenis data int
Menakrifkan data integer (numerik tanpa
perpuluhan)
Cth:
int i, j;
i = 56;j = -10
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
29/32
Jenis-jenis data char
Menakrifkan data aksara di mana bermula
dan berakhir dgn single quote
Cth :
char c;
c = A;
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
30/32
Jenis-jenis data float
Menakrifkan data berjenis titik apung (titik
perpuluhan)/eksponen
Boleh menyimpan sehingga 7 digitperpuluhan
Cth:float x;
x = 4.321;
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
31/32
Jenis-jenis data double
Sama seperti float tetapi boleh
menyimpan sehingga 16 titik perpuluhan
Contoh:double JUM;
JUM = 5632.678;
8/3/2019 PENGENALAN KEPADA PROGRAMMING C
32/32
latihanValid 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;