GNU/Linux >> Znalost Linux >  >> Linux

Výukový program příkazového řádku C 6 – Odsazení kódu, operátory přírůstku/snižování, smyčky do-while a for a další

Dosud jsme probrali celkem 5 výukových programů programování v jazyce C. Každý tutoriál byl zaměřen na něco konkrétního. V procesu setrvání blízko k tématu zůstaly některé obecné pojmy nedotčeny. Některé z těchto konceptů budeme diskutovat zde v tomto tutoriálu.

Takže začneme.

Kód byste měli vždy správně odsadit. Pro začátek, odsazení je praxe, kdy vkládáte mezery/tabulátory/nové řádky, aby kód vypadal čitelněji. Obvykle jsou řádky kódu spojené s blokem nebo smyčkou umístěny ve stejné mezeře. Zde je například neodsazený kód:

#include 

int main (void)
{
int c =0, counter=0;
c =getchar();
while(c !=EOF)
{
c =getchar();
if(c =='\n')
counter =counter+1;
}
printf("Vstup obsahuje %d řádků", čítač+1);
return 0;
}

A zde je stejný kód s použitým odsazením:

#include 

int main (void)
{
int c =0, counter=0;
c =getchar();

while(c !=EOF)
{
c =getchar();

if(c =='\n')
čítač =čítač+1;
}

printf("Vstup obsahuje %d řádků", čítač+1);

return 0;
}

Takže můžete vidět, že odsazený kód vypadá roztříděně a snadno čitelný a kontrolovatelný.

Možná jste si všimli v předchozích tutoriálech, že jsme použili následující způsob zvýšení proměnné:

a =a+1;

I když na tomto způsobu není nic špatného, ​​existuje ještě jeden způsob, který je oblíbený a hodně používaný. Je to použití inkrementačního operátoru.

a++

Při použití tohoto způsobu se hodnota „a“ zvýší o 1. Všimněte si, že se jedná o přírůstek. Existuje také operátor předběžného zvýšení:

++a

Rozdíl mezi těmito dvěma je v post-inkrementu, proměnná je nejprve použita a poté její hodnota, pokud je inkrementována. Na druhou stranu při předběžném přírůstku se nejprve zvýší hodnota a poté se použije proměnná.

Následující část kódu lépe vysvětlí rozdíl.

#include 

int main (void)
{
int a =0, ​​b=0;

printf ("a =%d", a++);
printf("\n b =%d", ++b);

návrat 0;
}

Výstup tohoto programu je:

a =0
b =1

Takže můžete vidět, že zatímco přírůstek po příspěvku se neodrazil okamžitě, před přírůstek ano.

Stejná logika platí také pro dekrementační operátory.

#include 

int main (void)
{
int a =1, b=1;

printf ("a =%d", a--);
printf("\n b =%d", --b);

návrat 0;
}

Výstup je:

a =1
b =0

Existují dva způsoby, jak můžete komentovat kód v C. Jedním z nich je použití '//'. Tímto způsobem můžete komentovat pouze jeden řádek najednou.

// int a =10;
// a =9;

Druhým způsobem je umístit /* .... */ kolem řádků. To vám umožní komentovat více řádků najednou.

/* int a =10;
a =9; */

Doposud jsme se dotkli pouze cyklu while, kde provádění kódu vstupuje do bloku while pouze tehdy, pokud je podmínka pravdivá.

while(condition)

{

/*

   řádek kódu

   řádek kódu

   ...

*/

}

Existuje také smyčka do-while, kde je blok kódu proveden jednou poprvé a poté je zkontrolována podmínka while.

 do
{

// několik řádků kódu

} while (condition);

Nyní je otázkou, kdy použít do-while? Dám vám příklad. Předpokládejme, že chcete, aby uživatel zadal hodnotu, která je větší než 10, a požadavkem je neustále žádat uživatele, aby takovou hodnotu zadával, dokud ji program nezíská. Pak zde je návod, jak bude smyčka do-while v tomto případě užitečná:

do
{
printf("Zadejte číslo větší než 10:");
scanf("%d", &n);

} while(n<=10);

Další na řadě je smyčka 'for', která jako 'while' má podmínku ke kontrole, ale má také příkaz inkrementace nebo dekrementace, který je v mnoha případech užitečný.

for(inicializace; podmínka; zvýšení/snížení)
{
// řádky kódu zde
}  

Zde je příklad kódu, který vytiskne všechna sudá čísla mezi 0 a 20.

#include 

int main()
{
int i;

for(i=0;i<=20;i=i+2)
printf(" %d ", i);

return 0;
}

Samozřejmě existuje mnoho tipů a triků souvisejících se smyčkou „pro“, ale budeme je probírat pomalu a postupně v našich budoucích tutoriálech.

Zde, v tomto tutoriálu, jsme se naučili několik dobrých tipů a také nové koncepty. Budeme je rozšiřovat v následujících tutoriálech. Do té doby si procvičte vše, co jsme tu dnes probrali, a v případě jakýchkoli pochybností nebo dotazů napište komentář.


Linux
  1. Existují standardy pro přepínače a argumenty příkazového řádku Linuxu?

  2. Návratový kód sed pro žádnou shodu

  3. Různé barvy pro příkaz a výstup

  1. 8 tipů pro příkazový řádek Linuxu

  2. Existuje nástroj příkazového řádku pro vizualizaci a analýzu dat?

  3. Kód pro malloc a zdarma

  1. Jak zvýšit a snížit proměnnou v Bash (počítadlo)

  2. Linux Uniq Command Tutorial pro začátečníky (10 příkladů)

  3. Linux ln Command Tutorial pro začátečníky (5 příkladů)