C (bahasa pengaturcaraan)

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


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

### Pengiraan markah

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


```c
#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