*The C Programming Language*, oleh Brian Kernighan dan Dennis Ritchie, edisi asal yang digunakan selama beberapa tahun sebagai spesifikasi tidak rasmi bahasa C
**C** ialah sebuah bahasa pengaturcaraan aras sederhana yang dibangunkan pada awal tahun 1970an oleh Ken Thompson dan Dennis Ritchie untuk digunakan bagi sistem pengendalian UNIX. Ia telah melarat kepada kebanyakan sistem pengendalian lain, dan adalah salah satu bahasa pengaturcaraan yang paling meluas digunakan. C disanjung kerana keberkesanannya, dan adalah salah satu bahasa pengaturcaraan masyhur untuk menulis perisian sistem, walaupun ia juga digunakan untuk menulis perisian penggunaan. Ia juga biasa digunakan dalam pendidikan sains komputer, walaupun tidak direka untuk kegunaan orang baru.

Ciri-ciri
---------

### Pendahuluan

C merupakan bahasa yang berperingkat lebih tinggi daripada bahasa himpunan tetapi tidak seperti kebanyakan bahasa aras tinggi yang lain, ia masih menyediakan kemudahan untuk membuat arahan terus kepada perkakasan seperti yang disediakan oleh bahasa perhimpunan. Berbanding dengan bahasa perhimpunan, bahasa C adalah suatu bahasa yang boleh pindah (*portable*). Atur cara yang ditulis dalam C boleh dikompil untuk dilakukan dalam banyak seni bina komputer berbanding dengan bahasa himpunan yang amat khusus pada seni bina komputer yang tertentu sahaja.

Contoh kod
----------

### *Hello world*

Berikut merupakan kod sumber bagi atur cara *hello world* dalam C.

```
#include <stdio.h>

int main()
{
 printf("hello, world\n");
 return 0;
}

```

Di dalam C, fungsi yang bernama "main" merupakan fungsi yang pertama yang dijalankan. Fungsi ini selalu mengembalikan sebuah "int" (integer). Jika program ini berjaya dijalankan, fungsi main perlu mengembalikan angka kosong (0). "printf" adalah sebuah fungsi yang memaparkan perkataan yang ditulis di dalam tanda kurung. Untuk menggunakan "printf", fail pengepala "stdio.h" perlu dimasukkan ke dalam kod sumber ini. Ini telah dicapai oleh baris pertama (#include <stdio.h>).

### Pengiraan markah

Berikut merupakan contoh kod sumber bagi atur cara yang menerima input markah peperiksaan daripada pengguna dan menentukan gred akhir.

```
#include <stdio.h>

int main(void)
{
 float u1, u2, pro; // markah dimasukkan oleh pemakai
 float berat\_u1, berat\_u2, berat\_pro, jumlah; // berat markah

 // Input markah dari pemakai
 printf("Masukkan markah Ujian1 : ");
 scanf("%f", &u1);
 printf("Masukkan markah Ujian2 : ");
 scanf("%f", &u2);
 printf("Masukkan markah Projek : ");
 scanf("%f", &pro);

 // kira berat markah untuk ujian dan projek
 berat\_u1 = (u1 / 100) \* 30;
 berat\_u2 = (u2 / 100) \* 30;
 berat\_pro = (pro /100) \* 40;

 // kira jumlah markah
 jumlah = berat\_u1 + berat\_u2 + berat\_pro;

 // Cetak ujian1, ujian2, projek, dan jumlah markah
 printf("\nTest 1 (30%) : %5.2f\n", berat\_u1);
 printf("Test 2 (30%) : %5.2f\n", berat\_u2);
 printf("Project(40%) : %5.2f\n", berat\_pro);
 printf("Overall(100%): %5.2f\n\n", jumlah);

 // Tentukan gred dan sama ada gagal atau lulus
 if (jumlah >= 80)
 {
 printf("Gred : A\n");
 printf("Lulus!!!\n"); 
 }
 else if (jumlah>= 70)
 {
 printf("Gred : B\n");
 printf("Lulus!!!\n"); 
 }
 else if (jumlah >= 60)
 {
 printf("Gred : C\n");
 printf("Lulus!!!\n"); 
 }
 else if (jumlah >= 50)
 {
 printf("Gred : D\n");
 printf("Lulus : Mengulang\n"); 
 }
 else if (jumlah >= 40)
 {
 printf("Gred : E\n");
 printf("Gagal : Mengulang\n"); 
 }
 else
 {
 printf("Gred : F\n");
 printf("Gagal : Mengulang\n");
 }
 return 0;
}

```

Lihat juga
----------

* C++ - bahasa pengaturcaraan yang berkembang daripada bahasa C.
* Bahasa kompilan

Pautan luar
-----------

* Pengenalan kepada Pengaturcaraan C
* Pengenalan Kepada Bahasa Pengaturcaraan C Diarkibkan 2010-01-10 di Wayback Machine

| * l
* b
* s
Bahasa pengaturcaraan |
| --- |
| 
* Perbandingan
* Glosari

 |
| 
* ALGOL
* APL
* Ada
* BASIC
* C
* C++
* C#
* COBOL
* Common Lisp
* Eiffel
* FORTH
* Fortran
* Haskell
* Java
* JavaScript
* Jython
* LISP
* LOGO
* Mesa
* Modula-2
* Oberon
* OCaml
* Objective-C
* Perl
* PHP
* Prolog
* PL/I
* Pascal
* PostScript
* Python
* Ruby
* Scheme
* Smalltalk
* SQL
* Tcl
* Visual Basic

 |
| 
* Kategori Kategori
* List-Class article Senarai

 |