Bab 3 Pengenalan Kepada C Latar Belakang n
Bab 3: Pengenalan Kepada C
Latar Belakang n n 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 ciri 2 bahasa aras tinggi dan ciri 2 bahasa aras rendah
Bahasa Pertengahan? ? n Mempunyai kemudahan yg biasa disediakan oleh bahasa peringkat rendah. n n 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 n Mudah alih n n n 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. ) n n n 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 translator Bahasa mesin Pemaut Kod-kod lain drpd pustaka dll.
Struktur Aturcara C n n n n 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 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; printf(“n. Luas bulatan %lfn”, luas); } return 0; Pulangkan nilai 0 kpd sistem pengoperasian Pengakhiran badan aturcara
Penerangan n Komen/ulasan aturcara n n n 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 n Arahan Prapemproses n n 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 n Arahan Prapemproses (samb. ) n Arahan #include n n 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> n n n 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 n Arahan Prapemproses (samb. ) n Arahan #define n n Digunakan utk mengistihar pemalar simbolik Format arahan: #define ARGUMEN argumen n Cth penggunaan: #define UMUR 21
Penerangan n Arahan #define (samb. ) n 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 n Penakrifan fungsi n n Setiap aturcara C mesti mempunyai sekurangya 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: n n Bahagian pengistiharaan Pernyataan C yang akan dilaksanakan
Penerangan n Penakrifan fungsi (samb. ) n n n 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 n Penakrifan fungsi (samb. ) main () { …. . arahan; return 0; } n n n 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 n Perkataan Rezab n n 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 n Perkataan Rezab (samb. ) n n 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 n Pencam (terbahagi 2) n Pencam piawai n n n 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 n Pencam (samb. ) n Pencam takrifan pengguna n n Boleh terdiri daripada pembolehubah dan pemalar Mesti terdiri daripada: n n 1 - 31 aksara Dimulakan dgn abjad & selepas itu blh diikuti olh abjad/nombor/ “underscore” (mmm_LLLL)
Penerangan n Pembolehubah n n n Untuk meyimpan nilai input atau hasil perlaksanaan satu pernyataan Nilai pembolehubah berubah setiap kali aturcara dilarikan. Mesti diistiharkan sebelum digunakan; mengandungi: n n n Nama Jenis data yg akan disimpan Contoh: int a, b, c;
Penerangan n Pembolehubah (samb. ) n Dlm C, pembolehubah berhuruf kecil dan berhuruf besar adalah berbeza (case sensitive) n n Nama nama NAMA na. Ma (berbeza!) Format pengistiharaan: Jenis_data nama_pembolehubah Cth: int huruf
Penerangan n Pemalar n n n 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 n Pemalar (samb. ) n Pemalar simbolik - menggunakan arahan prapemproses #define NILAI 100 /*pemalar simbolik*/ int a; main() { a = NILAI - 200; } /*apakah nilai a ? ? ? */
latihan n Are these identifiers valid? Why? A. letter_2 D. Bil hari B. double C. 10 th_day E. student’s F. no-ic
Jenis-jenis data n int n n Menakrifkan data integer (numerik tanpa perpuluhan) Cth: int i, j; i = 56; j = -10
Jenis-jenis data n char n n Menakrifkan data aksara di mana bermula dan berakhir dgn single quote ‘ ’ Cth : char c; c = ‘A’;
Jenis-jenis data n float n n n Menakrifkan data berjenis titik apung (titik perpuluhan)/eksponen Boleh menyimpan sehingga 7 digit perpuluhan Cth: float x; x = 4. 321;
Jenis-jenis data n double n n 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’; n
- Slides: 32