Halo dan selamat datang.
Dalam kuliah ini, saya ingin berbicara tentang membaca input dari keyboard.
Ini adalah konsep dasar yang saya ingin
kalian belajar lebih awal karena itu sangat berharga dan banyak program mengambil input.
Jadi saya menyediakan ini sejak dini.
Beberapa konsep tidak akan benar-benar jelas.
Tapi kita pasti akan mempelajari ini konsep di bagian lain saat kita
membahasnya, tetapi penting untuk pelajari ini sangat awal, dan ini sangat
mirip dengan fungsi printf.
Jadi kita sudah membahas output.
Kami tahu cara memformat keluaran menggunakan printf.
Kita sekarang harus belajar sedikit sedikit tentang input, mendapatkan input
dari pengguna pada dasarnya.
Sangat berguna untuk bertanya kepada pengguna untuk memasukkan data ke dalam program.
Kami berbicara tentang baris perintah argumen memasukkan data melalui cara itu, itu
salah satu cara untuk melakukannya.
Cara lain adalah dengan bertanya kepada pengguna langsung sehingga mereka dapat mengetik
sesuatu di keyboard.
Jadi Anda mendapatkan masukan dari keyboard, tetapi akan ditampilkan
Anda memasukkan input melalui terminal konsol.
Begitulah cara Anda memasukkan input.
Perpustakaan c berisi beberapa fungsi masukan.
Kita akan menggunakan scanf.
Itu fungsi yang paling umum.
Ini sangat berguna.
Ini memberikan yang berbeda format yang dapat Anda masukkan.
Jadi Anda dapat memasukkan teks dan kemudian itu akan bisa dikonversi ke format yang berbeda.
Jadi scanf membaca input dari aliran input standar, itu stdin.
Scanf sebenarnya dapat digunakan untuk membaca dari file juga jika aliran
input adalah file.
Tapi kami tidak akan khawatir tentang semua
itu untuk saat ini, kami hanya akan menggunakannya untuk membaca input dari keyboard.
Oke, dan jadi stdin by default adalah keyboard.
Stdin adalah aliran.
Aliran dan c, tiga's aliran yang berbeda.
Aliran kesalahan, standar masuk dan keluaran standar.
Standar secara default adalah keyboardnya.
Jadi kita akan tetap seperti itu.
Dan menggunakan scanf itu akan baca dari standar dan kemudian berdasarkan apa yang Anda
masukkan atau bagaimana Anda ingin menyimpan data, saya harus
mengatakan, itu akan mengonversi apa yang Anda masukkan karena apa yang
Anda masukkan akan menjadi teks.
Itu akan mengubah teks itu menjadi format yang Anda berikan demikian.
Ini akan menggunakan penentu format seperti fungsi printf.
Jadi formatnya bisa berupa urutan karakter, yang disebut string.
Kami belum mempelajari itu dalam banyak detail belum.
Tapi sekali lagi, kita akan melakukannya ketika kita berbicara tentang tipe data.
Dan kemudian Anda juga dapat menentukan tipe data lain yang akan
kita bicarakan seperti bilangan bulat, angka pada dasarnya.
Jadi Anda bisa membaca angka.
Anda dapat membaca string.
Anda dapat membaca angka yang mengandung desimal, karakter individu tunggal,
semua hal bagus ini.
Jika standar in adalah input dari keyboard yang secara default akan terjadi adalah
saat Anda mengetik teks melalui keyboard, itu akan mengambil teks
itu, memasukkannya ke dalam program c dan itu akan mengubah teks itu.
Dan teks adalah hal-hal seperti huruf, angka dan tanda baca.
Jadi meskipun Anda sedang mengetik angka, itu masih teks karena
berasal dari keyboard.
Jadi jika Anda memasukkan bilangan bulat 2014, yang merupakan angka dan pada dasarnya yang terjadi adalah Anda
mengetik karakter dua nol satu dan empat.
Dan apa yang terjadi dan apa akan terjadi adalah itu akan menambahkan
mengirim input itu ke program c.
Dan jika Anda ingin menyimpan data itu sebagai angka, maka Anda
harus mengonversi data tersebut.
Jadi, Anda harus menentukan formatnya specifier bagaimana Anda ingin mengonversinya, seperti yang
Anda lakukan pada printf.
Ingat suka dengan printf yang Anda gunakan persen d untuk mencetak bilangan bulat.
Anda akan mengonversi teks menjadi bilangan bulat menggunakan persen d juga untuk
scanf jika Anda ingin mengubah string menjadi angka.
Dan itulah yang akan kita lakukan lakukan untuk dasar-dasar sejak dini.
Kami hanya akan menggunakan angka karena
kita tahu angka sejauh ini, dan kita belum benar-benar belajar tentang string belum.
Jadi kita akan terutama gunakan angka saat kita input.
Jadi scanf.
Ini sangat mirip dengan printf.
Tapi sebaliknya, itu sedikit berbeda dalam argumen tertentu yang dibutuhkan.
Itu masih menggunakan string kontrol diikuti dengan daftar argumen.
Jadi akan ada sesuatu dalam tanda kutip ganda itu.
Tanda kutip ganda biasanya akan hanya berisi satu hal dan itu akan
menjadi penentu format.
Bagaimana Anda akan mengonversi data.
Jadi string kontrol menunjukkan tipe data tujuan untuk aliran
input karakter.
Ini penentu format itu, persen d, persen c, persen s, persen
f untuk aliran dan sebagainya.
Fungsi printf menggunakan variabel nama, konstanta, dan ekspresi dalam
argumennya karena kita mempelajarinya.
Anda memiliki sesuatu dalam tanda kutip ganda.
Dan kemudian di dalam ganda kutipan, Anda menggunakan penentu format.
Dan kemudian setelah koma, kamu dapat mencetak variabel atau Anda
bahkan dapat mencetak ekspresi.
Ekspresi, kita akan bicarakan lebih detail juga, sesuatu yang
pada dasarnya mengembalikan nilai.
Jenis ekspresi yang paling umum adalah ekspresi aritmatika.
Fungsi scanf berbeda karena alih-alih benar-benar
menampilkan variabel, itu akan menggunakan variabel yang ditunjuk.
Tapi untungnya pointer adalah konsep besar dalam c.
Anda tidak perlu tahu apa-apa tentang pointer untuk memahami dan
menggunakan fungsi scanf.
Jadi jangan khawatir tentang itu.
Baiklah, yang harus kamu lakukan adalah kamu harus mengingat tiga aturan
tentang fungsi scanf untuk menggunakannya.
Ini akan mengembalikan jumlah item yang berhasil dibaca.
Jadi jika membaca satu variabel, dua variabel, tiga variabel, itu akan mengembalikan
itu.
Jika Anda menggunakan scanf untuk membaca nilai untuk
salah satu tipe variabel dasar yang akan kita bahas, seperti sebagai int, float, double,
maka yang harus Anda lakukan hanyalah nama variabel, argumen harus
didahului dengan ampersand.
Anda bahkan tidak perlu tahu mengapa itu sekarang
tapi lakukan saja, semua tipe data dasar.
Ampersand adalah alamat.
Dan karena scanf membutuhkan pointer Anda harus melakukan de-referensi, Anda
harus memasukkan alamatnya.
Hal ketiga yang Anda harus ingat untuk scanf.
Jika Anda menggunakan scanf untuk membaca string yang merupakan urutan
karakter menjadi karakter, Anda tidak harus menggunakan ampersand.
Jadi pada dasarnya scanf membutuhkan dua argumen yang saya
akan menunjukkan contoh.
Argumen pertama adalah bagaimana untuk mengonversi data yang Anda ketik.
Dan jika Anda menyimpan data itu di int, Anda menggunakan persen
menggunakan penentu format persen d.
Jika Anda ingin menyimpan dalam string yang belum kita pelajari,
Anda menggunakan persen s.
Dan kemudian argumen kedua adalah dan bisa banyak argumen tergantung
pada berapa banyak penentu format yang Anda gunakan karena seperti printf
akan menjadi variabel aktual, nama variabel.
Dan jika variabel adalah segalanya kecuali string, Anda hanya menggunakan ampersand.
Jika tidak, Anda tidak menggunakan ampersand.
Fungsi scanf juga menggunakan spasi untuk memutuskan bagaimana membagi input ke
dalam bidang yang terpisah.
Dan spasi termasuk baris, tab, dan spasi baru.
Dan sekali lagi, saya akan memberikan contoh untuk menunjukkan kepada Anda
apa artinya karena seperti halnya printf dapat menampilkan banyak, banyak variabel tergantung pada
berapa banyak penentu format yang Anda miliki di dalam kutipan tunggal, hal yang sama dengan scanf.
Jika scanf memiliki banyak hal di dalam tanda kutip ganda,
itu akan membaca banyak input.
Dan inputnya berjalan untuk dibagi dengan baris baru.
Jadi sekali lagi, jika Anda ingin mencoba untuk memahami apa itu
scanf, itu kebalikan dari printf.
Printf akan mengonversi bilangan bulat, angka floating point, string karakter, semua data
yang berbeda ini jenis dan itu akan
mengubahnya menjadi teks, sehingga Anda dapat melihatnya output.
Dan itu akan menjadi ditampilkan di layar.
Scanf adalah kebalikannya.
Ini akan mengambil sebagai masukan teks dan mengonversinya ke salah satu tipe data yang
berbeda seperti int, float, dan double.
Jadi mari kita lihat sebuah contoh.
Ini adalah contoh dari program sederhana kami.
Kita tahu apa rutinitas utamanya.
Kita tahu apa itu direktif include.
Kami belum belajar tentang karakter dan bilangan bulat belum.
Tapi pada dasarnya di bagian paling atas itu fungsi utama,
kami membuat dua variabel karena kami perlu menyimpan data, dan kita akan
berbicara tentang variabel secara lebih rinci.
Tapi seperti fungsi printf, lagi, Anda hanya melakukan sebaliknya.
Jadi di sini kami menampilkan output ke layar mengatakan masukkan nilai.
Scanf di dalam ganda kutipan memiliki penentu format untuk
dibaca di input.
Jadi, Anda harus menentukan data yang akan dibaca, di
sini tertulis persen s, persen d.
Artinya, kita sedang membaca di a string, lalu kita membaca di int.
Dan Anda akan melihat bahwa string tidak memiliki ampersand dan scanf
setelah koma pertama.
Dan setelah koma kedua, kami memiliki ampersand karena itu bilangan bulat.
Kami membaca di nomor.
Dan kemudian printf sedang menampilkan keluaran.
Jadi itu mengatakan Anda masuk dalam hal ini string dalam bilangan bulat ini, sama
seperti kita tahu apa yang dilakukan printf dan kemudian fungsi utama mengembalikan nol.
Baiklah, jadi mari kita lalui ini contoh dalam satu detik di blok kode.
Tapi mari kita ulangi saja beberapa konsep.
Ketika sebuah program menggunakan scanf untuk mengumpulkan input dari keyboard, menunggu
Anda memasukkan beberapa teks.
Jadi programnya benar-benar berjalan untuk menjeda sampai Anda memasukkan data.
Dan kemudian setelah Anda memasukkan beberapa teks.
Dan jika Anda memasukkan beberapa spasi, jika Anda memasukkan banyak hal,
maka program akan berjalan dan membaca input setelah Anda benar-benar
menekan tombol enter.
Anda harus menekan tombol enter.
Sekali lagi, scanf mengharapkan masukan dalam format yang sama persis yang Anda berikan.
Jadi jika Anda mengatakan persen s dan persen e,
itu berarti Anda harus memberikan string diikuti dengan spasi, sejumlah spasi
yang diikuti oleh bilangan bulat, angka, dan kata.
String adalah kata Integer adalah angka.
Jadi mari kita lihat contoh ini baris demi baris dalam blok kode.
Oke, jadi di sini kita punya fungsi utama kami.
Dan sekali lagi, penting untuk menjadi dapat memasukkan data ke dalam program.
Jadi seperti printf, itu akan menjadi sangat mirip, dan kita tidak harus
memahami semua kode ini.
Dan kami bahkan menyingkirkan parameter yang sedang
dilewati, fungsi utama sederhana.
Kami tidak harus memahami semua kode ini.
Kita bahkan tidak perlu mengerti variabel apa yang ada pada saat ini.
Tetapi variabel akan menyimpan data.
Dalam contoh, kami membuat array string 100 dan dengan titik koma dan kemudian kita
juga hanya akan membuat integer,
seperti di printf.
Kami memiliki bilangan bulat, tapi kami menggunakan string.
Saya hanya ingin menunjukkan masukan yang berbeda.
Lalu biasanya kapan pun sebelum Anda panggil fungsi scanf untuk mendapatkan input dari
keyboard, Anda selalu akan memberitahu pengguna sesuatu.
Anda ingin memberi tahu mereka apa yang harus masuk.
Jadi printf, ingat, menampilkan data ke layar.
Kami hanya akan mengatakan masukkan nilai.
Dan mereka akan benar-benar masukkan pasangan dan kemudian kita akhiri dengan
titik koma.
Kita harus memberitahu pengguna untuk memasukkan sesuatu.
Sekarang di sinilah kita menggunakan fungsi scanf.
Kami mengatakan scanf dan kemudian di dalam tanda kurung argumen pertama di dalam
tanda kutip ganda akan menjadi data yang akan kita baca.
Jadi dalam contoh ini, mari kita katakanlah kita hanya akan
membaca satu persen input d yang merupakan int.
Dan kemudian kita akan menyimpan data itu dalam variabel
karena kita ingin melihatnya.
Dan itu akan menjadi aku.
Sekarang kita harus menentukan ampersand sebelum itu karena, ingat, ini sedikit
trik dengan petunjuk.
Anda tidak perlu tahu kok, itu hanya alamatnya.
Jadi scanf itu, pada baris 17, akan benar-benar membaca data dari keyboard sampai
pengguna menekan tombol enter.
Dan kemudian data itu akan disimpan dalam variabel yang disebut I.
Jadi sekarang kami hanya ingin mencetak apa yang kita masukkan.
Jadi di sini kita hanya akan mengatakan, kami akan menambahkan umpan baris sehingga dapat dibaca
sehingga kami akan gunakan urutan pelarian kami, garis miring terbalik
n dan kami akan mengatakan Anda.
Anda memasukkan persen d dan kami akan pergi untuk menampilkan nilai variabel.
Dan kami juga akan letakkan umpan baris setelahnya.
Jadi nilai variabelnya yang ingin kita tampilkan adalah i.
Kita akan berakhir itu dengan titik koma.
Dan kemudian itulah program kami.
Jadi sekali lagi hasil cetak, minta nilai, membaca baris input 17 yang menentukan bahwa data
yang kita membaca adalah bilangan bulat, menyimpannya, saya menggunakan ampersand,
dan kemudian mencetak apa yang baru saja kita masukkan.
Jadi mari kita membangun ini dan menjalankannya.
Dan Anda akan melihat program dimulai dan kemudian berhenti karena ingin Anda
memasukkan nilai.
Dikatakan masukkan nilai.
Jadi pada titik ini, saya harus memasukkan nomor yang dapat saya konversi menjadi string karena
itulah yang terjadi.
Jadi di sini saya hanya akan mengatakan 56.
Dan kemudian, saya akan menekan enter.
Itu berjalan dua kali karena pemindai virus saya.
Jadi saya akan mengatakan 56 dan kemudian masuk.
Dan kemudian dicetak, saya memasukkan 56.
Jadi saya bisa memasukkan informasi, nomor dan disimpan dalam variabel.
Sekarang seperti halnya printf, Anda benar-benar dapat meminta mereka memasukkan
banyak hal dan simpan dalam beberapa variabel.
Jadi di sini setelah mereka berakhir dengan integer, saya akan
mengatakan persen lagi, penentu format persen s, yang berarti saya ingin mereka memasukkan string,
yang hanya mencari kata.
Jadi di sini, ingat, jika itu sebuah kata, saya tidak harus memberikan ampersand.
Jadi saya hanya akan mengatakan aduk, saya ingin menyimpan data
itu di penyimpanan variabel.
Dan sekali lagi, kita akan belajar tentang variabel.
Dan kemudian aku pergi untuk mencetaknya saja.
Dan saya menambahkan variabel lain jadi Anda tahu printf dan saya hanya akan
menempatkan titik dua sebelum Anda juga memiliki untuk menentukan format
yang Anda cetak, jadi itu persen s.
Jadi mudah-mudahan sudah jelas.
Saya sekarang akan membaca dalam dua input dipisahkan oleh spasi, simpan
dalam dua variabel, I dan aduk lalu tampilkan.
Jadi sekarang jika kita membangun dan kita jalankan.
Jadi di sini saya akan memasukkan saya nomor 22, saya akan menekan spasi dan kemudian saya akan memasukkan nama saya dan kemudian aku
akan memukul kembali.
Ketika saya melakukan itu, programnya akan di jeda dan itu
akan menampilkan nomor I dimasukkan dan kemudian string.
Jadi ini menampilkan 22 dan Jason.
Jadi ini adalah bagaimana Anda bisa mendapatkan masukan dari pengguna, empat atau
lima baris kode sederhana.
Satu hal cepat lainnya yang ingin saya tunjukkan Anda adalah bagaimana Anda bisa membaca ganda.
Jadi nanti di pelajaran, kamu akan ditunjukkan cara membaca float dan
itu biasanya menggunakan format yang ditentukan persen f.
Tetapi jika Anda menjalankan dan membaca dua kali, sebenarnya sedikit
berbeda Anda menggunakan persen jika, jadi semacam menyimpan ini di belakang pikiran Anda.
Jika saya membuat nama variabel ganda x dan kemudian saya menggunakan scanf untuk membacanya, saya perlu
membacanya menggunakan persen LF.
Itu formatnya penentu yang ingin Anda gunakan.
Dan sekali lagi seperti yang lain, Anda akan menggunakan ampersand
untuk alamat dan mengatakan x.
Jadi begini caranya khusus membaca dalam ganda.
Dan itu berbeda daripada membaca dalam aliran.
Jadi simpan ini di belakang pikiran Anda.
Ketika Anda menjalankan ini, Anda akan melihat itu bekerja cukup mudah.
Dan Anda dapat membaca masukan membaca ganda.
Jadi Anda hanya pergi ke depan dan menjalankan itu.
Dan jadi itu akan meminta ganda, saya tidak benar-benar berbuat banyak.
Dan ganda ini menjadi seperti 77. 8 dan kemudian kita akan membacanya dan menyimpannya,
itu cukup mudah.
Jadi scanfnya sangat bermanfaat seperti yang saya sebutkan.
Hal-hal lain dengan scanf Anda akan melihat saat
Anda menjalani kursus adalah scanf terkadang tidak bekerja dengan baik.
Anda dapat menggunakan f get s untuk hal lain.
Masalah utama dengan scanf adalah ketika Anda membaca, Anda hanya membaca
sampai Anda melihat spasi.
Jadi jika Anda mencoba menggunakan scanf, Anda mencoba memanggilnya
beberapa kali dalam suatu fungsi.
Dengan kombinasi lain, mungkin tidak bekerja dengan
baik karena yang terjadi adalah ketika Anda menekan tombol
kembali pada keyboard, itu akan tidak baca tombol kembali itu karena
hanya membaca satu kata.
Dan itu tidak akan terjadi untuk mendapatkan umpan baris.
Jadi lain kali Anda menggunakan scanf, itu akan segera melewati garis itu
dan itu akan untuk membaca di feed baris.
Jadi ini adalah masalah yang akan Anda lihat jika Anda
menulis beberapa scanf dalam satu program satu demi
satu, Anda akan melihat bahwa scanf lainnya tidak dijalankan karena mereka membaca di feed baris.
Cara yang sangat mudah untuk menyiasatinya tepat setelah Anda melakukan pemindaian, Anda cukup
memanggil git char dan kemudian Anda menelepon pemindai lain, tetapi itu lebih merupakan
konsep untuk dibicarakan nanti.
Ini hanya untuk menunjukkan padamu kapan Anda membaca secara ganda menggunakan
scanf, pastikan Anda menggunakan persen LF.
Dan sekali lagi, ini berguna karena beberapa tantangan kami akan menyelaraskan Anda untuk
mendapatkan masukan dari pengguna untuk melakukan hal-hal yang berguna dan
mempelajari konsep yang berbeda, kita harus bisa mendapatkan masukan dari pengguna.
Jadi saya harap ini membantu.
Dan sekali lagi, jangan khawatir tentang beberapa
konsep-konsep ini bahwa Anda tidak sepenuhnya memahami banyak hal seperti variabel dan string,
kita akan membahas semua itu dalam banyak detail, terima kasih.