Merkit kokonaislukuina
ASCII-arvot.
Merkit kokonaislukuina on ilmainen C Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu C Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. C Academy-kurssilla on yhteensä 4 oppituntia.
Merkit ovat lukuja
C-kielessä char on vain pieni kokonaisluku. Jokaisella merkillä on numeerinen arvo, jonka määrittää ASCII-taulukko.
Kirjain 'A' tallennetaan numerona 65, 'B' on 66 ja niin edelleen.
#include <stdio.h>
int main(void) {
char c = 'A';
printf("The character %c has value %d\n", c, c);
return 0;
}ASCII-arvon tulostaminen
Käyttäkää %d-muotomääritettä tulostaaksenne char-arvon kokonaislukuna ja %c-määritettä tulostaaksenne sen merkkinä.
Samaa muuttujaa voidaan tarkastella molemmilla tavoilla.
#include <stdio.h>
int main(void) {
char letter = 'z';
printf("As char: %c\n", letter);
printf("As int: %d\n", letter);
return 0;
}Myös numeroilla on koodit
Merkki '0' ei ole luku 0. Sen ASCII-arvo on 48.
Numeromerkit '0'–'9' ovat koodeissa 48–57 järjestyksessä.
#include <stdio.h>
int main(void) {
printf("'0' = %d\n", '0');
printf("'9' = %d\n", '9');
return 0;
}Char-arvon muuntaminen numeroksi
Koska numeromerkit ovat peräkkäisiä, numeromerkin voi muuntaa lukuarvoksi vähentämällä siitä merkin '0'.
'7' - '0' on 7.
#include <stdio.h>
int main(void) {
char d = '7';
int value = d - '0';
printf("The digit value is %d\n", value);
return 0;
}Merkeillä laskeminen
Koska char-arvot ovat kokonaislukuja, niillä voi laskea. Kun arvoon 'A' lisätään 1, saadaan merkin 'B' koodi.
Tämä toimii, koska aakkosten kirjaimet ovat ASCII:ssa peräkkäisiä.
#include <stdio.h>
int main(void) {
char c = 'A';
char next = c + 1;
printf("After A comes %c\n", next);
return 0;
}Aakkoston läpikäynti silmukalla
Voit käydä merkit 'a':sta 'z':aan läpi käyttämällä char-tyyppistä silmukkalaskuria.
Silmukka vertaa merkkien koodeja aivan kuten lukuja.
#include <stdio.h>
int main(void) {
for (char c = 'a'; c <= 'z'; c++) {
printf("%c", c);
}
printf("\n");
return 0;
}Kirjainkoon väli
ASCII:ssa isot ja pienet kirjaimet ovat 32:n päässä toisistaan. 'a' on 97 ja 'A' on 65.
Siksi 'a' - 'A' on yhtä suuri kuin 32.
#include <stdio.h>
int main(void) {
printf("'A' = %d\n", 'A');
printf("'a' = %d\n", 'a');
printf("Gap = %d\n", 'a' - 'A');
return 0;
}Kirjainkoon muuntaminen käsin
Kun tiedät välin olevan 32, voit muuntaa pienet kirjaimet isoiksi vähentämällä luvun 32.
Juuri näin toupper toimii taustalla.
#include <stdio.h>
int main(void) {
char lower = 'm';
char upper = lower - 32;
printf("%c becomes %c\n", lower, upper);
return 0;
}Erikoismerkit
Myös ohjausmerkeillä on koodit. Rivinvaihto '\n' on 10, sarkain '\t' on 9 ja tyhjämerkin päättävä merkki '\0' on 0.
Välilyöntimerkin arvo on 32.
#include <stdio.h>
int main(void) {
printf("newline = %d\n", '\n');
printf("tab = %d\n", '\t');
printf("space = %d\n", ' ');
return 0;
}Char sisältää pieniä lukuja
char sisältää yleensä arvot välillä -128–127 (signed) tai 0–255 (unsigned).
Voit tallentaa pieniä kokonaislukuja suoraan char-muuttujaan.
#include <stdio.h>
int main(void) {
char small = 100;
small = small + 5;
printf("small = %d\n", small);
return 0;
}Caesar-siirron rakentaminen
Yhdistämällä nämä ideat saat yksinkertaisen Caesar-salakirjoituksen, jossa jokaista kirjainta siirretään vakiomäärän verran merkkiaritmetiikan avulla.
Tässä siirrämme yhtä kirjainta kolme askelta eteenpäin.
#include <stdio.h>
int main(void) {
char c = 'x';
char shifted = 'a' + (c - 'a' + 3) % 26;
printf("%c shifted by 3 = %c\n", c, shifted);
return 0;
}Pikatarkistus
Testaa ymmärrystäsi merkeistä kokonaislukuina.
Kertaus
Opit, että C:ssä:
charon pieni kokonaisluku, joka sisältää ASCII-koodin.%ctulostaa arvon merkkinä ja%dlukuna.- Numerot
'0'–'9'ja kirjaimet ovat peräkkäisiä, joten niillä voi laskea. c - '0'muuntaa numeromerkin sitä vastaavaksi arvoksi, ja kirjainkoon väli on 32.
Opi C tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 39
- Oppitunnit
- 144
Usein kysytyt kysymykset
Onko oppitunti ”Merkit kokonaislukuina” ilmainen?
Kyllä – oppitunnin ”Merkit kokonaislukuina” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko C Academy-kurssin, päivitä CoddyKit PROhon. C Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Merkit kokonaislukuina”?
ASCII-arvot. Harjoittelet C Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni C Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin C Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Merkit kokonaislukuina”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä C Academy-oppitunnilla?
Kyllä. Jokainen C Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Merkit kokonaislukuina
- ctype-kirjasto
- Merkkien lukeminen
- Merkkityökalujen rakentaminen