GNU/Linux >> Znalost Linux >  >> Linux

C Výukový program programování Část 3 - Základy proměnných

Až dosud jsme diskutovali o základech toho, co je program v C, jak jej zkompilovat a spustit a co jsou preprocesory. Pokud jste si prošli tyto tutoriály, je čas probrat další téma, kterým jsou proměnné.

Proměnné jsou jedním ze základních prvků programování v jazyce C, protože ukládají hodnoty, které mohou programátoři použít podle svých požadavků. Pojďme pochopit jejich základy na příkladu. Následuje základní program v C:

#include <stdio.h>

int main (void)
{
int a = 10;
char b = 'z';
float c = 1.5;
printf("\n a=%d, b=%c, c=%f \n", a,b,c);
return 0;
}

V předchozích kurzech programování v C jsme již vysvětlili věci, jako je 'stdio.h', co znamená '#include' a co je funkce (zejména 'main'). Přejdeme tedy přímo na část s proměnnými.

Řádek 'int a =10' znamená, že existuje proměnná s názvem 'a', která může obsahovat hodnoty typu integer ('int'), a aktuální hodnota, kterou drží, je '10'. Podobně „b“ může obsahovat znaky a „c“ může obsahovat čísla s plovoucí desetinnou čárkou, přičemž jejich aktuální hodnoty jsou „z“ a „1,5“.

Výše uvedený ukázkový program vytiskne tyto hodnoty na výstup pomocí funkce 'Printf'. Všimněte si, že %d, %c a %f se používají k tomu, aby funkci 'printf' řekli, že proměnné 'a', 'b', 'c' by měly být považovány za celé číslo, znak a plovoucí číslo.

Samozřejmě můžete udělat mnohem víc, než jen tisknout tyto hodnoty na výstup. Například následující program vypočítá faktoriál čísla 5.

#include <stdio.h>

int main (void)
{
int num = 5;
int result = 1;
while (num > 0)
{
result = result * num;
num = num -1;
}

printf("\n Factorial of 5 is %d\n", result);

return 0;
}

Pro ty, kteří si toho nejsou vědomi, faktoriál čísla, řekněme 'n', je výsledkem následujícího násobení:

nx(n-1)x(n-2)x.....1

Pokud je tedy číslo 5, potom faktoriál 5 (nebo 5!) bude 5x4x3x2x1, což se rovná 120.

Když se vrátíme k programu, definovali jsme dvě celočíselné proměnné pojmenované 'num' a 'result'. Zatímco num obsahuje číslo, jehož faktoriál se má vypočítat (v tomto případě 5), „výsledek“ obsahuje pouze fiktivní hodnotu „1“ pro začátek. Poté přichází smyčka „while“.

Jak název napovídá, smyčky se ve funkcích C používají k opakovanému provádění sady instrukcí. V případě 'while' cyklus začíná kontrolou podmínky (v tomto případě 'num by mělo být větší než nula') a poté jsou instrukce uvnitř cyklu opakovaně prováděny, dokud se podmínka while nestane nepravdivou.

V našem případě je hodnota 'num' zpočátku 5. Provedení tedy vstoupí do smyčky a první hodnota výsledku 'by' by byla '5' (1x5). Poté se z 'num' stane 'num -1', což znamená, že nová hodnota 'num' je nyní 4. 

Smyčka se pak provede znovu, protože 4 je stále větší než nula. Tentokrát by „výsledek“ byl 5x4, což je 20. A „num“ se pak změní na (4-1), což je 3. Tímto způsobem bude cyklus pokračovat, dokud se „num“ nestane 0. výsledkem je '120', což je faktoriál 5.

Takže zde je výstup vytvořený tímto programem:

Factorial of 5 is 120

Nyní, namísto konkrétní hodnoty (jako v tomto případě '5'), co když chcete, aby uživatel programu zadal číslo, jehož faktoriál se má vypočítat? To lze provést následujícím způsobem:

#include <stdio.h>

int main (void)
{
int num = 0, temp=0;
printf("\n Enter a positive integer: ");
scanf("%d", &num);
temp = num;
int result = 1;
while (temp > 0)
{
result = result * temp;
temp = temp -1;
}

printf("\n Factorial of %d is %d\n", num, result);

return 0;
}

Takže zde jsme použili novou funkci nazvanou 'scanf', která dělá přesný opak 'printf' - přijímá vstup od uživatele.

Nyní je s každou proměnnou spojeno určité množství paměti v bajtech. Funkce scanf vyžaduje, abyste předali počáteční adresu paměti proměnné, ke které se dostanete umístěním '&' před název proměnné.

Zavedli jsme zde novou proměnnou 'temp', protože potřebujeme skutečné číslo předané uživatelem (zde uložené v 'num') v posledním příkazu 'printf'.

V tomto tutoriálu jsme se dotkli základů proměnných. Tento tutoriál vám měl poskytnout základní představu o tom, co jsou proměnné a jak je lze použít v programovacím jazyce C. Existuje několik dalších aspektů souvisejících s proměnnými, které je třeba prodiskutovat – budeme to dělat v příštím tutoriálu.


Linux
  1. C Výukový program programování 4 - Proměnné a paměť

  2. C Výukový program programování Část 5 - Znakové proměnné

  3. Výukový program programování v Linuxu C Část 10 - Variabilní rozsahy

  1. Výukový program programování v Linuxu C Část 9:Řetězce

  2. Výukový program programování Linux C, část 8 – Volání podle hodnoty versus volání podle ukazatele/adresy

  3. Výukový program programování Linux C, část 8 – Volání podle hodnoty versus volání podle ukazatele/adresy

  1. Výukový program programování Linux C, část 8 – Volání podle hodnoty versus volání podle ukazatele/adresy

  2. Linux C výukový program programování část 14 - praktické příklady bitových operátorů

  3. Výukový program programování v Linuxu C Část 12 – Operátory přiřazení a podmíněné výrazy