BAB 3 - GMM Main Site

Download Report

Transcript BAB 3 - GMM Main Site

Bab 3: Pengenalan Kepada C
Latar 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 =>
menggabungkan ciri2 bahasa aras tinggi dan
ciri2 bahasa aras rendah
Bahasa 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
Kelebihan 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
Kelebihan Bahasa C (samb.)



Berkuasa untuk mengungkapkan
pengolahan data dan aritmetik
Sintaks yang mudah
Fungsi pustaka (library) yang pelbagai
untuk menyokong pengaturcaraan
Pelaksanaan Aturcara C
myprog.c
SOURCE
myprog.obj
OBJECT
Bahasa C
Text editor
myprog.exe
EXECUTABLE
Bahasa mesin
Pengkompil
preprocessor
Bahasa mesin
Pemaut
translator
Kod-kod lain drpd
pustaka dll.
Struktur Aturcara C








Komen/Ulasan aturcara
Arahan Prapemproses
Pengistiharaan jenis data
Nama pemalar
Pernyataan
Fungsi
Penakrifan Fungsi
Panggilan Fungsi
Struktur Aturcara C
Arahan kpd Preprocessor
Pengistiharan pencam sejagat (global)
int main(void)
{
pengistiharan pencam setempat (local)
penyataan-penyataan
}
Cartalir mengira luas bulatan
mula
Baca jejari
Luas =3.14 x jejari x jejari
luas
tamat
/* cari luas bulatan */
#include <stdio.h>
#define Pi 3.14159
int main ( )
{
double luas, jejari;
KOMEN
HEADER FILE
PEMALAR SIMBOLIK
Beri arahan kpd prapemproses
Nama fungsi yg memulangkan nilai int
Permulaan badan aturcara
Pengistiharan pencam
printf(“\nmasukkan nilai jejari: “);
Setiap arahan berakhir dgn ;
scanf(“ %lf “, &jejari);
luas = Pi * jejari * jejari;
printf(“\nLuas bulatan %lf\n”, luas);
}
return 0;
Pulangkan nilai 0 kpd sistem pengoperasian
Pengakhiran badan aturcara
Penerangan

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. */
Penerangan

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 : # include<…>
# define <…>
#include <stdio.h>
Penerangan

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 <fail kepala piawai>



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”
Penerangan

Arahan Prapemproses (samb.)

Arahan #define


Digunakan utk mengistihar pemalar simbolik
Format arahan:
#define ARGUMEN argumen

Cth penggunaan:
#define UMUR 21
Penerangan

Arahan #define (samb.)
 Rujuk contoh: #define UMUR 21
a)
b)
c)
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
Penerangan

Penakrifan fungsi




Setiap aturcara C mesti mempunyai sekurangkurangya 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
Penerangan

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.
Penerangan

Penakrifan fungsi (samb.)
main ()
{ …..
arahan;
return 0;
}



int main ()
{
arahan;
return 0;
}
void main ()
{
arahan;
return;
}
void main ()
{
arahan;
}
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.
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;
Penerangan

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
Penerangan

Pencam (terbahagi 2)

Pencam piawai





Mempunyai maksud tertentu sebagaimana perkataan
rezab
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 digalakkan
menukartakrifan pencam piawai
Penerangan

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)
Penerangan

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;
Penerangan

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
Penerangan

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;
Penerangan

Pemalar (samb.)

Pemalar simbolik - menggunakan arahan
prapemproses #define
#define NILAI 100 /*pemalar simbolik*/
int a;
main()
{
a = NILAI - 200;
}
/*apakah nilai a ???*/
latihan

Are these identifiers valid? Why?
A. letter_2
D. Bil hari
B. double
C. 10th_day
E.student’s
F. no-ic
Jenis-jenis data

int


Menakrifkan data integer (numerik tanpa
perpuluhan)
Cth:
int i, j;
i = 56;
j = -10
Jenis-jenis data

char


Menakrifkan data aksara di mana bermula
dan berakhir dgn single quote ‘ ’
Cth :
char c;
c = ‘A’;
Jenis-jenis data

float



Menakrifkan data berjenis titik apung (titik
perpuluhan)/eksponen
Boleh menyimpan sehingga 7 digit
perpuluhan
Cth:
float x;
x = 4.321;
Jenis-jenis data

double


Sama seperti float tetapi boleh
menyimpan sehingga 16 titik perpuluhan
Contoh:
double JUM;
JUM = 5632.678;
latihan
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’;
