Video: Asas Pengaturcaraan : Penukaran Operasi Dalam Program C 2024
An array dalam bahasa pengaturcaraan C adalah siri pembolehubah dari jenis yang sama: selusin pembolehubah int, dua atau tiga pemboleh ubah berganda, atau rentetan pemboleh ubah char. Arahan tidak mengandungi semua nilai yang sama. Tidak, ia lebih seperti satu siri cubbyholes ke mana anda melekat nilai yang berbeza.
Arahan dinyatakan sebagai pembolehubah lain. Ia diberi jenis dan nama dan kemudian juga satu set kurungan persegi. Pernyataan berikut mengisytiharkan array highscore:
int highscore [];
Perisytiharan ini tidak lengkap; pengkompil belum mengetahui berapa banyak item, atau unsur , berada dalam array. Jadi, jika array highscore itu memegang tiga elemen, ia akan diisytiharkan seperti ini:
int highscore [3];
Arahan ini mengandungi tiga elemen, masing-masing nilai int sendiri. Unsur-unsur yang diakses seperti ini:
highscore [0] = 750; highscore [1] = 699; highscore [2] = 675;
Unsur array dirujuk oleh nombor indeksnya dalam kurungan persegi. Item pertama ialah indeks 0, yang merupakan sesuatu yang anda harus ingat. Di C, anda mula mengira pada 0, yang mempunyai kelebihannya, jadi jangan fikir ia bodoh.
Dalam contoh sebelumnya, elemen array pertama, highscore [0], diberikan nilai 750; elemen kedua, 699; dan yang ketiga, 675.
Selepas permulaan, pembolehubah tatarajah digunakan seperti pembolehubah lain dalam kod anda:
var = highscore [0];
Kenyataan ini menyimpan nilai elemen array array [0] ke variable var. Jika highscore [0] bersamaan dengan 750, var adalah sama dengan 750 selepas pernyataan dilaksanakan.
SKOR TINGGI, VERSI AWAL
#include int main () {int highscore1, highscore2, highscore3; printf ("Markah tertinggi anda:"); scanf ("% d", & highscore1); printf ("Skor tertinggi kedua anda:"); scanf ("% d", & highscore2); printf ("skor tertinggi ketiga anda"); scanf ("% d", & highscore3); meletakkan ("Berikut adalah markah tinggi anda"); printf ("# 1% dn", highscore1); printf ("# 2% dn", highscore2); printf ("# 3% dn", highscore3); kembali (0);}
Latihan 1 : Tuliskan semula kod sumber dari Skor Tinggi, Versi Awful, tambah skor tinggi keempat dan gunakan array - tetapi perlu diingat bahawa array anda memegang empat nilai, bukan tiga.
Banyak penyelesaian yang wujud untuk Latihan 1. Penyelesaian kuasa kasar telah memasangkan setiap pembolehubah array secara individu, baris selepas baris, serupa dengan kod sumber dalam Markah Tinggi, Versi Awful. Penyelesaian yang lebih baik, lebih banyak ditawarkan dalam Skor Tinggi, Versi Lebih Baik.
SKOR TINGGI, VERSI LEBIH BAIK
#include int main () {int highscore [4]; int x; untuk (x = 0; x <4; x ++) {printf ("Markah #% d anda:", x + 1); scanf ("% d", & highscore [x]);} meletakkan ("Berikut adalah markah tinggi anda"); untuk (x = 0; x <4; x ++) printf ("#% d% dn", x + 1, highscore [x]); pulangan (0);}
Kebanyakan kod dari Skor Tinggi, Versi Lebih Baik sepatutnya biasa kepada anda, walaupun nota tatarajah baru.Argumen-argumen x + 1 dalam pernyataan printf () (Lines 10 and 16) membolehkan anda menggunakan pembolehubah x dalam gelung tetapi memaparkan nilainya bermula dengan 1 bukan 0. Walaupun C suka memulakan penomboran pada 0, manusia lebih suka bermula pada 1.
Latihan 2 : Ketik kod sumber dari Skor Tinggi, Versi Lebih Baik ke editor anda dan buat projek baru. Jalankan ia.
Walaupun output program hampir sama dengan output dalam Latihan 1, kaedah ini jauh lebih cekap, seperti yang terbukti dengan kerja Latihan 3:
Latihan 3 : Ubah suai kod sumber dari Skor Tinggi, Versi Better supaya skor sepuluh teratas adalah input dan dipaparkan.
Bayangkan bagaimana anda perlu kod jawapan untuk Latihan 3 jika anda memilih untuk tidak menggunakan array!
-
Unsur pertama dalam array ialah 0.
-
Apabila mengisytiharkan array, gunakan bilangan penuh elemen, seperti 10 untuk sepuluh elemen. Walaupun unsur diindeks dari 0 hingga 9, anda masih harus menyatakan 10 ketika mengisytiharkan saiz array itu.