Skočiť na obsah


Programovanie v jazyku C a C#

Návody pre začiatočníkov a pokročilých



Fórum: Škôlka jazyka C
- - - - -
Fotografia

Booleovské výrazy; Podmienený výraz; Operátor čiarky;


Booleovské výrazy

Výsledok (0) je FALSE
Výsledok – nenulová hodnota (najčastejšie 1, ale nie je to podmienka) je TRUE.
Rovnosť ==
Nerovnosť !=
Logický súčin &&
Logický súčet ||
Negácia !
Menšie <
Menšie alebo rovnaké <=
Vačšie >
Vačšie alebo rovnaké >=
#include <stdio.h>
main()
{
  int i, j;
 
  i = 5;
  j = 6;
  printf("==\t%d\n", i == j);
  printf("!=\t%d\n", i != j);
  printf("&&\t%d\n", (i == j) && (i != j));
  printf("||\t%d\n", (i == j) || (i != j));
  printf("!\t%d\n", !(i == j));
  printf("<\t%d\n", i < j);
  printf("<=\t%d\n", i <= j);
  printf(">\t%d\n", i > j);
  printf(">=\t%d\n", i >= j);
}
Výstup:
== 0
!= 1
&& 0
|| 1
!  1
<  1
<= 1
>    0
>= 0

Podmienený výraz - terárny operátor

podmienka ? výraz_1 : výraz_2
Význam:
ak je podmienka pravda, platí výraz_1, ak nie je, platí výraz_2
Podmienka aj výrazy môžu byť akokoľvek zložité.
Vždy je možné ich rozpísať za pomoci if else.
#include <stdio.h>
main()   /* rozpozná či je zadaný znak veľké alebo malé písmeno, ak nie, je to iný znak */
{
  int c;
 
  c = getchar();
  ((c >= 'a') && (c <= 'z')) || ((c >= 'A') && (c <= 'Z')) ? printf("znak je velke alebo male pismeno\n") : printf("iny znak\n");
}
Terárny operátor viacprvkový:
/* terarny operator viac prvkovy */
#include <stdio.h>
 
int main()
{
    int a, b, c;
    printf("Zadaj tri cele cisla a ja ich zoradim od najvacsieho:\n");
    scanf("%d%d%d", &a, &b, &c);
    /***********************************************************
     * na zoradenie je potrebne uvedomit si vsetky kombinacie, *
     * su to:                                                  *
     *************************                                 *
     * 1 * 2 * 3 * 4 * 5 * 6 *                                 *
     * a * a * b * b * c * c *                                 *
     * b * c * c * a * a * b *                                 *
     * c * b * a * c * b * a *                                 *
     *************************                                 *
     * v terarnom operatore sa vyuziju v jednom prikaze vsetky *
     ***********************************************************/
    a > b && b > c ? printf("%d, %d, %d\n", a, b, c)   // 1. a b c
    : a > c && c > b ? printf("%d, %d, %d\n", a, c, b) // 2. a c b
    : b > c && c > a ? printf("%d, %d, %d\n", b, c, a) // 3. b c a
    : b > a && a > c ? printf("%d, %d, %d\n", b, a, c) // 4. b a c
    : c > a && a > b ? printf("%d, %d, %d\n", c, a, b) // 5. c a b
    : printf("%d, %d, %d\n", c, b, a); // nakoniec zostavajuca 6. c b a
 
    return(0);
}
Operátor čiarky

Používa sa najviac v riadiacich častiach príkazov for a while.
#include <stdio.h>
int main()
{
  int i, sucin;
  
  for (i = 3, sucin = 1; i <= 9; i += 2) {
    printf("%d x %d = ", i, sucin); 
    printf("%d\n", sucin *= i);
  }
  return 0;
}
Je to vlastne to isté ako:
#include <stdio.h>
int main()
{
  int i, sucin;
  
  sucin = 1;
  for (i = 3; i <= 9; i += 2) {
    printf("%d x %d = ", i, sucin); 
    printf("%d\n", sucin *= i);
  }
  return 0;
}
while:
#include <stdio.h>
int main()
{
  int i, j;
  
  i = 3;
  j = 5;
  printf("Vypocet prveho cyklu:\n"
         "i = i * j\t"
         "%d = %d * %d\t"
         "j = i - j\t"
         "%d = %d - %d\n\n",
         i * j, i, j,
         (i * j) - j, i * j, j);
  while ((j = (i = i * j, i - j)) < 100000)
  printf("i = %d, j = %d\n", i, j);
  return 0;
}
  • 0

Popis: Booleovské výrazy; Podmienený výraz – ternárny operátor; Operátor čiarky;
Poznámky:
Odkazy:


0 Komentárov


Najlepšie lekcie


Najnovšie pridané lekcie


Najnovšie komentáre


Najviac komentované lekcie


Najviac zobrazené lekcie


Náhodné lekcie


Na tejto stránke bolo užívateľ(ov) za posledných 30 minút

členov, návštevníkov