Реклама

Учење програмирања је кумулативно искуство. Поред учења синтаксе одабраног језика, морате научити и опште принципе које користе сви програмски језици.

Разумевање и учење Ц програмирања може бити застрашујуће, али постоји неколико основних идеја са којима се вреди упознати када почнете. Једноставан пројекат је одличан начин да научите основе Ц.

Дакле, одакле треба да почнете? Здраво!

1. Здраво Свете!

Први део скоро сваког курса кодирања је Здраво Свете програм. Детаљан преглед наглашава неке од начина на које се Ц разликује од других језика. За почетак отворите а уређивач текста или ИДЕ Уређивачи текста вс. ИДЕ: Који је бољи за програмере?Избор између напредног ИДЕ-а и једноставнијег уређивача текста може бити тежак. Нудимо вам увид који ће вам помоћи да донесете ту одлуку. Опширније по вашем избору и унесите овај код:

#инцлуде /* ово је Хелло Ворлд скрипт у Ц */ инт маин (воид) { принтф("Здраво, Свете! \н"); ретурн 0; }

Овај кратки део кода се штампа на конзоли пре завршетка програма. Сачувајте га негде лако за памћење као

instagram viewer
здраво Ц. Сада морате да компајлирате и направите своју датотеку.

Макинг Ит Рун

Обично нећете морати да инсталирате додатни софтвер на рачунар да бисте покренули Ц скрипте. Отворите прозор терминала (или командну линију ако користите Виндовс) и идите до директоријума у ​​коме сте сачували скрипту.

Начин на који компајлирате и покрећете датотеку разликује се од система до система:

  • Корисници Виндовс-а: Учините своју датотеку извршном куцањем цл хелло.ц и притиском на ентер. Ово ће креирати хелло.еке у истој фасцикли, коју можете покренути куцањем Здраво.
  • Корисници Линук-а и мацОС-а: Тип гцц -о здраво здраво.ц и притисните ентер да бисте га учинили извршним и покрените га куцањем ./Здраво.

Који год метод да користите, покретање ваше скрипте би требало да вам покаже ово:

Излаз који приказује резултате Хелло Ворлд! скица у Ц

Ако не ради на Виндовс-у, обавезно покрените командни редак у режиму администратора. За мацОС, можда ћете морати да инсталирате Ксцоде из продавнице апликација и пратите ове кораке из СтацкОверфлов-а.

Сада, погледајмо програм ред по ред да видимо како функционише и побољшамо га!

Испод хаубе: Разумевање језика Ц

Претпроцесори

Скрипта коју сте управо креирали почиње укључивањем библиотеке.

#инцлуде 

Први ред у скрипти се зове а претпроцесор. Ово се спроводи пре него што се компајлира остатак скрипте. У овом случају, он говори скрипти да користи стдио.х библиотека. Постоји огроман број предпроцесора који су доступни за различите задатке.

Стдио.х брине о добијању уноса од корисника програма и враћању информација њима.

/* ово је Хелло Ворлд скрипт у Ц */

Овај следећи ред је коментар. Коса црта и звездица говоре компајлеру да игнорише све између ње и завршне звездице и косе црте. Иако ово може изгледати бесмислено, могућност да себи и другима оставите јасне белешке о томе шта ваш код ради је суштинска навика коју треба да уђете.

Главна функција

инт маин (воид)

Сваки Ц програм мора имати а главни функција. Маин је функција која враћа цео број, означен са инт. Заграде иза главног су за његове аргументе, мада у овом случају не узимају ниједан, због чега користите празнина кључна реч.

Пишете код који ће се извршити између две витичасте заграде.

{ принтф("Здраво, Свете! \н"); ретурн 0; }

Унутар функције позивате принтф() функција. Баш као главни(), принтф је функција. Разлика је у томе што је принтф функција у стдио библиотеку коју сте укључили на почетку.

Принтф штампа било шта у заградама, између наводника, на конзоли. Тхе је излазна секвенца која се зове нови ред, која говори компајлеру да пређе на следећи ред у конзоли пре него што настави.

Имајте на уму да се ове линије завршавају на тачка и зарез, који компајлер користи да подели један задатак од другог. Обратите посебну пажњу на ове тачке и зарезе - њихово пропуштање је узрок број један да ствари не иду како треба!

Коначно, функција се враћа са бројем 0, завршавајући програм. Тхе главни() функција увек мора да враћа цео број, и ретурн = 0; сигнализира рачунару да је процес био успешан.

Разумевање сваког корака ове скрипте је одличан почетак у учењу и Ц синтаксе и начина на који језик функционише.

2. Креирање сопствених Ц функција

Можете креирати сопствене прилагођене функције у Ц. Уместо да штампате Хелло Ворлд у главној функцији, направите нову функцију која ће то урадити уместо вас.

воид принт_фор_ме() { принтф("Здраво, Свете! \н"); }

Хајде да ово разложимо.

празнина је кључна реч што значи да следећа функција неће ништа вратити.

принт_фор_ме() је име функције, а празне заграде показују да не захтева аргументе да би радила. Аргумент је било која информација коју треба проследити функцији да би она функционисала—касније ћете додати сопствени аргумент да бисте променили излаз! Белешка: Ово није исто што и функција маин() изнад које је користила воид. Та функција не може да узима аргументе, док ова може (али у овом случају не мора).

Блок кода требало би да вам буде познато - то је само изјава за штампање из оригиналне главне функције.

Сада можете позвати ову функцију из ваше главне функције.

инт маин (воид) { принт_фор_ме(); принт_фор_ме(); ретурн 0; }

Овде можете видети предности коришћења сопствене функције. Уместо да куцате принтф(„Здраво, Свете! \н”) сваки пут можете позвати функцију два пута.

Тренутно ово можда не изгледа толико важно, али ако ваша функција принт_фор_ме садржи много линија кода, могућност да је позовете тако лако је одлична уштеда времена!

Здраво свет, излаз два пута кроз вишеструке позиве функција

Ово је основна идеја програмирања на коју ћете наићи током свог образовања. Напишите своју функцију једном, уместо да пишете исте велике комаде кода изнова и изнова.

3. Коришћење прототипова функција у Ц

Прототипови су један од главних начина на који се почетнички Ц разликује од других језика. Укратко, прототип је као преглед функције дефинисане касније. Ако напишете функцију принт_фор_ме() после главне функције, можда ћете добити упозорење приликом компајлирања:

Композитна слика која приказује код без прототипа и упозорење које даје ц компајлер

Порука упозорења вам говори да је компајлер налетео на функцију принт_фор_ме пре него што је проглашена, тако да не може бити сигуран да ће исправно радити када се програм покрене.

Код би и даље радио, али упозорење се може у потпуности избећи коришћењем прототипа.

#инцлуде воид принт_фор_ме(); инт маин (воид) { принт_фор_ме(); принт_фор_ме(); ретурн 0; } воид принт_фор_ме() { принтф("Здраво, Свете! \н"); }

Ако погледате цео програм, можете видети да прототип за принт_фор_ме() постоји на почетку програма, али не садржи ништа. Функција прототип показује компајлеру како функција треба да изгледа и да ли захтева аргументе или не.

То значи да када је позовете у главној функцији, компајлер зна да ли је позвана исправно и може да избаци упозорење или грешку ако је потребно. Ово може бити нешто што сада изгледа чудно, али сазнање о њима сада ће помоћи у будућности.

Здраво свет, излаз два пута кроз вишеструке позиве функција

Овај програм и даље ради без прототипа, али је добра пракса за коришћење. Излаз и даље изгледа исто за сада, хајде да га променимо да буде персоналнији!

4. Преношење аргумената у Ц функције

Промена скрипте

За овај последњи корак, тражићете име корисника и снимити њихов унос. Затим ћете га користити у функцији коју сте раније креирали. У Ц-у речи нису познате као стрингови као у другим програмским језицима.

Уместо тога, они су низ појединачних знакова. Симбол за низ је [] а кључна реч је цхар. Започните ажурирањем функције прототипа на почетку скрипте:

#инцлуде  воид принт_фор_ме (име знака[]); 

Сада ће компајлер знати да функција касније у скрипти узима низ знакова који се позивају име. За сада, овај лик не постоји. Ажурирајте своју главну функцију да бисте је креирали и користите је за чување корисничког уноса:

инт маин (воид) { цхар наме[20]; принтф("Унесите име: "); сцанф("%с", име); принт_фор_ме (име); принт_фор_ме("Сви!"); ретурн 0; }

Први ред у главном ствара низ знакова са 20 могућих размака под називом име. Затим се од корисника тражи да унесе своје име користећи принтф. Следећи ред користи нову функцију под називом сцанф који узима следећу реч коју корисник унесе.

Тхе „%с“ говори функцији да треба да складишти податке као стринг и позива је име.

Модификовање функције

Сада када позовете принт_фор_ме, можете укључити име у загради. У следећем реду видећете да можете проследити и друге знакове све док су између наводника. Оба пута, оно што је у заградама се прослеђује функцији принт_фор_ме.

Измените то сада да бисте користили нове информације које му дајете:

воид принт_фор_ме (име знака[]) { принтф("Здраво, "); ставља (име); }

Овде можете видети да су заграде ажуриране баш као и прототип на почетку скрипте. Унутра, још увек штампате хелло користећи принтф. Ево нове функције ставља. Ово је напреднија верзија принтф-а.

Све што се стави у заграде биће одштампано на конзоли, а нови ред ( који сте раније користили) се аутоматски додаје.

Сачувајте и компајлирајте свој код на исти начин на који сте раније радили – имајте на уму да програм можете именовати другачије ако не желите да препишете свој ранији програм. Ја сам назвао своју хелло2:

Готов програм у Ц

Као што би требало да видите, програм преузима улаз и користи га у функцији, пре него што пошаље унапред подешени поздрав „Сви!“ поново дајући два одвојена излаза истој функцији.

АБЦ програмирања у Ц

Овај програм је једноставан, али неки од концепата у њему нису. Напреднији Ц код мора бити написан веома добро да би се спречило рушење. Због тога многи мисле да је одличан језик за прво учење пошто усађује добре навике новим програмерима.

Други мисле да је учење Ц++ боља идеја, јер се заснива на Ц-у, а задржава нижу контролу система. (Постоји и Руст који треба узети у обзир - то је узбудљив програмски језик који је синтактички сличан Ц++.)

Једно је сигурно: језицима као што је Питхон су много више пријатељски расположени за почетнике. За стари језик, Ц се и даље користи свуда, али Пајтон је можда језик будућности 6 разлога зашто је Питхон програмски језик будућностиЖелите да научите или проширите своје вештине програмирања? Ево зашто је Питхон најбољи програмски језик за учење ове године. Опширније !

Ијан Бакли је слободни новинар, музичар, извођач и видео продуцент који живи у Берлину, Немачка. Када не пише или није на сцени, петља са „уради сам“ електроником или кодом у нади да ће постати луди научник.