Reklāma
Mācīšanās programmēt ir kumulatīvā pieredze. Līdztekus izvēlētās valodas sintakses apguvei ir jāapgūst arī vispārīgie principi, ko izmanto visas programmēšanas valodas.
C programmēšanas izpratne un apguve var būt biedējoša, taču ir dažas pamatidejas, ar kurām ir vērts iepazīties, uzsākot darbu. Vienkāršs projekts ir lielisks veids, kā apgūt C pamatus.
Tātad, kur jums vajadzētu sākt? Sasveicinoties!
1. Sveika pasaule!
Gandrīz katra kodēšanas kursa pirmā daļa ir Sveika pasaule programma. Detalizēti aplūkojot to, tiek izcelti daži veidi, kā C atšķiras no citām valodām. Lai sāktu, atveriet a teksta redaktors vai IDE Teksta redaktori vs. IDE: kurš no tiem ir labāks programmētājiem?Var būt grūti izvēlēties starp uzlabotu IDE un vienkāršāku teksta redaktoru. Mēs piedāvājam ieskatu, lai palīdzētu jums pieņemt šo lēmumu. Lasīt vairāk pēc savas izvēles un ievadiet šo kodu:
#iekļauts /* šis ir Hello World skripts C valodā */ int main (neesošs) { printf("Sveika, pasaule! \n"); atgriezties 0; }
Šis īsais koda fragments tiek izdrukāts konsolē pirms programmas beigšanas. Saglabājiet to viegli iegaumējamā vietā
sveiki.c. Tagad jums ir jāapkopo un jāizveido fails.Liekot to darboties
Parasti, lai palaistu C skriptus, datorā nav jāinstalē papildu programmatūra. Atveriet termināļa logu (vai komandu uzvedni, ja izmantojat Windows) un dodieties uz direktoriju, kurā saglabājāt skriptu.
Faila kompilēšanas un palaišanas veids dažādās sistēmās ir atšķirīgs:
- Windows lietotāji: Padariet failu izpildāmu, ierakstot cl sveiki.c un nospiežot enter. Tādējādi tajā pašā mapē tiks izveidots hello.exe, kuru varat palaist, ierakstot Sveiki.
- Linux un macOS lietotāji: Tips gcc -o sveiks sveiks.c un nospiediet taustiņu Enter, lai padarītu to izpildāmu, un palaidiet to, ierakstot ./Sveiki.
Neatkarīgi no tā, kuru metodi izmantojat, skripta izpildei vajadzētu parādīt šo:
Ja tas nedarbojās operētājsistēmā Windows, noteikti palaidiet to komandu uzvedne administratora režīmā. Operētājsistēmā MacOS, iespējams, būs jāinstalē Xcode no App Store un veiciet šīs darbības no StackOverflow.
Tagad apskatīsim programmu rindu pēc rindas, lai redzētu, kā tā darbojas, un uzlabosim to!
Zem pārsega: C valodas izpratne
Priekšapstrādātāji
Tikko izveidotais skripts sākas ar bibliotēkas iekļaušanu.
#iekļauts
Pirmo rindu skriptā sauc a priekšapstrādātājs. Tas tiek veikts pirms pārējās skripta daļas kompilēšanas. Šajā gadījumā tas liek skriptam izmantot stdio.h bibliotēka. Dažādiem uzdevumiem ir pieejams milzīgs skaits priekšapstrādātāju.
Stdio.h rūpējas par ievades saņemšanu no programmas lietotāja un informācijas izvadīšanu viņiem atpakaļ.
/* šis ir Hello World skripts C valodā */
Šī nākamā rinda ir komentārs. Slīpsvītra un zvaigzne liek kompilatoram ignorēt visu, kas atrodas starp to un beigu zvaigzni un slīpsvītru. Lai gan tas var šķist bezjēdzīgi, spēja atstāt sev un citiem skaidras piezīmes par to, ko dara jūsu kods, ir būtisks ieradums, kas jāiekļaujas.
Galvenā funkcija
int main (neesošs)
Katrā C programmā jābūt a galvenais funkcija. Galvenā ir funkcija, kas atgriež veselu skaitli, ko apzīmē ar starpt. Iekavas aiz galvenā ir paredzētas argumentiem, lai gan šajā gadījumā tas nav nepieciešams, tāpēc jūs izmantojat nederīgs atslēgvārds.
Jūs ierakstāt kodu, kas jāveic starp divām krokainajām lencēm.
{ printf("Sveika, pasaule! \n"); atgriezties 0; }
Funkcijā jūs izsaucat printf() funkcija. Tieši kā galvenais (), printf ir funkcija. Atšķirība ir tāda, ka printf ir funkcija stdio bibliotēku, kuru iekļāvāt sākumā.
Printf konsolē drukā visu, kas atrodas iekavās, starp pēdiņām. The \n ir atkāpšanās secība, ko sauc par jaunu rindiņu, liekot kompilatoram pāriet uz nākamo rindiņu konsolē, pirms turpināt.
Ņemiet vērā, ka šīs rindas beidzas ar semikolu, ko kompilators izmanto, lai sadalītu vienu uzdevumu no nākamā. Pievērsiet īpašu uzmanību šiem semikoliem — to izlaišana ir galvenais iemesls, kāpēc lietas nenotiek pareizi!
Visbeidzot, funkcija atgriežas ar skaitli 0, beidzot programmu. The galvenais () funkcijai vienmēr ir jāatgriež vesels skaitlis un atgriešanās = 0; signalizē datoram, ka process bija veiksmīgs.
Izpratne par katru šī skripta darbību ir lielisks sākums gan C sintakses, gan valodas darbības apguvē.
2. Izveidojiet savas C funkcijas
Varat izveidot savas pielāgotās funkcijas programmā C. Tā vietā, lai drukātu Hello World galvenajā funkcijā, izveidojiet jaunu funkciju, lai to izdarītu jūsu vietā.
tukšs print_for_me() { printf("Sveika, pasaule! \n"); }
Sadalīsim šo.
nederīgs ir atslēgvārds, kas nozīmē, ka tālāk norādītā funkcija neko neatgriezīs.
print_for_me() ir funkcijas nosaukums, un tukšās iekavas parāda, ka tās darbībai nav nepieciešami argumenti. Arguments ir jebkura informācija, kas jānodod funkcijai, lai tā darbotos — vēlāk jūs pievienosit savu argumentu, lai mainītu izvadi! Piezīme: Tas nav tas pats, kas main() funkcija, virs kuras tika izmantota void. Šī funkcija nevar pieņemt argumentus, savukārt šī var (bet šajā gadījumā tas nav jādara).
Koda bloks jums vajadzētu būt pazīstamam — tas ir tikai sākotnējās galvenās funkcijas drukas paziņojums.
Tagad jūs varat izsaukt šo funkciju no savas galvenās funkcijas.
int main (neesošs) { print_for_me(); print_for_me(); atgriezties 0; }
Šeit varat redzēt savas funkcijas izmantošanas priekšrocības. Nevis rakstīt printf ("Sveika, pasaule! \n) katru reizi funkciju var izsaukt divas reizes.
Pašlaik tas var nešķist tik svarīgi, taču, ja funkcijā print_for_me bija daudz koda rindiņu, iespēja to tik vienkārši izsaukt ir lielisks laika ietaupījums!
Šī ir programmēšanas pamatideja, ar kuru jūs saskarsities savas izglītības laikā. Vienreiz ierakstiet savu funkciju, nevis rakstīt vienu un to pašu lielo koda gabalus atkal un atkal.
3. Funkciju prototipu izmantošana programmā C
Prototipi ir viens no galvenajiem veidiem, kā iesācējs C atšķiras no citām valodām. Īsāk sakot, prototips ir kā vēlāk definētas funkcijas priekšskatījums. Ja pēc galvenās funkcijas ierakstāt funkciju print_for_me(), kompilēšanas laikā varat saņemt brīdinājumu:
Brīdinājuma ziņojums norāda, ka kompilators iedarbojās funkcijā print_for_me, pirms tā tika deklarēta, tāpēc nevarēja būt pārliecināts, ka tā darbosies pareizi, kad programma darbojas.
Kods joprojām darbotos, taču no brīdinājuma var izvairīties, izmantojot prototipu.
#iekļauts tukšs print_for_me(); int main (neesošs) { print_for_me(); print_for_me(); atgriezties 0; } spēkā neesošs print_for_me() { printf("Sveika, pasaule! \n"); }
Apskatot visu programmu, jūs varat redzēt, ka print_for_me() prototips pastāv programmas sākumā, bet tajā nav nekā. Prototipa funkcija parāda kompilatoram, kā funkcijai vajadzētu izskatīties un vai tai ir nepieciešami argumenti.
Tas nozīmē, ka, izsaucot to galvenajā funkcijā, kompilators zina, vai tas tiek izsaukts pareizi, un var parādīt brīdinājumu vai kļūdu, ja tas ir nepieciešams. Šobrīd tas var šķist dīvaini, taču, zinot par tiem tagad, tas palīdzēs nākotnē.
Šī programma joprojām darbojas bez prototipa, taču to izmantošana ir laba prakse. Pagaidām izvade joprojām izskatās tāda pati, mainīsim to, lai padarītu to personiskāku!
4. Argumentu nodošana C funkcijām
Skripta maiņa
Šajā pēdējā darbībā jums būs jāievada lietotāja vārds un jāieraksta viņa ievade. Pēc tam to izmantosit iepriekš izveidotajā funkcijā. C valodā vārdi nav zināmi kā virknes, tāpat kā citās programmēšanas valodās.
Tā vietā tie ir atsevišķu rakstzīmju masīvs. Masīva simbols ir [] un atslēgvārds ir char. Sāciet ar prototipa funkcijas atjaunināšanu skripta sākumā:
#iekļauts void print_for_me (rakstzīmes nosaukums[]);
Tagad kompilators zinās, ka funkcija vēlāk skriptā izmanto izsaukto rakstzīmju masīvu nosaukums. Pagaidām šis tēls neeksistē. Atjauniniet savu galveno funkciju, lai to izveidotu, un izmantojiet to, lai saglabātu lietotāja ievadi:
int main (neesošs) { rakstzīmes nosaukums[20]; printf ("Ievadiet nosaukumu:"); scanf("%s", nosaukums); print_for_me (vārds); print_for_me("Visi!"); atgriezties 0; }
Pirmajā rindā tiek izveidots rakstzīmju masīvs ar 20 iespējamām atstarpēm, ko sauc par nosaukumu. Pēc tam lietotājam tiek piedāvāts ievadīt savu vārdu, izmantojot printf. Nākamajā rindā tiek izmantota jauna funkcija, ko sauc scanf kas aizņem nākamo vārdu, ko lietotājs ieraksta.
The “%s” norāda funkcijai, ka tai jāsaglabā dati kā virkne, un izsauc to nosaukums.
Funkcijas modificēšana
Tagad, zvanot print_for_me, varat iekļaut nosaukums iekavās. Nākamajā rindā redzēsit, ka varat nodot arī citas rakstzīmes, ja vien tās atrodas pēdiņās. Abas reizes tas, kas ir iekavās, tiek nodots funkcijai print_for_me.
Mainiet to tagad, lai izmantotu jauno informāciju, ko tai sniedzat:
tukšs print_for_me (rakstzīmes nosaukums[]) { printf ("Sveiks, "); liek (nosaukums); }
Šeit jūs varat redzēt, ka iekavas ir atjauninātas tāpat kā prototips skripta sākumā. Iekšpusē jūs joprojām drukājat hello, izmantojot printf. Šeit ir jauna funkcija liek. Šī ir uzlabota printf versija.
Viss, kas ievietots iekavās, tiks izdrukāts konsolē, un jauna rindiņa ( \n jūs izmantojāt iepriekš) tiek pievienots automātiski.
Saglabājiet un kompilējiet kodu tāpat kā iepriekš — ņemiet vērā, ka varat nosaukt programmu citādi, ja nevēlaties pārrakstīt iepriekšējo programmu. Es nosaucu savējo sveiks2:
Kā jums vajadzētu redzēt, programma ņem ievadi un izmanto to funkcijā, pirms nosūta iepriekš iestatīto sveicienu “Visi!” atkal dodot divas atsevišķas izejas vienai un tai pašai funkcijai.
C programmēšanas ABC
Šī programma ir vienkārša, taču daži tajā ietvertie jēdzieni tādi nav. Uzlabotāks C kods ir jāraksta ļoti labi, lai novērstu avārijas. Tāpēc daudzi domā, ka tas ir lieliska valoda, ko iemācīties vispirms jo tas ieaudzina jaunus programmētājus labus ieradumus.
Citi uzskata, ka C++ apguve ir labāka ideja, jo tā balstās uz C, vienlaikus saglabājot zemāku sistēmas vadību. (Ir arī jāņem vērā rūsa — tā ir aizraujoša programmēšanas valoda kas sintaktiski līdzinās C++.)
Viena lieta ir droša: valodas, piemēram, Python ir daudz draudzīgāki iesācējiem. Vecai valodai C joprojām tiek lietots visur, bet Python var būt nākotnes valoda 6 iemesli, kāpēc Python ir nākotnes programmēšanas valodaVēlies apgūt vai paplašināt savas programmēšanas prasmes? Lūk, kāpēc Python ir labākā programmēšanas valoda, ko šogad apgūt. Lasīt vairāk !
Ians Baklijs ir ārštata žurnālists, mūziķis, izpildītājs un video producents, kurš dzīvo Berlīnē, Vācijā. Kad viņš neraksta un nestāv uz skatuves, viņš ķeras pie elektronikas vai kodiem, cerot kļūt par traku zinātnieku.