Komputer

Pemrograman Komputer - Tingkat Lanjut C

Pengarang: Peter Berry
Tanggal Pembuatan: 16 Juli 2021
Tanggal Pembaruan: 10 Boleh 2024
Anonim
#2 Pengenalan Pemrograman C dan Coding Dasarnya
Video: #2 Pengenalan Pemrograman C dan Coding Dasarnya

Isi

Charles adalah insinyur perangkat lunak dan profesor perguruan tinggi yang tertarik pada teknologi, kedokteran, ekonomi, dan nutrisi.

Lanjutan C

Untuk alasan apa pun, C adalah bahasa pilihan Anda. Apa alasan bagus untuk memilih C?

Orang awam akan memberi tahu Anda bahwa C cepat. Setidaknya dalam beberapa kasus, itu adalah stereotip yang tidak patut. Apakah semua bahasa lain lambat jika dibandingkan? Tidak ada programmer tingkat lanjut yang percaya hal itu, dan Anda juga tidak seharusnya.

C memiliki tiga keunggulan dibandingkan bahasa C-Like lainnya. Di sini mereka.

  • Overhead rendah. C pantas mendapatkan reputasinya atas kemampuannya untuk menghasilkan program yang dapat dieksekusi yang tidak jauh lebih besar dari yang seharusnya. Ini penting untuk perangkat dengan memori rendah. Pada PC modern, ini sama sekali tidak penting.
  • Portabilitas. Jika Anda perlu menargetkan perangkat keras baru atau tidak biasa yang memiliki set instruksi khusus atau ruang memori non-flat, C dan ASM mungkin satu-satunya pilihan yang tersedia meskipun ada pengecualian. C tidak terlalu bagus dalam hal portabilitas antara versi linux / Mac / Windows.
  • Kemampuan untuk melakukan hal-hal berbahaya dan ganjil dengan memori dan kontrol aliran. Di sinilah C dan C ++ benar-benar bersinar.

Pertimbangkan fungsi yang digambarkan di atas. Ini adalah versi modern dari Perangkat Duff asli. Perhatikan baik-baik jika Anda belum pernah melihatnya sebelumnya. Pada bacaan pertama, kebanyakan programmer C akan memikirkan do-while bercampur dengan kasus pernyataan pasti salah. Setelah habis, beberapa orang akan menyarankan memcpy () sebagai pengganti (tetapi ini tidak mungkin).


Untuk komentar yang lebih lengkap, lihat artikel ini.

Varian pada sebuah Tema

Pertimbangkan fungsi yang digambarkan di bawah ini. Ini adalah versi modifikasi dari Perangkat Pigeon asli. Setara jika pernyataan segera menyusul.

Untuk komentar yang lebih lengkap, baca lebih lanjut tentang Perangkat Pigeon di sini.

Perangkat Pigeon

if (1 == mode || (0 == mode && test (a, b))) return fun1 (a, b); if (2 == mode || (0 == mode &&! test (a, b))) return fun2 (a, b); kembali 0;

Teknik mana pun harus digunakan dengan sangat hemat untuk program apa pun yang akan dibaca oleh orang-orang. Panduan ini berlaku untuk hampir semua teknik tingkat ahli, jarang digunakan. Bukan karena tidak berfungsi, itu karena sering kali sulit dibaca dan sulit dimodifikasi.


C unik, cacat, dan sukses besar.

- Dennis Ritchie, 1993

serikat IntFloat {int ix; float fx; }

Persatuan

Persatuan artinya dua variabel disimpan di tempat yang sama dalam memori. Ini terlihat seperti file struct dan dalam contoh yang diberikan ix dan fx merujuk ke data yang sama tetapi memiliki arti yang sangat berbeda. Sekarang Anda harus menyadari bahwa a mengapung terdiri dari jenis bit yang sama dengan file int, tapi di a mengapung beberapa dari bit tersebut didedikasikan untuk tanda dan digit signifikan dari nilai yang disimpan, dan beberapa untuk eksponen yang ditandatangani. Jika Anda pernah ingin mengintip nilai-nilai itu sebagai larik bit mentah, Persatuans adalah salah satu cara untuk melakukannya. Cukup tulis a mengapung nilai ke fx dan cetak ix dengan string format% x.

Anggota a Persatuan dapat berupa jenis apa pun termasuk pointer, integer, floating point, structs, atau lainnya Persatuans. Persatuans dapat digunakan dengan typedef dengan cara yang sama seperti a struct typedef, atau Persatuan nama dapat dihilangkan seluruhnya.


Pergi ke

Untuk tujuan sosial, Anda harus menyadari hal itu PERGI KE mungkin dianggap berbahaya. C dan C ++ keduanya termasuk pergi ke sebagai kata kunci, dan saya menghindari membahasnya di tiga artikel sebelumnya karena tidak ada yang boleh menggunakannya pergi ke untuk alasan apapun. Akhir diskusi, dan tolong jangan membaca paragraf berikutnya.

Pergi ke adalah teknik tingkat ahli. Saya dapat memikirkan satu penggunaan yang sah untuk itu, tetapi mungkin ada yang lain. Misalkan Anda perlu menyelesaikan dari tengah loop bersarang, dan untuk alasan apa pun Anda tidak dapat menempatkan loop ke dalam fungsinya sendiri dan menggunakan return. Itu milikmu pergi ke.

Lincah

Itu lincah Kata kunci memberi tahu C bahwa variabel dapat berubah secara independen dari satu momen ke momen berikutnya. Ini mungkin berubah karena diubah di utas lain, atau mungkin hasil dari membaca alamat perangkat. Apapun alasannya, C akan membaca dan menulis dengan cermat a lincah variabel dari memori persis seperti yang Anda katakan, tanpa cache mewah atau optimasi logis. Jika Anda kebetulan melakukan sesuatu yang berbahaya atau aneh dengan kontrol aliran, lincah akan memastikan tulisan Anda ditulis.

Sebuah penunjuk ke a volatile int dinyatakan seperti ini.

  • volatile int * p;

Membaca dan menulis ke lincah variabel mungkin masih rusak, jadi lincah tidak boleh digunakan untuk mengimplementasikan kunci, tetapi dapat digunakan untuk komunikasi terbatas antar utas.

Perpustakaan Standar

C tidak ditemukan untuk menulis program besar. C tidak pernah dimaksudkan untuk menangani struktur data dengan jutaan elemen. C ditemukan pada awal tahun 1970-an pada perangkat keras yang sudah ketinggalan zaman dan Ritchie menyimpulkan dengan tepat bahwa jika pemrogram membutuhkan sesuatu yang lebih canggih daripada pencarian semacam dan biner, mereka lebih baik menulisnya sendiri.

Hal ini membuat C mudah dipelajari dan kompiler silang mudah untuk ditulis, tetapi sekarang kami memiliki RAM gigabyte. Untuk menulis program besar, membacanya nanti, dan berpindah antar proyek C dengan mudah, kita memerlukan versi standar dari struktur data dan algoritme yang akan selalu berada di luar standar C.

Jika C adalah bahasa pilihan Anda, maka rangkul kesederhanaannya. Jika proyek C Anda bertambah besar dan rumit, pilih atau tulis versi standar proyek dari antrian, pohon, tabel hash, dan yang lainnya. Hanya saja, jangan berharap C memudahkan Anda karena itu akan menjadi mimpi buruk.

Fungsi Dengan Jumlah Argumen Variabel

Sungguh mengherankan saya bahwa setelah 10 tahun menulis C, masih ada sudut-sudut kecil yang belum saya jelajahi sepenuhnya.

- Tom Duff, 1983

Kesimpulan

Ini semua yang harus saya katakan tentang pemrograman C. Bagimu, ini bukanlah akhir.

Jika Anda sudah sampai sejauh ini, pemrograman adalah bagian penting dari hidup Anda dan Anda sedang dalam perjalanan, atau sudah melampaui level pakar kelas dunia. Sebagai seorang ahli, Anda harus memutuskan sendiri kapan harus menerima nasihat dari orang lain. Saya telah menjaga milik saya seminimal mungkin, melakukan yang terbaik untuk menyajikan C apa adanya, dan mudah-mudahan ini memungkinkan Anda menggunakan C untuk mencapai tujuan Anda dengan cara sebaik mungkin.

Kepada audiens ahli saya: apakah saya melewatkan sesuatu, atau menjelaskan sesuatu dengan buruk? Beri tahu saya di komentar. Kepada yang lain: Saya tahu beberapa dari Anda membaca tanpa latihan dan pemahaman yang tepat, dan saya harap seri ini memberi Anda wawasan tentang dunia memecahkan teka-teki dengan komputer. Mungkin Anda akan kembali suatu hari nanti dan menjalani jalur pakar secara nyata.

Artikel ini akurat dan benar sepanjang pengetahuan penulisnya. Konten hanya untuk tujuan informasi atau hiburan dan tidak menggantikan nasihat pribadi atau nasihat profesional dalam masalah bisnis, keuangan, hukum, atau teknis.

Postingan Populer

Yang Paling Banyak Membaca

Tentang Kontrol Filter di Google Data Studio
Komputer

Tentang Kontrol Filter di Google Data Studio

Heng Kiong mengajar Teknologi Informa i, terma uk anali i bi ni dan i tem informa i manajemen, di ebuah perguruan tinggi. aat Anda menambahkan filter dan membagikan Laporan Anda dengan orang lain, And...
Mengapa iPhone Saya Mengatakan "Tidak Ada Kartu Sim Terpasang"?
Ponsel

Mengapa iPhone Saya Mengatakan "Tidak Ada Kartu Sim Terpasang"?

aya eorang penuli yang uka meneliti dan menuli tentang banyak topik berbeda, dari ke ehatan hingga teknologi dan kembali lagi.Apakah itua i ini terdengar a ing bagi Anda?Anda telah menggunakan iPhone...