Menukar huruf besar ke huruf kecil di C - bahasa c adalah bahasa yang sensitif, yang bermaksud huruf kecil dan huruf besar adalah berbeza
misalnya anda mengisytiharkan int A, akan berbeza dari int a;
Sekarang kita juga boleh menukar huruf dari huruf besar ke huruf kecil, ia akan menjadi berguna jika kita akan melakukan carian nama, kerana ketika kita mula-mula memasukkan, misalnya Moersalin, dan ketika kita memasukkan dalam pencarian untuk menyalin, tentu saja kita tidak akan menemukannya.
Okay, cuba lihat kod sumber dahulu ...
# include < stdio.h > # include < string.h > // strlen function # include < conio.h > // getch function # define MAX 100 int main ( ) { sentence char [ MAX ] ; int panjang ; printf ( " \ t \ t Program Perubahan Atas Huruf Besar huruf kecil. \ n \ n " ) ; printf ( " Masukkan kalimat atau nama juga boleh: " ) ; mendapat ( ayat ) ; panjang = strlen ( ayat ) ; // fungsi strlen untuk mengira panjang ayat untuk ( int i = 0 ; i < panjang ; i + + ) { jika ( kalimat [ i ] > = 65 & & kalimat [ i ] < = 90 ) { sentence [ i ] + = 32 ; } } printf ( " \ n Kalimat yang anda masukkan: % s " ,hukuman ) ; getch ( ) ; kembali 0 ; }Seperti output >> ini
Nah, itu huruf kecil? Mari kita bincangkan ... apa yang mendapat (ayat) untuk? mendapat fungsi untuk input > jika anda terbiasa menggunakan scanf (); mungkin untuk memasukkan ayat jauh lebih baik untuk digunakan mendapat, mengapa? kerana jika kita menggunakan mendapat (); semua ayat termasuk SPASI juga dibaca, tetapi jika anda menggunakan scanf (); apabila terdapat SPACE dia secara automatik membaca SPACE sebagai \ 0, null yang bermaksud berhenti. panjang = strlen (ayat); Baiklah, apa ini? > Pada Kod Sumber saya telah memberi komen, fungsi fungsi strlen untuk mengira panjang kalimat (termasuk SPAS), kini fungsi strlen itu sendiri berada di pengepala rentetan . H, rentetan itu juga mempunyai fungsi lain. Seperti, strcmp, strcpy, dll.
baik, mungkin kebingungan terletak pada proses mengubah huruf kecil, dalam pengulangan dan seksyen pengkondisian ..
untuk ( int i = 0 ; i < panjang ; i + + ) { jika ( kalimat [ i ] > = 65 & & kalimat [ i ] < = 90 ) { sentence [ i ] + = 32 ; } }baris pertama, for ( int i = 0 ; i < panjang ; i + + ) untuk melakukan pengulangan dari elemen 0 hingga panjang kalimat tersebut,
kedua, if ( kalimat [ i ] > = 65 & & kalimat [ i ] < = 90 )
Kenapa, kenapa ada angka? input adalah dalam bentuk huruf ??
Lihat, anda tahu kod ASCII? * carian google *
Lihat gambar di atas, cuba untuk melihat huruf besar, ada di dalam Kod ke 65-90 betul?
bagaimana untuk membuktikannya?
Jika anda menggunakan papan kekunci komputer, cuba tandukan alt + 65, tetapi nombor 65 memukul nombor di bawah numlock, bukan nombor di atas huruf.
Jika anda menggunakan papan kekunci laptop, tekan alt + fn + 65 berwarna biru.
jika ( ayat [ i ] > = 65 & & kalimat [ i ] < = 90 ) { ayat [ i ] + = 32 ; }kita lihat lagi, betul ada penyaman, jika hukuman I-65 65-90, kemudian menambah 32.
Kenapa 32? kerana kita tahu huruf kecil, bermula dari kod ke 97, jadi contohnya kita mahu menukar B ke b, bermakna kita akan berubah dari 66 ke 98, selangnya ialah 32 betul?
eh tunggu apa fungsi ulangan?
baik, di sini, ayat ini adalah jenis data ARRAY, jadi kami akan menukar surat 1 demi satu.
Katakan kita input: AYin
kemudian, elemen ke- 0 = Satu elemen
= Y elemen
ke-2 = i
ke-3 =
nn = strlen (AYin);
kita dapat nilai n = 4 betul?
apabila kita mahu menukarnya kepada huruf kecil, tentu saja kita melakukannya satu persatu, jadi pengulangan seperti ini. i = 0; i <n,
- i = 0;
kerana huruf A terletak di antara 65-90, iaitu pada 65, maka kita menambah 32, ke 97.
97 adalah a.
i ++; - i = 1;
huruf Y terletak di antara 65-90, yang pada 89, kemudian menambah 32, menjadi 121
121 y.
i ++; - i = 2;
huruf i tidak terletak di antara 65-90, kerana saya terletak di kod 105, jadi ia tidak ditambah.
i ++; - i = 3;
huruf n tidak terletak di antara 65-90, kerana n terletak dalam kod 110, jadi ia tidak ditambah.
i ++; - i = 4, Berhenti Pengulangan.
Oke banyak tutorial dari saya, semoga membantu anda memahami bahasa pengaturcaraan C
Seperti kata pensyarah saya, jika anda ingin memahami pengaturcaraan, letakkan diri anda sebagai Mesin, bukan sebagai Manusia. :)
No comments:
Post a Comment