Anda di halaman 1dari 32

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
Bahasa C

myprog.obj OBJECT
Bahasa mesin

myprog.exe EXECUTABLE
Bahasa mesin

Text editor

Pengkompil
translator

Pemaut
Kod-kod lain drpd pustaka dll.

preprocessor

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.)


int main () { arahan; return 0; } void main () { arahan; return; } void main () { arahan; }

main () { .. arahan; return 0; }

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


int a,b,c;

Contoh:

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 B. double C. 10th_day F. no-ic

D. Bil hari

E.students

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;

Anda mungkin juga menyukai