Kod Blok IDE - persediaan dan penggunaan. IDE Blok Kod – sediakan dan gunakan Pembelajaran untuk memprogramkan dengan blok kod

Code::Blocks ialah persekitaran pembangunan bersepadu sumber terbuka (IDE) percuma yang menyokong penggunaan pelbagai penyusun. Secara lalai, Code::Blocks menggunakan pengkompil MinGW, yang disertakan dalam kit (anda boleh memuat turun pengedaran tanpa pengkompil terbina dalam). MinGW ialah varian pengkompil GNU C/C++ untuk Windows. MinGW adalah singkatan untuk "Minimalist GNU for Windows". Suite MinGW termasuk alat pengaturcaraan sumber terbuka yang tidak bergantung pada mana-mana perpustakaan pihak ketiga berbayar. Ia digunakan oleh banyak persekitaran pembangunan (Visual Studio menggunakan pengkompilnya sendiri). MinGW termasuk GNU Compiler Collection (GCC), termasuk C, C++, ADA dan Fortran compiler. Kod::Blocks mempunyai seni bina terbuka, yang membolehkannya menskala menggunakan pemalam (anda boleh menulis program untuk Windows, Linux dan pelbagai mikropemproses seperti avr dan stm32). Penyahpepijat kod dalam Code::Blocks menyokong titik putus dalam kod sumber atau dalam data yang diproses oleh program.

Code::Blocks tersedia untuk Windows, Linux dan Mac OS X. Tapak web projek ialah codeblocks.org.

Memasang pengkompil MinGW

Memasang Kod::Sekat itu sendiri tidak sukar. Ia hanya dinasihatkan untuk memasangnya dalam folder yang tiada ruang atau aksara Cyrillic dalam laluan. Mari lihat memasang pengkompil MinGW. Sebagai peraturan, pengedaran Code::Blocks mengandungi versi lama pengkompil MinGW, jadi dinasihatkan untuk memuat turun Kod::Blok tanpa pengkompil MinGW dan memasang pengkompil secara berasingan. Mula-mula, muat turun pemasang dari tapak web projek mingw.org. Selepas pelancaran, tetingkap berikut akan muncul.


klik Pasang dan kami mendapat tetingkap berikut.


Di sini di padang Direktori Pemasangan menunjukkan lokasi fail pengkompil. Lalainya ialah C:\MinGW, kita tinggalkan. klik teruskan dan muat turun dan pemasangan pengurus untuk memasang MinGW bermula.


klik teruskan dan kami mendapat tetingkap berikut.


Untuk pengaturcaraan dalam C++, pilih pakej untuk dipasang mingw32-base-bin (Pemasangan MinGW Asas) Dan mingw32-gcc-g++-bin (Pengkompil GNU C++), dan kemudian klik pada menu Pemasangan -> Gunakan Perubahan. Tetingkap akan muncul menunjukkan muat turun pakej yang dipilih.


Apabila pakej dimuat turun, klik pada butang tutup

Kali pertama anda menjalankan Code::Blocks, ia akan mengesan secara automatik pengkompil yang dipasang. Jika masalah timbul, anda perlu pergi ke menu Tetapan -> Pengkompil... dan pada tab Rangkaian alat boleh laku semak ketepatan laluan ke MinGW, serta nama fail pengkompil dan pemaut. Sekarang anda boleh membuat projek.

Mencipta Projek

Untuk membuat projek anda perlu pergi ke menu Fail -> Baharu -> Projek...


Dalam tetingkap yang muncul, pilih jenis projek yang diperlukan. Di sini kita melihat bahawa Code::Blocks mempunyai sejumlah besar templat projek. Dalam kes kami ia adalah Aplikasi konsol(aplikasi konsol).


Dalam tetingkap seterusnya, pilih bahasa pengaturcaraan untuk digunakan. Pilih C++ dan klik pada butang Seterusnya.


Seterusnya di padang tajuk projek masukkan nama projek. Dalam kes kami ia adalah Ujian. Kami segera menunjukkan lokasi projek pada cakera (field Folder untuk membuat projek masuk). Dalam folder yang kami tentukan, Codeblcoks secara automatik akan mencipta folder dengan nama projek yang ditentukan sebelum ini. Selepas menentukan nama folder dan nama fail, klik pada butang Seterusnya.


Dalam tetingkap seterusnya, pilih pengkompil. Secara lalai, GNU GCC Compiler dipilih, yang akan kami gunakan.


klik Selesai dan kami mendapat program minimum, yang dipanggil Hello World!


Tekan F9 untuk menyusun dan menjalankan program dan dapatkan tetingkap berikut.


Sokongan Cyrillic dalam konsol

Kod projek standard yang dijana oleh persekitaran Code::Blocks tidak menyokong input dan output aksara Cyrillic dalam konsol. Untuk menyelesaikan masalah ini, anda mesti membuat perubahan kecil pada kod projek dahulu. Contoh kod sumber ditunjukkan di bawah.

Sumber

#termasuk #termasuk menggunakan ruang nama std; int main() ( SetConsoleCP(1251); // menetapkan halaman kod win-cp 1251 kepada aliran input SetConsoleOutputCP(1251); // menetapkan kod win-cp halaman 1251 kepada cout aliran output

Seterusnya, anda perlu menjalankan program, klik kiri pada tajuk tetingkap (di mana laluan ke fail .exe berjalan ditunjukkan) dan pilih item dalam menu konteks Hartanah. Kemudian pada tab fon pasang fon Konsol Lucida dan pilih saiz fon yang sesuai. Selepas ini, mesej dalam aplikasi konsol akan menyokong aksara Cyrillic.

Selamat petang kawan-kawan sekalian. Dengan artikel ini saya memulakan satu siri pelajaran yang didedikasikan untuk salah satu bahasa pengaturcaraan yang paling popular - C++. Pelajaran ditujukan terutamanya kepada pengguna yang tidak biasa dengan pengaturcaraan, jadi profesional, jangan tegas, walaupun saya menyokong kritikan, terutamanya terhadap diri saya sendiri. Dalam pelajaran saya, saya akan menggunakan persekitaran pembangunan Code::Blocks, yang percuma untuk dimuat turun dan digunakan. Mari kita mulakan sudah tentu dengan Hello klasik, dunia =)

Saya harap anda telah memuat turun dan memasang Code::Blocks, jika ya, mari mulakan. Melancarkan persekitaran pembangunan

Pertama sekali, buat projek kosong baru File->New->Project dan pilih Empty project

klik Pergi, kemudian Seterusnya


dan dalam tetingkap yang muncul, dalam medan Tajuk projek, taipkan tajuk projek, dalam Nama fail Projek nama projek dan sekali lagi Seterusnya.


Dalam tetingkap seterusnya, keluarkan dir Objek daripada bahagian konfigurasi Cipta "Nyahpepijat" dan Cipta "Release", seperti yang ditunjukkan dalam tangkapan skrin di atas dan klik butang Selesai. Projek yang dipanggil "Hello world" sepatutnya muncul di sebelah kanan.

Langkah seterusnya ialah menambah fail File->New->FIle... pada projek dan pilih sumber c/c++ dalam tetingkap yang muncul.

Pergi, Seterusnya sekali lagi, pilih C++, Seterusnya dan lihat tetingkap berikut

,

di sini kita perlu menentukan nama fail (saya namakan utama) dan laluannya, sebaik-baiknya folder dengan projek itu. Tandai kotak Nyahpepijat dan Keluarkan dan klik Selesai.

Dan kami menerima fail C++ kosong di mana kami akan menulis kod program itu sendiri.

Sekarang kita mula menulis kod program itu sendiri. Untuk memaparkan maklumat pada skrin, kami memerlukan perpustakaan I/O iostream.

#termasuk

menggunakan ruang nama std ;

Kemudian kita akan menulis fungsi utama yang akan dilaksanakan apabila program bermula

int utama()

ia mesti dipanggil "utama" dan kami menunjukkan jenisnya int (kita akan membincangkannya dalam pelajaran seterusnya). Antara pendakap kerinting dan akan menjadi kod program. Kami akan menulis program mudah yang akan memaparkan ucapan "Hello, dunia!" dalam konsol.

cout<<"Hai dunia!" ;

Selepas setiap arahan anda mesti meletakkan ";", ini memberitahu pengkompil bahawa arahan itu selesai dan yang seterusnya boleh diproses. cout - Mencetak nilai pembolehubah atau rentetan ke baris arahan.

Penyenaraian program penuh.

#termasuk

menggunakan ruang nama std;

int utama ()

cout<< "Hello, world!" ;

kembali 0 ;

Kami melancarkan projek dan melihat hasilnya.


Di bawah saya lampirkan pelajaran video pada artikel ini.

Jika anda mempunyai sebarang soalan, sila tulis komen ke Alamat e-mel ini dilindungi daripada spambots. Anda mesti mendayakan JavaScript untuk melihatnya. ,">Alamat e-mel ini dilindungi daripada spambots. Anda mesti mendayakan JavaScript untuk melihatnya., saya akan memperhalusi pelajaran atau sekadar membantu dalam mempelajari bahan.

  • < Назад

Selamat petang kawan-kawan sekalian. Dengan artikel ini saya memulakan satu siri pelajaran yang didedikasikan untuk salah satu bahasa pengaturcaraan yang paling popular - C++. Pelajaran ditujukan terutamanya kepada pengguna yang tidak biasa dengan pengaturcaraan, jadi profesional, jangan tegas, walaupun saya menyokong kritikan, terutamanya terhadap diri saya sendiri. Dalam pelajaran saya, saya akan menggunakan persekitaran pembangunan Code::Blocks, yang percuma untuk dimuat turun dan digunakan. Mari kita mulakan sudah tentu dengan Hello klasik, dunia =)

Saya harap anda telah memuat turun dan memasang Code::Blocks, jika ya, mari mulakan. Melancarkan persekitaran pembangunan

Pertama sekali, buat projek kosong baru File->New->Project dan pilih Empty project

klik Pergi, kemudian Seterusnya


dan dalam tetingkap yang muncul, dalam medan Tajuk projek, taipkan tajuk projek, dalam Nama fail Projek nama projek dan sekali lagi Seterusnya.


Dalam tetingkap seterusnya, keluarkan dir Objek daripada bahagian konfigurasi Cipta "Nyahpepijat" dan Cipta "Release", seperti yang ditunjukkan dalam tangkapan skrin di atas dan klik butang Selesai. Projek yang dipanggil "Hello world" sepatutnya muncul di sebelah kanan.

Langkah seterusnya ialah menambah fail File->New->FIle... pada projek dan pilih sumber c/c++ dalam tetingkap yang muncul.

Pergi, Seterusnya sekali lagi, pilih C++, Seterusnya dan lihat tetingkap berikut

,

di sini kita perlu menentukan nama fail (saya namakan utama) dan laluannya, sebaik-baiknya folder dengan projek itu. Tandai kotak Nyahpepijat dan Keluarkan dan klik Selesai.

Dan kami menerima fail C++ kosong di mana kami akan menulis kod program itu sendiri.

Sekarang kita mula menulis kod program itu sendiri. Untuk memaparkan maklumat pada skrin, kami memerlukan perpustakaan I/O iostream.

#termasuk

menggunakan ruang nama std ;

Kemudian kita akan menulis fungsi utama yang akan dilaksanakan apabila program bermula

int utama()

ia mesti dipanggil "utama" dan kami menunjukkan jenisnya int (kita akan membincangkannya dalam pelajaran seterusnya). Antara pendakap kerinting dan akan menjadi kod program. Kami akan menulis program mudah yang akan memaparkan ucapan "Hello, dunia!" dalam konsol.

cout<<"Hai dunia!" ;

Selepas setiap arahan anda mesti meletakkan ";", ini memberitahu pengkompil bahawa arahan itu selesai dan yang seterusnya boleh diproses. cout - Mencetak nilai pembolehubah atau rentetan ke baris arahan.

Penyenaraian program penuh.

#termasuk

menggunakan ruang nama std;

int utama ()

cout<< "Hello, world!" ;

kembali 0 ;

Kami melancarkan projek dan melihat hasilnya.


Di bawah saya lampirkan pelajaran video pada artikel ini.

Jika anda mempunyai sebarang soalan, sila tulis komen ke Alamat e-mel ini dilindungi daripada spambots. Anda mesti mendayakan JavaScript untuk melihatnya. ,">Alamat e-mel ini dilindungi daripada spambots. Anda mesti mendayakan JavaScript untuk melihatnya., saya akan memperhalusi pelajaran atau sekadar membantu dalam mempelajari bahan.

  • < Назад

Persekitaran pembangunan bersepadu (IDE) Kod::Blok (selepas ini dirujuk sebagai CB) ialah produk lengkap untuk membangunkan aplikasi dalam bahasa C/C++. CB ialah rangka kerja merentas platform yang dibangunkan menggunakan perpustakaan alat wxWidgets. Terdapat versi persekitaran untuk kedua-dua Windows dan sistem pengendalian (OS) lain - Linux dan Mac OS. IDE ini adalah percuma sepenuhnya, sumber terbuka dan dibina sepenuhnya menggunakan teknologi sumber terbuka. Salah satu kekuatan terbesar CB ialah sokongannya untuk mencipta aplikasi wxWidgets—iaitu perisian yang menggunakan API OS untuk menghasilkan antara muka pengguna grafik (GUI). Dengan kata lain, CB membolehkan anda mencipta perisian merentas platform untuk setiap citarasa.

CB boleh berfungsi dengan sejumlah besar penyusun. Jika terdapat beberapa daripadanya dipasang dalam sistem, anda boleh menukar antara mereka dengan mudah, bergantung pada keperluan anda. Selain itu, pada peringkat pemasangan, IDE itu sendiri akan mengimbas sistem untuk pengkompil yang tersedia dan menawarkan untuk menggunakannya sebagai yang utama. Anda boleh menukar tetapan ini kemudian, secara global dan secara individu untuk projek. Untuk tetapan persekitaran global, terdapat keseluruhan bahagian "Tetapan" dalam menu utama CB. Untuk membuat sebarang tetapan khusus khusus untuk projek tertentu, anda perlu membuka tetingkap sifat projek. Untuk melakukan ini, anda perlu memanggil menu konteks projek dengan mengklik kanan padanya dan memilih "Properties". Projek itu sendiri (kini dibuka dalam IDE) dipaparkan sebagai pepohon dalam panel dok "Pengurusan", dalam tab "Projek"nya. Kini, dalam tetingkap sifat yang terbuka, anda boleh mengkonfigurasi pelbagai jenis parameter, daripada mengedit sasaran binaan kepada menyambungkan perpustakaan pihak ketiga. Butang "Pilihan binaan Projek" pada tab "Tetapan Projek" pada tetingkap sifat yang sama membolehkan anda mengkonfigurasi konfigurasi binaan untuk projek tertentu dengan sangat fleksibel: kekunci pengkompil, pilih pengkompil itu sendiri, sambungkan perpustakaan untuk pemaut, dsb. Semua ini boleh dilakukan untuk mod individu: "Lepaskan" "Nyahpepijat".

GUI CB dibina di sekeliling panel dok terapung dan boleh renggang yang boleh dilabuhkan ke mana-mana bahagian tetingkap IDE utama dengan hanya menyeretnya menggunakan tetikus. Terima kasih kepada ini, anda boleh mengkonfigurasi susun atur antara muka yang berbeza dengan sangat fleksibel untuk saiz skrin yang berbeza, mengoptimumkan ergonomik GUI. Jika terdapat beberapa monitor, adalah mudah untuk memisahkan beberapa panel dari tetingkap utama dan meletakkannya pada monitor bersebelahan.

Alat penyerlahan, penyelesaian kod dan penyuntingan dalam CB menjadikan proses bekerja dengan kod mudah dan selesa. Sekumpulan besar tetapan membolehkan anda menyesuaikan persekitaran "untuk diri sendiri" dengan sangat halus. Ia sangat berguna untuk mempunyai sokongan untuk bekerja dengan pembolehubah persekitaran. Terima kasih kepada ciri ini, CB boleh disepadukan dengan sangat rapat ke dalam sistem dan keupayaannya boleh dikembangkan, contohnya, dengan cara ini anda boleh menyambungkan perpustakaan wxWidgets.

By the way, untuk membangunkan aplikasi GUI berdasarkan wxWidgets, CB mempunyai alat RAD terbina dalam untuk reka bentuk GUI - wxSmith. Ini adalah utiliti yang agak berkuasa, walaupun tidak sepenuhnya mudah dipelajari.

Versi awal (belum selesai).

1 Pemasangan dan konfigurasi persekitaran pembangunan

1.1 Maklumat am

Mula-mula anda perlu memasang persekitaran pembangunan, yang akan menjadi persekitaran perisian bersepadu Code::Blocks. Faedah utama Code::Blocks termasuk:

  • lesen percuma GPL v3.0, khususnya, pengedaran dan penggunaan percuma dibenarkan;
  • persekitaran boleh dijalankan pada sistem pengendalian keluarga Windows, Linux, OS X (iaitu, ia adalah platform silang);
  • keupayaan untuk bekerja dengan pelbagai penyusun.

Fail ini memasang kedua-dua persekitaran Code::Blocks dan persekitaran MinGW, yang menyediakan keluarga pengkompil GCC. Persekitaran MinGW juga merupakan perisian percuma.

1.2.1.2 Proses pemasangan

Anda perlu menjalankan fail codeblocks-10.05mingw-setup.exe. Tetingkap pemasang akan muncul.

Anda perlu klik "Seterusnya". Tetingkap akan muncul dengan teks lesen percuma GPL v3.0.

Mengklik butang "Saya Setuju" bermakna anda bersetuju menerima terma lesen dan membolehkan anda meneruskan pemasangan program, di mana tetingkap pemilihan komponen akan muncul. Dalam tetingkap ini anda perlu memilih jenis pemasangan "Penuh: Semua pemalam, semua alat, semua sahaja".

Selepas ini, anda perlu mengklik butang "Seterusnya". Tetingkap akan muncul dengan nama direktori pemasangan. Adalah lebih baik nama direktori penuh tidak mengandungi ruang atau huruf selain daripada Latin. Oleh itu, sebagai contoh, adalah lebih baik untuk menggantikan nama C:\Program Files\CodeBlocks dengan sesuatu yang lain, contohnya, C:\CodeBlocks atau C:\Programs\CodeBlocks .

Selepas ini, anda boleh mengklik butang "Pasang", yang memulakan proses pemasangan itu sendiri.

Pada penghujung proses, tetingkap akan muncul meminta anda melancarkan Code::Blocks. Lebih baik klik "Tidak" di sini dan kemudian semak Kod:: Sekatan bermula dengan cara biasa.

Selepas ini, hanya klik butang "Seterusnya" dan kemudian "Selesai" untuk menyelesaikan proses pemasangan.

1.2.1.3 Pelancaran pertama

Jalan pintas untuk melancarkan Code::Blocks sepatutnya muncul dalam bar alat Pelancaran Pantas. Juga, pintasan yang serupa harus muncul pada desktop.

Kod::Blok boleh dilancarkan menggunakan pintasan ini, serta menggunakan menu program sistem standard.

Pada pertama Apabila anda memulakan Code::Blocks, tetingkap akan muncul untuk mencari pengkompil secara automatik.

Ambil perhatian bahawa baris pertama harus mengandungi perkataan "Dikesan". Ini bermakna penyusun telah dijumpai. Anda mesti klik "OK". Proses larian pertama akan diteruskan dan persekitaran pembangunan akan dilancarkan. Tetingkap dengan hujung hari akan muncul.

Jika anda tidak mahu tetingkap ini muncul setiap kali anda memulakan Code::Blocks, kemudian nyahtanda kotak semak "Tunjukkan petua semasa permulaan dalam tetingkap ini". Klik "Tutup" untuk menutup tetingkap ini.

Selepas ini, tetingkap berikut mungkin muncul.

Di sini adalah lebih baik untuk mengklik "OK" supaya fail berkaitan C/C++ dipautkan ke Code::Blocks.

Anda juga boleh menutup tetingkap "Konsol skrip".

1.2.2 Pemasangan untuk sistem pengendalian Linux

Dalam kes Linux, anda boleh memasang Code::Blocks menggunakan pakej untuk pengedaran yang anda inginkan daripada yang disenaraikan di halaman ini.

Anda juga boleh cuba mencari Code::Blocks dalam repositori pengedaran Linux anda. Sebagai contoh, pakej Code::Blocks (10.05-1) tersedia dalam repositori Ubuntu 11.04.

1.3 Persediaan

Sebagai permulaan, anda boleh mengedarkan bar alat dengan lebih padat di bahagian atas tetingkap.

Selepas ini, anda perlu membuat beberapa perubahan pada tetapan asas.

Pilih menu "Settings => Compiler and debugger...". Tetingkap tetapan akan muncul.

Dalam tetingkap ini anda perlukan letak tandakan kotak untuk "Hasilkan simbol penyahpepijatan". Perubahan ini akan membolehkan anda melakukan mod nyahpepijat, yang akan dibincangkan dalam kuliah kemudian.

Tanpa menutup tetingkap ini, anda perlu mengklik tab "Pilihan lain".

Dan dalam medan edit anda perlu menambah baris berikut.

Finput-charset=CP1251 -fexec-charset=CP866

Ini akan membolehkan abjad Cyrillic dipaparkan dengan betul dalam konsol dalam kes sistem pengendalian Windows. Apabila menggunakan Code::Blocks pada sistem pengendalian lain (contohnya, Linux), anda tidak perlu menambah baris ini.

Tanpa menutup tetingkap ini, anda perlu mengklik pada gambar di sebelah kiri dengan tulisan "Tetapan Debugger", dan kemudian letak tandakan kotak untuk "Evaluate expression under cursor".

Selepas itu klik "OK". Semua perubahan yang dibuat mesti berkuat kuasa.

2 Projek pertama

2.1 Membuat projek

Sekarang mari cuba buat program dalam C.

Untuk melakukan ini, anda perlu membuat projek. Secara umum, projek diperlukan untuk menggabungkan beberapa fail menjadi satu keseluruhan. Tetapi dalam kes ini lebih mudah untuk membuat projek untuk satu fail. Di samping itu, pada masa akan datang ia akan menjadi lebih biasa untuk bekerja dengan projek itu.

Jadi, untuk mencipta projek, pilih menu "Fail", kemudian pilih "Baru" daripada senarai yang muncul, kemudian pilih "Projek" daripada senarai yang muncul (untuk ringkasnya, tindakan ini boleh ditetapkan sebagai "Fail => Baru =>Projek", dan pada masa hadapan akan ada penggunaan notasi yang lebih pendek). Akibatnya, kotak dialog akan muncul.

Di dalamnya, pilih "Aplikasi konsol" dan klik "Pergi". Wizard Projek Baharu muncul.

Klik "Seterusnya". Tetingkap berikut akan muncul.

Di sini anda perlu memilih C (bukan C++) dan klik "Seterusnya". Tetingkap berikut akan muncul.

Dalam baris "Tajuk projek", masukkan nama projek, contohnya, Project01. Ambil perhatian bahawa dalam baris "Nama fail projek" nama ini akan disalin. Nama fail ini boleh ditukar (berbeza dengan nama projek), tetapi untuk kemudahan adalah lebih baik untuk membiarkannya sama. Kemudian, dalam baris "Folder untuk mencipta projek dalam" (folder untuk mencipta projek di dalamnya), anda perlu menentukan folder di mana folder dengan projek itu akan ditempatkan. Anda boleh sama ada memilih folder daripada yang tersedia menggunakan butang "..." atau taip nama folder secara manual, contohnya, C:\Projects.

Kemudian folder dengan nama projek akan dibuat dalam folder yang dipilih, di mana projek itu sendiri akan ditempatkan. Anda boleh menyemak ini dengan memberi perhatian kepada baris "Nama fail terhasil".


Apabila menentukan nama projek dan nama folder untuk projek, jangan benarkan nama folder dengan ruang atau huruf yang bukan Latin(baris "Nama fail terhasil" tidak boleh mengandungi ruang dalam nama folder, dan juga tidak boleh mengandungi huruf selain daripada Latin).

Klik Seterusnya. Tetingkap berikut akan muncul.

Biarkan tetapan ini tidak berubah. Klik "Selesai". Projek itu akan dibuat.

Di bahagian atas kiri (dalam tetingkap "Pengurusan") projek dengan folder "Sumber" akan dipaparkan.

Anda perlu klik pada "+" (atau klik dua kali pada folder) dan folder ini akan dibuka.

Ia akan mengandungi satu fail main.c tunggal. Anda perlu mengklik dua kali padanya, kemudian medan pengeditan akan dibuka di sebelah kanan, di mana kandungan fail ini akan dipaparkan (di bahagian atas akan terdapat tab dengan nama fail).

Tetingkap penyuntingan akan memaparkan teks program pertama dengan penyerlahan. Sila ambil perhatian bahawa bahagian teks yang berlainan menggunakan warna yang berbeza untuk menjadikan teks lebih mudah dibaca.

Ini ialah program mudah pertama yang memaparkan teks "Hello world!" ("Hai dunia!"). Secara tradisinya, ini adalah program yang digunakan sebagai program pertama apabila membiasakan diri dengan bahasa pengaturcaraan. Dalam kes Code::Blocks, program ini dicipta secara automatik apabila anda mencipta projek baharu.

Saiz fon dalam tetingkap penyuntingan boleh diubah dengan mudah. Untuk melakukan ini, putar roda pada tetikus sambil menahan kekunci Ctrl.

Anda juga boleh menggunakan menu "Tetapan => Editor" dan, dengan mengklik butang "Pilih" di bahagian atas sebelah kanan, menukar bukan sahaja saiz fon, tetapi juga fon itu sendiri. Perlu diingat bahawa semasa menulis program, lebih baik menggunakan fon di mana semua huruf mempunyai lebar yang sama. Fon sedemikian, sebagai contoh, termasuk fon berikut: Kurier Baharu, Kurier, Liberation Mono, Lucida Console, Monospace, dsb.

Jika ternyata tetingkap "Pengurusan" atau beberapa tetingkap lain yang diperlukan hilang pada skrin, maka anda perlu memilih menu Lihat dan dalam menu yang muncul, pilih item yang sepadan dengan tetingkap yang dikehendaki.

Jika tiba-tiba projek itu ditutup, sebagai contoh, apabila keluar dan memasukkan semula Kod::Blok, ia boleh dibuka semula. Untuk melakukan ini, pilih menu "Fail => Projek terbaharu", di mana, kemudian, dalam senarai yang muncul, pilih projek yang dikehendaki. Atau anda boleh menggunakan menu "Fail => Buka", dan kemudian pilih fail Project01.cbp.

2.2 Membina dan menjalankan program

Program ini akan dibincangkan secara terperinci sedikit kemudian, tetapi sekarang mari cuba jalankannya.

Untuk melakukan ini ia mesti dilakukan kompilasi teks program (Menyusun), dan menggunakan susun atur(Memaut) fail boleh laku dengan sambungan .exe mesti dibuat, yang akan dilancarkan. Keseluruhan proses penyusunan dan penghubung ini dipanggil perhimpunan(Bangunan).

Perlu diingatkan bahawa proses yang dilambangkan di sini dengan perkataan Menyusun juga sering dipanggil proses siaran. Terdapat variasi terminologi yang berbeza dalam bidang ini. Sebagai contoh, proses pemasangan di atas boleh dipanggil kompilasi, yang seterusnya terdiri daripada langkah terjemahan dan pautan. Tetapi sekarang kami tidak akan menyelidiki isu-isu terminologi, dan hanya akan menggunakan versi Inggeris istilah sebagai asas, secara semula jadi, dengan terjemahan ke dalam bahasa Rusia. Jadi kita akan bercakap tentang perhimpunan(Bangunan), terdiri daripada peringkat kompilasi(Menyusun) dan susun atur(Menghubungkait). Pilihan ini dalam kes ini kelihatan lebih mudah, kerana nama yang sepadan dalam bahasa Inggeris boleh diperhatikan semasa proses pemasangan.

Persekitaran pembangunan bersepadu Kod::Blok membolehkan anda mengautomasikan pemasangan dan pelancaran (Jalankan) program. Untuk membina dan menjalankan program, hanya laksanakan arahan "Bina dan jalankan" dengan menekan butang atau kekunci F9. Pilihan lain ialah memilih menu "Bina => Bina dan jalankan".

Dalam tetingkap bawah (mesej tentang proses binaan) perkataan "Menyusun", "Memautkan", dsb. akan muncul, yang mencerminkan kemajuan menyusun dan memautkan atur cara.


Akibatnya, tetingkap konsol akan muncul, di mana di bahagian atas ayat yang dinyatakan dalam program dalam petikan akan dipaparkan, iaitu ayat "Hello world!"

Oleh itu, program memaparkan rentetan yang diberikan pada skrin.

Di bawah baris ini akan ada dua baris. Yang pertama memaparkan kod pemulangan program dan masa yang dihabiskan untuk melaksanakan program. Yang kedua memaparkan mesej bahawa anda mesti menekan sebarang kekunci untuk meneruskan. Kedua-dua baris ini dijana secara automatik jika program dijalankan daripada Code::Blocks.

Fon yang digunakan dalam tetingkap konsol boleh ditukar jika perlu. Sebagai contoh, dalam kes sistem pengendalian Windows, anda boleh mencuba langkah berikut.

klik betul klik pada ikon di sudut kiri atas tetingkap konsol. Menu pop timbul akan muncul di mana anda perlu memilih item "Lalai".

Tetingkap tetapan akan muncul.

Dalam tetingkap ini anda perlu memilih fon yang dikehendaki (contohnya, Lucida Console). Kemudian, untuk fon ini anda perlu memilih saiz yang dikehendaki (contohnya, 14). Selepas ini, anda perlu mengklik "OK" untuk menyimpan tetapan.

Kemudian, anda perlu menutup tetingkap konsol dengan menekan sebarang kekunci.

Selepas ini, anda perlu memulakan semula program dengan menekan butang atau kekunci F9 (atau memilih menu "Bina => Bina dan jalankan").

Tetingkap konsol kini sepatutnya mempunyai fon baharu.

2.3 Penerangan program

Kini, selepas berjaya melancarkan program dan menyemak operasinya, anda boleh melihat dengan lebih dekat komponen program yang dicipta secara automatik semasa mencipta projek. Mari kita lihat teks program ini.

#termasuk #termasuk int utama() { printf("Hello dunia!\n" ); pulangan 0; }

Perkataan utama diberikan di mana pelaksanaan mana-mana program bermula. Ini bermakna fungsi utama dari mana segala-galanya bermula. Mungkin terdapat panggilan ke fungsi lain dalam fungsi ini, tetapi semuanya bermula dengan melaksanakan kandungan main . Selepas nama fungsi ini terdapat kurungan tanpa apa-apa di antara mereka. Ini bermakna fungsi ini tidak mempunyai sebarang hujah. Setiap fungsi mesti mempunyai kurungan, walaupun ia tidak mempunyai hujah.

Kandungan fungsi, dan dalam kes ini kandungan keseluruhan program, terletak di antara pendakap kerinting. Ia sepadan dengan permulaan dan akhir seperti yang digunakan pada bahasa Pascal.

Sebelum nama utama ialah perkataan int, yang menentukan jenis nilai yang dikembalikan oleh fungsi. Dalam kes ini, ia adalah jenis integer (pada masa hadapan, jenis data yang berbeza akan dibincangkan secara berasingan). Fungsi utama (iaitu, pada dasarnya program utama) mengembalikan kod keluar program. Secara amnya dipercayai bahawa program harus mengembalikan nilai 0 semasa pelaksanaan biasa. Mengembalikan nilai ini dilakukan dengan menggunakan kembali 0 pendakap kerinting penutup.

Juga antara pendakap kerinting adalah panggilan fungsi yang dipanggil printf . Fungsi ini digunakan dalam kes ini untuk memaparkan teks pada skrin. Tanda kurung untuk fungsi ini menunjukkan hujahnya. Di sini satu-satunya hujah ialah rentetan yang disertakan dalam petikan berganda. Garis inilah yang dicetak ke skrin oleh fungsi printf. Tetapi gabungan aksara \n tidak dipaparkan pada skrin. Gabungan ini menunjukkan aksara baris baharu, yang tidak dicetak pada skrin, tetapi bermakna baris baharu harus dilakukan di lokasi tersebut.

Untuk memahami maksud aksara baris baharu, cuba alih keluar gabungan \n daripada baris, jalankan atur cara dan lihat hasilnya. Cuba juga gunakan gabungan \n beberapa kali berturut-turut, jalankan program dan lihat hasilnya. Kemudian kembalikan versi asal program.

Terdapat koma bertitik selepas panggilan fungsi printf. Ini membolehkan pengendali individu dipisahkan antara satu sama lain. Secara khusus, ia memisahkan panggilan fungsi printf daripada penyata pulangan.

Ia kekal untuk memahami mengapa talian dalam program ini diperlukan. Tanpa pergi ke butiran, kita boleh mengatakan bahawa baris diperlukan untuk membolehkan anda menggunakan fungsi printf, kerana baris ini memungkinkan untuk mendapatkan maklumat tentang fungsi ini. Baris ini termasuk fail stdio.h, yang namanya ditunjukkan dalam kurungan sebagai aksara< и >. Perintah #include menunjukkan kemasukan fail ini. Sambungan ini membolehkan anda menggunakan fungsi yang diisytiharkan dalam fail ini, khususnya fungsi printf. Baris dalam program ini biasanya tidak diperlukan, tetapi prinsip operasinya adalah serupa, hanya fail lain (stdlib.h) disertakan di sini.

2.4 Perubahan program

Kini anda boleh beralih kepada mengedit fail main.c.

Anda boleh menaip sebarang teks dalam medan edit, sama seperti dalam editor biasa. Pada masa hadapan, contoh atur cara dan serpihan program boleh ditampal dengan mudah ke dalam medan edit menggunakan penyalinan biasa blok teks. Mari kita pertimbangkan tindakan yang serupa dalam contoh berikut.

Kandungan fail main.c dijana secara automatik. Tetapi program sedemikian boleh ditulis sedikit lebih ringkas, dan juga diubah sedikit dengan menambah tanda seru.

#termasuk int utama()( printf("Hello dunia!!!\n" ); pulangan 0; )

Kini program ini mesti dipindahkan ke tetingkap penyuntingan menggunakan penyalinan biasa. Untuk melakukan ini, anda perlu memilih teks program dan menyalin teks yang dipilih ke papan keratan, contohnya, dengan mengklik butang kanan tetikus dan memilih "Salin" dari menu). Kemudian, anda perlu beralih kepada tetingkap penyuntingan Code::Blocks, serlahkan teks di sana, dan tampal teks daripada papan keratan, contohnya, dengan memilih menu "Edit => Tampal" atau dengan memilih, selepas mengklik kanan, menu "Edit => Tampal". Versi program ini sepatutnya muncul dalam tetingkap penyuntingan.

Simpan versi baharu program. Untuk melakukan ini, hanya tekan Ctrl-S (atau pilih menu "Fail => Simpan fail"). Latih diri anda untuk menyimpan fail selepas setiap perubahan, walaupun kecil, dalam teks program. Jika tidak, apabila ia membeku, beberapa jumlah kerja mungkin hilang.

Cuba jalankan versi program baharu ini.

Tugas mengawal diri

  1. Tukar teks "Hello world!!!" kepada beberapa bahasa lain, semasa menggunakan bahasa Rusia. Jalankan program untuk menyemak perubahan.
  2. Tukar nilai 0 selepas kembali kepada beberapa nilai berangka lain, contohnya, 5. Jalankan program dan semak bahawa selepas "Proses dikembalikan" nilai angka baharu dipaparkan dalam tetingkap konsol.
  3. Pastikan bahawa apabila anda memulakan program, sebelum mencetak baris "Hello world!!!" terdapat anjakan ke bawah satu baris pada skrin. Untuk melakukan ini, letakkan \n pada permulaan baris yang digunakan sebagai hujah kepada fungsi printf. Jalankan program untuk memastikan tugasan selesai dengan betul.
  4. Pastikan bahawa apabila anda memulakan program, sebelum mencetak baris "Hello World!" terdapat anjakan ke bawah beberapa baris pada skrin. Untuk melakukan ini, letakkan gabungan \n beberapa kali berturut-turut pada permulaan baris yang digunakan sebagai hujah kepada fungsi printf (bermaksud rentetan yang terletak di dalam kurungan dalam tanda petikan). Jalankan program untuk memastikan tugasan selesai dengan betul.
  5. Cetak baris "Hello world!!!" tiga kali dalam tiga baris berturut-turut pada skrin (satu salinan setiap baris), meletakkan gabungan \n di tempat yang betul.
  6. Pastikan bahawa apabila anda memulakan program, baris "Hello world!!!" dipaparkan tepat di tengah-tengah skrin. Untuk melakukan ini, anda perlu mengalihkan baris ke bawah dan ke kanan menggunakan \n dan ruang.
  7. Paparkan tiga perkataan berbeza serentak di tiga tempat pada skrin: di sudut atas dan di tengah skrin. Gunakan dua panggilan printf berturut-turut dengan rentetan berbeza sebagai argumen, menggunakan \n dan ruang dengan cara yang istimewa dalam setiap kes.

2.5 Menjalankan program di luar persekitaran pembangunan dalam kes Windows

Folder projek, laluan yang ditentukan semasa mencipta projek (lihat), harus mengandungi folder bin/Debug. Dan dalam folder ini harus ada fail boleh laku Project01.exe, yang diperoleh hasil daripada membina program.

Fail boleh laku (aplikasi) ini boleh dilancarkan menggunakan cara standard (contohnya, menggunakan Explorer), iaitu luar Kod::Menghalang persekitaran pembangunan. Selain itu, sebagai contoh, anda boleh membuat pintasan ke fail ini dan meletakkannya pada desktop anda supaya anda boleh melancarkannya dari sana.

Tetapi apabila dilancarkan dengan cara ini, tetingkap konsol dengan baris keluaran muncul dan serta-merta hilang, kerana program tamat serta-merta, tanpa menunggu arahan pengguna. Kenapa ini terjadi? Masalahnya ialah apabila dilancarkan dari Code::Blocks, menunggu untuk menekan mana-mana kekunci ditambah secara automatik, tetapi aplikasi itu sendiri tidak menyediakannya.

Untuk melaksanakan menunggu kekunci yang ditekan (dalam kes Windows), anda perlu menukar program dengan menambah beberapa baris. Kemudian ia akan mengambil bentuk berikut.

#termasuk #termasuk int main () ( printf("Hello world!!!\n" ); getch(); return 0; )

Cuba jalankan program ini daripada Code::Blocks. Untuk melakukan ini, letakkan program yang ditentukan dalam medan edit bukannya tersedia, dan jalankan program dengan menekan butang atau kekunci F9 (atau memilih menu "Bina => Bina dan jalankan").

Perhatikan bahawa selepas mencetak "Hello world!!!" Kini tiada lagi yang dicetak kerana sedang menunggu kekunci ditekan. Tetapi selepas menekan kekunci, dua baris yang sudah biasa dikeluarkan ("Proses dikembalikan ... " dan "Tekan sebarang kekunci untuk meneruskan."). Selepas baris ini, kami sekali lagi menunggu untuk menekan kekunci (yang disediakan oleh persekitaran Code::Blocks).

Sekarang jika anda menjalankan program ini luar Kod::Blok, dengan menjalankan fail Project01.exe, teks yang ditentukan akan dipaparkan dalam tetingkap dan program akan menunggu kekunci ditekan untuk selesai.

Untuk mengubah suai program dengan cara ini, dua baris diperlukan: satu mengandungi conio.h dan satu mengandungi getch . conio.h diperlukan untuk membolehkan fungsi getch dipanggil. Ini serupa dengan menyambungkan stdio.h untuk dapat memanggil fungsi printf. Fungsi getch menunggu untuk menekan kekunci.

Perubahan sedemikian tidak akan ditunjukkan pada masa hadapan, tetapi jika perlu, anda sentiasa boleh membuatnya untuk memastikan anda menunggu kekunci ditekan sebelum menamatkan program.

2.6 Mesej tentang amaran dan ralat dalam program

Apabila membina program (apabila cuba menjalankannya selepas perubahan), amaran dan ralat mungkin muncul. Mari kita lihat bagaimana ini berlaku menggunakan contoh. Cuba jalankan program berikut.

#termasuk int main () ( printf("Hello world!!!\n" ); )

Program ini tidak mengandungi pulangan, tetapi ia akan dijalankan. Cuba jalankannya.

Walau bagaimanapun, semasa penyusunan, amaran akan dikeluarkan kerana fakta bahawa tiada penyata pemulangan. Apabila anda memulakan program, amaran ini hilang kerana ia tidak menjejaskan permulaan program. Tetapi ia boleh dibaca jika anda hanya membina fail (tanpa menjalankan aplikasi). Untuk melakukan ini, anda perlu mencipta arahan "Bina" dengan menekan Ctrl-F9, atau dengan mengklik butang, atau dengan memilih menu "Bina => Bina".

Tetapi jika program tidak berubah sejak binaan atau pelancaran sebelumnya, maka binaan baharu tidak akan dilaksanakan. Dan dalam tetingkap di bawah mesej akan dipaparkan yang menyatakan bahawa pemasangan sudah pun terkini, dan tiada apa lagi yang perlu dilakukan untuk arahan ini ("Sasaran adalah terkini. Tiada apa yang perlu dilakukan.").

Dalam kes ini, anda perlu memasang semula. Untuk melakukan ini, anda perlu mencipta arahan "Bina Semula" dengan menekan Ctrl-F11, atau dengan mengklik butang, atau dengan memilih menu "Bina => Bina Semula". Selepas arahan ini dijana, tetingkap muncul untuk mengesahkannya. Untuk mengesahkan arahan ini, klik "Ya" dalam tetingkap yang ditentukan.

Kemudian di tetingkap bawah anda boleh melihat garis dengan amaran (biru), serta mesej tentang kehadiran satu amaran (1 amaran).

Secara umum, amaran membenarkan program dilaksanakan, tetapi memberi amaran kepada pengaturcara tentang kemungkinan ralat atau ketidaktepatan.

Pada masa hadapan, pernyataan pemulangan untuk fungsi utama tidak boleh digunakan untuk ringkas, seperti yang dilakukan dalam . Tetapi kita mesti mengambil kira bahawa ini menyebabkan amaran muncul.

Sekarang cuba jalankan program berikut.

#termasuk int main() ( printf( Hello dunia!!!\n); }

Ambil perhatian bahawa program tidak akan bermula. Sebaliknya, garisan dalam fon merah akan muncul di tetingkap bawah yang menunjukkan ralat.

Baris dalam program di mana terdapat ralat diserlahkan dengan segi empat sama merah.

Perlu diambil kira bahawa satu ralat yang sah boleh membawa kepada beberapa mesej ralat sekaligus. Dalam contoh ini, 5 ralat dijana, jadi 5 baris dipaparkan dalam fon merah.

Membandingkan program, tidak sukar untuk memahami bahawa ralat berlaku kerana fakta bahawa tanda petikan tidak dinyatakan. Sehubungan itu, ralat "Hello" yang tidak diisytiharkan dipaparkan. Perkataan "tidak diisytiharkan" bermaksud "tidak diisytiharkan", iaitu pengkompil cuba memahami maksud Hello dan apa yang sepatutnya dilakukan. Ia tidak dapat mencari perkataan ini di antara perkataan yang diketahui, jadi ia menimbulkan ralat. Jika perkataan ini dalam petikan berganda, maka ia dianggap sebagai rentetan, di dalamnya apa-apa boleh berada. Rentetan boleh dipaparkan pada skrin. Oleh itu, selepas membetulkan program (menambah petikan jika perlu), semuanya sepatutnya baik-baik saja.

Betulkan program dan pastikan ia berjalan dengan betul.

Tugas mengawal diri

  1. Cuba keluarkan pendakap kerinting terakhir dan jalankan program. Perhatikan bahawa ralat dicatatkan pada baris yang mengandungi printf , iaitu baris sebelumnya. Pulihkan program yang betul.
  2. Cuba alih keluar dua kurungan selepas main . Perhatikan bahawa ralat dicatatkan pada baris yang mengandungi pendakap kerinting, iaitu baris seterusnya. Pulihkan program yang betul.
  3. Cuba alih keluar kurungan pertama selepas main . Perhatikan bahawa ralat dicatat pada baris yang mengandungi main , yang merupakan baris yang sama. Pulihkan program yang betul.

Memandangkan tugas kawalan diri, adalah mudah untuk melihat bahawa ralat mungkin terkandung di sebelah garisan yang ditandakan dengan segi empat sama merah. Oleh itu, apabila ralat berlaku, garisan bersebelahan juga mesti dianalisis.

3 Maklumat asas

3.1 Integer

Untuk bekerja dengan data, khususnya dengan integer, anda memerlukan pembolehubah yang digunakan untuk menyimpan nombor tersebut. Pertama, anda perlu mengisytiharkan pembolehubah untuk mula bekerja dengannya.

Pengisytiharan berubah-ubah dilakukan seperti berikut.

variable_type variable_name;

Sebagai contoh, pembolehubah integer a diisytiharkan seperti berikut.

int a ;

Dalam kes ini, pembolehubah a adalah jenis int , yang menandakan jenis integer.

Pengisytiharan pembolehubah menentukan blok memori untuk menyimpan data jenis yang ditentukan. Sememangnya, anda boleh memilih beberapa blok yang serupa. Untuk membezakannya antara satu sama lain, blok ini dinamakan. Sebagai contoh, pengisytiharan int a memperuntukkan blok dengan nama a, pengisytiharan int b memperuntukkan blok dengan nama b, dsb. Dalam kes ini, anda boleh mengisytiharkan beberapa pembolehubah secara serentak, iaitu, memilih beberapa blok daripada jenis yang sama dengan nama yang berbeza. Untuk melakukan ini, nama blok ini disenaraikan dipisahkan dengan koma selepas penetapan jenis.

int x, y, z;

Pengisytiharan ini mengenal pasti tiga blok berbeza daripada jenis yang sama dengan nama yang berbeza.

Untuk menulis nilai pada blok data yang dipilih, anda perlu menetapkan nilai ini kepada pembolehubah yang sepadan, contohnya, ungkapan

memberikan pembolehubah nilai 10. Anda juga boleh menetapkan satu pembolehubah nilai pembolehubah lain, contohnya, ungkapan

memberikan pembolehubah a nilai pembolehubah b. Anda boleh menetapkan nilai yang sama kepada beberapa pembolehubah sekaligus. Untuk melakukan ini, sebagai contoh, anda boleh menggunakan ungkapan berikut.

X = y = z = 100;

Ingat bahawa pembolehubah hanya boleh diberikan nilai jika pembolehubah telah diisytiharkan (khususnya, jenisnya telah ditentukan).

Nilai pembolehubah boleh dicetak ke skrin menggunakan fungsi printf. Sebagai contoh, semak pelaksanaan program berikut.

#termasuk int utama()( int a ; /* pengisytiharan berubah-ubah a*/ a = 10; printf( "Nilai boleh ubah a = %d\n", a); }

Sila ambil perhatian bahawa dalam program terdapat ulasan "mengisytiharkan pembolehubah a". Komen ialah serpihan yang diperlukan untuk menerangkan bahagian tertentu program. Komen itu tidak menjejaskan atur cara akhir; ia hanyalah tambahan kepada teks, yang kemudiannya tidak digunakan semasa melaksanakan program. Komen mesti bermula dengan gabungan aksara /* dan berakhir dengan gabungan aksara */. Dalam kes ini, ulasan boleh terletak pada beberapa baris; untuk ini, gabungan /* akan terletak pada permulaan baris pertama ulasan, dan gabungan */ akan terletak pada penghujung baris terakhir ulasan. komen itu.

Pada permulaan fungsi utama, pembolehubah a. Kemudian pembolehubah ini mempunyai nilai 10. Dalam baris seterusnya, gunakan fungsi printf untuk memaparkan nilai pembolehubah pada skrin. Untuk melakukan ini, tambahkan hujah tambahan pada fungsi printf, dipisahkan dengan koma selepas rentetan yang dipetik. Argumen tambahan ini ialah pembolehubah a itu sendiri, yang nilainya harus dicetak ke skrin. Untuk memberitahu fungsi printf di mana untuk mencetak nilai pembolehubah, gabungan dua aksara, iaitu %d , ditambahkan pada rentetan output. Aksara ini sendiri tidak akan dipaparkan pada skrin, tetapi sebaliknya nilai pembolehubah yang dipisahkan dengan koma selepas baris akan dipaparkan. Jalankan program dan semak operasinya.

Apabila menaip program, ambil perhatian bahawa huruf kecil dan besar adalah huruf yang berbeza dari sudut pandangan penyusun. Oleh itu, sebagai contoh, menaip Utama dan bukannya utama akan mengakibatkan ralat.

Tugas mengawal diri

  1. Tukar nilai pembolehubah a kepada beberapa nilai lain dan
  2. Cuba tambah ulasan pada bahagian lain program. Pastikan ia tidak menjejaskan pelaksanaan program. Semak penggunaan ulasan yang merangkumi berbilang baris.
  3. Semak apa yang berlaku apabila anda menukar kes huruf tertentu, iaitu, sebagai contoh, apabila menukar huruf kecil kepada huruf besar dan sebaliknya.

Untuk mengisytiharkan pembolehubah a dan memulakannya, dua baris berturut-turut ( dan ) diperolehi. Tetapi anda boleh menggabungkan pengisytiharan berubah dan permulaan. Daripada dua baris yang ditunjukkan, anda boleh menulis hanya satu baris daripada jenis berikut.

int a = 10;

Semak bahawa program berfungsi dengan betul selepas perubahan sedemikian.

Fungsi printf juga boleh mencetak nilai berbilang pembolehubah sekaligus. Untuk menguji kemungkinan ini, isytiharkan pembolehubah b dan tetapkan beberapa nilai kepada pembolehubah itu sebelum memanggil fungsi printf. Adalah penting untuk ambil perhatian bahawa pengisytiharan berubah boleh berlaku di mana-mana di dalam pendakap kerinting fungsi, terutamanya fungsi utama. Selepas itu, tukar rentetan fungsi printf seperti berikut.

Printf("a = %d, b = %d \n" , a, b);

Semak sama ada program berjalan dengan betul.

Oleh itu, untuk memaparkan nilai beberapa pembolehubah sekaligus, anda perlu menyusun aksara keluaran yang diformatkan %d dalam baris keluaran dengan sewajarnya, dan juga menyenaraikan pembolehubah yang dipisahkan dengan koma serta-merta selepas baris keluaran dalam susunan output. Kemudian, bukannya setiap gabungan %d, nilai pembolehubah seterusnya daripada senarai pembolehubah, dipisahkan dengan koma, akan digantikan.

Dalam kes ini, anda juga boleh menentukan ungkapan sebagai hujah kepada fungsi printf. Sebagai contoh, untuk kuasa dua dan kiub pembolehubah, anda boleh menggunakan tanda * untuk menunjukkan pendaraban. Tambahkan coretan berikut selepas panggilan fungsi printf sedia ada.

Printf( "a = %d\n(satu kuasa dua) = %d\n(sebuah kiub) = %d\n", a, a * a, a * a * a);

Semak sama ada program berjalan dengan betul.

Ambil perhatian bahawa jika panggilan fungsi adalah baris yang terlalu panjang, maka adalah mudah untuk membahagikannya kepada beberapa baris, dipisahkan dengan koma. Sebagai contoh, seperti yang dilakukan dalam teks ini, tetapi serpihan yang sama boleh ditulis dalam satu baris atas permintaan pengaturcara.

3.2 Ungkapan aritmetik

Sekarang, untuk membuat kuasa dua atau mengiub integer, sudah cukup untuk membetulkan tugasan awal kepada pembolehubah a dan menjalankan semula atur cara. Eksperimen dengan ini. Sebagai tambahan kepada kuasa dua dan kiub, anda boleh menggunakan pelbagai ungkapan berdasarkan operasi aritmetik: +, -, *, /.

Tugas mengawal diri

  1. Laksanakan pengiraan beberapa formula yang menggunakan kesemua 4 operasi aritmetik. Tetapkan nilai pembolehubah dalam atur cara. Semak bahawa formula ini dikira dengan betul.
  2. Kira formula daripada dua pembolehubah. Tetapkan nilai pembolehubah dalam program.

Bahasa C juga mempunyai keupayaan untuk menulis beberapa binaan yang kerap digunakan dengan lebih ringkas. Oleh itu, untuk meningkatkan pembolehubah dengan nilai yang diberikan, operasi += digunakan. Ternyata ungkapan itu

A += 10;

adalah bersamaan dengan ungkapan

A = a + 10;

dalam kes ini, dengan cara yang sama, bukannya tanda + boleh juga terdapat tanda -, *, /, serta beberapa tanda operasi lain.

Serpihan atur cara berikut menggambarkan contoh penggunaan ciri ini, dengan ulasan yang menunjukkan nilai yang diambil pembolehubah sebagai hasil pengiraan ungkapan aritmetik.

int i = 10; i = (i * 2 + 1) / 3 - 5; /* i = 2 */ i += 5; /* i = 7 */ int j = 3; i *= j; /* i = 21 */ i /= 7; /* i = 3 */

Tugas mengawal diri

  1. Laksanakan pengiraan beberapa formula yang menggunakan keupayaan yang ditentukan (bentuk yang lebih ringkas untuk menulis beberapa ungkapan aritmetik).

Lebih-lebih lagi, ungkapan

menandakan peningkatan dalam pembolehubah a sebanyak 1, yang bersamaan dengan ungkapan

A = a + 1;

Begitu juga ungkapan

di sini bermakna penurunan sebanyak 1.

Adalah penting untuk ambil perhatian bahawa terdapat juga ungkapan bentuk

A++; a--;

Mereka juga menunjukkan peningkatan 1 dan penurunan 1.

Walau bagaimanapun, terdapat perbezaan antara bentuk awalan (++a) dan postfix (a++) dalam ungkapan yang lebih kompleks.

Bila awalan bentuk (++a) mula-mula meningkat (menurun) sebanyak 1, dan kemudian menilai seluruh ungkapan.

Bila postfix bentuk (a++), ungkapan itu dinilai dahulu dan kemudian dinaikkan (dikurangkan) sebanyak 1.

Contoh berikut menggambarkan perbezaan ini.

Mari kita lihat serpihan yang sama di mana ++y (bentuk awalan) digunakan.

int x = 10; int y = 2; x = x * (++y); printf("x = %d y = %d\n" , x, y);

X = 30 y = 3

Di sini, pertama y disebabkan oleh ++y akan menerima nilai 3, dan selepas itu pendaraban 10 dengan 3 akan berlaku.

Mari kita lihat serpihan yang sama di mana y++ (bentuk postfix) digunakan.

int x = 10; int y = 2; x = x * (y++); printf("x = %d y = %d\n" , x, y);

Semasa pelaksanaan serpihan ini, baris berikut akan dipaparkan pada skrin.

X = 20 y = 3

Di sini, 10 mula-mula akan didarab dengan nilai y bersamaan dengan 2, dan selepas itu y++ akan dilaksanakan.

Perlu diingatkan bahawa dalam serpihan ini tidak perlu meletakkan tanda kurung di sekeliling ++y dan y++ .

Tugas mengawal diri

  1. Semak pelaksanaan serpihan program yang ditentukan. Perlu diingat bahawa ini hanyalah serpihan program. Ia mesti ditambah di dalam pendakap kerinting fungsi utama.
  2. Cuba alih keluar tanda kurung di sekeliling ++y dan y++ dalam serpihan ini. Pastikan hasilnya tidak berubah.

3.3 Jenis integer

Setakat ini kami hanya mempertimbangkan jenis int untuk integer. Apakah nilai maksimum yang boleh ditetapkan untuk pembolehubah int?

Dijamin anda boleh menetapkan nilai dalam julat dari -32768 hingga 32767, kerana pembolehubah int diperuntukkan tidak kurang 16 bit.

Tetapi pada hari ini anda akan sering melihat pelaksanaan pengkompil yang memperuntukkan 32 bit kepada pembolehubah int, bermakna pembolehubah boleh mengambil nilai dalam julat -2147483648 hingga 2147483647.

Walau bagaimanapun, anda boleh benar-benar yakin bahawa julat nilai yang sah untuk pembolehubah x tidak akan kurang daripada julat dari -32768 hingga 32767.

Apabila menggunakan versi Kod::Blok yang dicadangkan dan pengkompil gcc yang disertakan dengannya (atau pengkompil serupa yang dipasang sebelum ini), kemungkinan besar anda akan mendapati diri anda berada dalam situasi di mana pembolehubah int boleh mengambil nilai dari julat -2147483648 ke 2147483647.

Mari kita semak ini dengan contoh berikut.

#termasuk int utama () ( int x1 = -2147483648; int x2 = 2147483647; printf("x1 = %d x2 = %d\n" , x1, x2); )

X1 = -2147483648 x2 = 2147483647

Jika ya, maka ini menunjukkan bahawa pembolehubah jenis int boleh mengambil nilai sedemikian.

Sekarang sebelum baris printf anda boleh menetapkan pembolehubah x2 kepada 1

#termasuk int utama () ( int x1 = -2147483648; int x2 = 2147483647; ++x2; printf("x1 = %d x2 = %d\n" , x1, x2); )

Apabila anda menjalankan program ini, baris berikut kemungkinan besar akan dicetak.

X1 = -2147483648 x2 = -2147483648

Perhatikan bahawa nilai x2 telah menjadi nilai had negatif. Kita boleh mengatakan bahawa apabila cuba menambah 1 kepada nilai positif maksimum (nilai 2147483647), nilai itu keluar dari julat dan nilai "secara bulatan" pergi ke nilai negatif maksimum (nilai -2147483648). Apa yang dipanggil berlaku melimpah.

Jika anda meningkatkan x2 bukan sebanyak 1, tetapi sebanyak 2, maka pembolehubah x2 akan mengambil nilai -2147483647 (iaitu 1 berbeza daripada nilai negatif maksimum). Semak ia.

Jika anda meningkatkan x2 bukan sebanyak 1, tetapi sebanyak 3, maka pembolehubah x2 akan mengambil nilai -2147483646 (iaitu 2 berbeza daripada nilai negatif maksimum). Semak ia.

Oleh itu, anda boleh memahami prinsip kelakuan pembolehubah integer sekiranya berlaku limpahan.

Tugas mengawal diri

  1. Begitu juga, semak limpahan pembolehubah x1 ke arah nilai negatif melampau, iaitu, apabila menolak nombor tertentu daripada pembolehubah ini.
  2. Limpahan juga berlaku apabila anda hanya cuba memberikan nilai kepada pembolehubah yang berada di luar julat yang dibenarkan. Semak ia.

Selain jenis int, terdapat jenis integer lain untuk mengisytiharkan pembolehubah.

Sebagai contoh, jenis panjang membolehkan anda menjamin -2147483648 hingga 2147483647 (jenis int tidak memberikan jaminan ini untuk semua penyusun).

Juga dalam penyusun bahasa C moden, jenis panjang panjang (ditulis dalam dua perkataan) telah muncul, yang memperuntukkan 64 bit untuk pembolehubah. Dan ini sepadan dengan julat nombor dari -9223372036854775808 hingga 9223372036854775807.

Mari semak jenis ini menggunakan program berikut sebagai contoh.

#termasuk int main() ( panjang panjang x1 = -9223372036854775808; panjang panjang x2 = 9223372036854775807; printf("x1 = %lld x2 = %lld\n" , x1, x2); }

X1 = -9223372036854775808 x2 = 9223372036854775807

Ambil perhatian bahawa dalam kes ini, apabila memanggil fungsi printf, gabungan aksara ialah %lld , bukan %d . Ini adalah perlu untuk fungsi printf untuk memaparkan bilangan besar jenis panjang panjang dengan betul.

Tugas mengawal diri

  1. Begitu juga, semak limpahan pembolehubah jenis long long dalam contoh ini (seperti yang berlaku dengan pembolehubah jenis int).
  2. Cuba gunakan %d dan bukannya %lld dalam fungsi printf dalam contoh ini.

Di samping itu, anda boleh mencipta jenis integer baharu dengan menambahkan kata kunci yang tidak ditandatangani sebelum namanya, yang mengalihkan julat nilai yang mungkin ke kawasan positif, iaitu, menjadikan jenis itu tidak ditandatangani. Program contoh berikut menerangkan perkara ini.

#termasuk int main() (unsigned int x1 = 0; unsigned int x2 = 4294967295; printf("x1 = %u x2 = %u\n" , x1, x2); }

Apabila program ini dilaksanakan, rentetan harus dicetak.

X1 = 0 x2 = 4294967295

Ambil perhatian bahawa dalam kes ini, apabila memanggil fungsi printf, gabungan aksara ialah %u, bukan %d. Ini diperlukan untuk fungsi printf untuk memaparkan nombor yang sepadan dengan jenis yang tidak ditandatangani dengan betul.

Tugas mengawal diri

  1. Begitu juga, semak limpahan pembolehubah jenis int tidak ditandatangani dalam contoh ini (seperti yang berlaku dengan pembolehubah jenis int).
  2. Cuba gunakan %d dan bukannya %u dalam fungsi printf dalam contoh ini.
  3. Berdasarkan contoh ini, cuba paparkan nilai maksimum yang boleh ditulis kepada pembolehubah jenis unsigned long long (iaitu nombor 18446744073709551615). Untuk paparan yang betul, fungsi printf menggunakan gabungan aksara %llu (bukannya %u).

3.4 Nombor nyata

Untuk menentukan nombor nyata, anda boleh menggunakan jenis apungan atau jenis berganda. Dalam kes ini, pembolehubah jenis apungan menduduki 4 bait, dan pembolehubah jenis berganda menduduki 8 bait. Oleh itu, secara amnya, jenis berganda menyediakan julat nombor yang lebih luas dan lebih banyak tempat perpuluhan selepas titik perpuluhan, tetapi ia mempunyai kelemahan dua kali ganda penggunaan memori jenis apungan.

Terdapat juga jenis berganda panjang, dan pembolehubah jenis ini boleh menduduki dari 8 hingga 16 bait, bergantung pada pelaksanaan pengkompil. Oleh itu, jenis berganda panjang sering memberikan ketepatan yang lebih besar sebagai pertukaran untuk penggunaan memori yang lebih banyak.

Mari kita semak pelaksanaan program berikut.

#termasuk int utama () ( ganda x = 10.5; printf("x = %f\n" , x); )

Skrin akan memaparkan:

X = 10.500000

Ambil perhatian bahawa %f digunakan bukannya %d, disebabkan oleh penggunaan jenis sebenar dan bukannya integer. Semak perkara yang berlaku jika anda meletakkan %d bukannya %f .

Bagaimana untuk mengalih keluar sifar tambahan apabila memaparkan nombor? Untuk melakukan ini, anda boleh menentukan bilangan digit selepas titik perpuluhan, sebagai contoh, seperti berikut.

Printf("x = %.1f \n" ,x);

Dalam kes ini, nombor selepas titik menunjukkan bilangan digit selepas titik perpuluhan. Eksperimen dengan ini.

Di samping itu, anda boleh menetapkan bilangan aksara yang digunakan untuk memaparkan nombor, sebagai contoh, anda boleh menetapkan nombor ini kepada 10 seperti berikut.

Printf("x = %10.1f \n",x);

Semak untuk melihat apa yang berubah.

Di samping itu, bukannya huruf f, yang digabungkan dengan %, anda boleh menggunakan huruf e untuk memaparkan nombor dalam bentuk eksponen, serta huruf g untuk memilih format output secara automatik bergantung pada nilai nombor. Selain itu, huruf E dan G juga boleh digunakan.

Tugas mengawal diri

  1. Cuba variasi yang berbeza untuk menulis nombor nyata dan lihat apa yang berlaku (termasuk menggunakan huruf e dan g dan bukannya f dalam kombinasi dengan %).
  2. Tentukan sendiri apakah akibat penggunaan huruf E dan G dibandingkan dengan huruf e dan g.
  3. Laksanakan segi empat sama dan kubus nombor nyata, memastikan bahawa nilai yang terhasil dipaparkan pada skrin. Pilih format output nombor nyata yang sesuai.