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 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
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)
/* cari luas bulatan */ #include <stdio.h> #define Pi 3.14159 int main ( ) { double luas, jejari;
KOMEN
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:
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 #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>
Juga boleh digunakan utk menggabungkan fail luaran ke dalam satu aturcara sumber. Formatnya: #include filename #include teknik.h
Penerangan
Arahan #define
Penerangan
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:
Penerangan
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
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
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.)
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:
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.)
#define NILAI 100 /*pemalar simbolik*/ int a; main() { a = NILAI - 200; } /*apakah nilai a ???*/
latihan
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;