C preprocesor
define – const
Parametri
Logiˇ cke operacije
C preprocesor, Logiˇcki operatori Softversko inˇzenjrstvo
Zlatko Petrovi´c
April 10, 2008
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
C preprocesor– 1/2 C preprocesor je specijalni tekst editor. Za njega vaˇzi specijalna sintaksa koja je razliˇcita od komandi C-a. Tipiˇcna primena su simboliˇcke konstante. Pre poziva C prevodioca vrˇsi se zamena simboliˇckih konstanti. Sve preprocesorske komande poˇcinju sa znakom #. Kod kompajlera koji imaju poseban preprocesorski korak pre procesor se moˇze koristiti i za druge primene osim C programiranja (FORTRAN ?) Preprocesorska direktiva se moˇze nastaviti na slede´ci red ako je poslednji znak \ Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
logo
C preprocesor
define – const
Parametri
Logiˇ cke operacije
C preprocesor– 1/2 C preprocesor je specijalni tekst editor. Za njega vaˇzi specijalna sintaksa koja je razliˇcita od komandi C-a. Tipiˇcna primena su simboliˇcke konstante. Pre poziva C prevodioca vrˇsi se zamena simboliˇckih konstanti. Sve preprocesorske komande poˇcinju sa znakom #. Kod kompajlera koji imaju poseban preprocesorski korak pre procesor se moˇze koristiti i za druge primene osim C programiranja (FORTRAN ?) Preprocesorska direktiva se moˇze nastaviti na slede´ci red ako je poslednji znak \ Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
logo
C preprocesor
define – const
Parametri
Logiˇ cke operacije
C preprocesor– 1/2 C preprocesor je specijalni tekst editor. Za njega vaˇzi specijalna sintaksa koja je razliˇcita od komandi C-a. Tipiˇcna primena su simboliˇcke konstante. Pre poziva C prevodioca vrˇsi se zamena simboliˇckih konstanti. Sve preprocesorske komande poˇcinju sa znakom #. Kod kompajlera koji imaju poseban preprocesorski korak pre procesor se moˇze koristiti i za druge primene osim C programiranja (FORTRAN ?) Preprocesorska direktiva se moˇze nastaviti na slede´ci red ako je poslednji znak \ Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
logo
C preprocesor
define – const
Parametri
Logiˇ cke operacije
C preprocesor– 1/2 C preprocesor je specijalni tekst editor. Za njega vaˇzi specijalna sintaksa koja je razliˇcita od komandi C-a. Tipiˇcna primena su simboliˇcke konstante. Pre poziva C prevodioca vrˇsi se zamena simboliˇckih konstanti. Sve preprocesorske komande poˇcinju sa znakom #. Kod kompajlera koji imaju poseban preprocesorski korak pre procesor se moˇze koristiti i za druge primene osim C programiranja (FORTRAN ?) Preprocesorska direktiva se moˇze nastaviti na slede´ci red ako je poslednji znak \ Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
logo
C preprocesor
define – const
Parametri
Logiˇ cke operacije
C preprocesor– 1/2 C preprocesor je specijalni tekst editor. Za njega vaˇzi specijalna sintaksa koja je razliˇcita od komandi C-a. Tipiˇcna primena su simboliˇcke konstante. Pre poziva C prevodioca vrˇsi se zamena simboliˇckih konstanti. Sve preprocesorske komande poˇcinju sa znakom #. Kod kompajlera koji imaju poseban preprocesorski korak pre procesor se moˇze koristiti i za druge primene osim C programiranja (FORTRAN ?) Preprocesorska direktiva se moˇze nastaviti na slede´ci red ako je poslednji znak \ Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
logo
C preprocesor
define – const
Parametri
Logiˇ cke operacije
C preprocesor– 1/2 C preprocesor je specijalni tekst editor. Za njega vaˇzi specijalna sintaksa koja je razliˇcita od komandi C-a. Tipiˇcna primena su simboliˇcke konstante. Pre poziva C prevodioca vrˇsi se zamena simboliˇckih konstanti. Sve preprocesorske komande poˇcinju sa znakom #. Kod kompajlera koji imaju poseban preprocesorski korak pre procesor se moˇze koristiti i za druge primene osim C programiranja (FORTRAN ?) Preprocesorska direktiva se moˇze nastaviti na slede´ci red ako je poslednji znak \ Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
logo
C preprocesor
define – const
Parametri
Logiˇ cke operacije
C preprocesor– 1/2 C preprocesor je specijalni tekst editor. Za njega vaˇzi specijalna sintaksa koja je razliˇcita od komandi C-a. Tipiˇcna primena su simboliˇcke konstante. Pre poziva C prevodioca vrˇsi se zamena simboliˇckih konstanti. Sve preprocesorske komande poˇcinju sa znakom #. Kod kompajlera koji imaju poseban preprocesorski korak pre procesor se moˇze koristiti i za druge primene osim C programiranja (FORTRAN ?) Preprocesorska direktiva se moˇze nastaviti na slede´ci red ako je poslednji znak \ Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
logo
C preprocesor
define – const
Parametri
Logiˇ cke operacije
C preprocesor– 2/2 #include <stdio.h> #include <stdlib.h> #define DIM 20 int jedan[DIM]; int dva[DIM]; int main() { int i; for(i=0; i
logo
}
C preprocesor
define – const
Parametri
Logiˇ cke operacije
define – const– 1/2
const je relativno nova komanda C-a Ranije se umesto const koristio define define se proverava tek kada se upotrebi Instrukcija const ima punu kontrolu C-a Tipiˇcne primene: #define MAX 10 Direktiva define je zgodna za uslovno revodjenje i druge specijalne primene. const int MAX = 10; logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
define – const– 1/2
const je relativno nova komanda C-a Ranije se umesto const koristio define define se proverava tek kada se upotrebi Instrukcija const ima punu kontrolu C-a Tipiˇcne primene: #define MAX 10 Direktiva define je zgodna za uslovno revodjenje i druge specijalne primene. const int MAX = 10; logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
define – const– 1/2
const je relativno nova komanda C-a Ranije se umesto const koristio define define se proverava tek kada se upotrebi Instrukcija const ima punu kontrolu C-a Tipiˇcne primene: #define MAX 10 Direktiva define je zgodna za uslovno revodjenje i druge specijalne primene. const int MAX = 10; logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
define – const– 1/2
const je relativno nova komanda C-a Ranije se umesto const koristio define define se proverava tek kada se upotrebi Instrukcija const ima punu kontrolu C-a Tipiˇcne primene: #define MAX 10 Direktiva define je zgodna za uslovno revodjenje i druge specijalne primene. const int MAX = 10; logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
define – const– 1/2
const je relativno nova komanda C-a Ranije se umesto const koristio define define se proverava tek kada se upotrebi Instrukcija const ima punu kontrolu C-a Tipiˇcne primene: #define MAX 10 Direktiva define je zgodna za uslovno revodjenje i druge specijalne primene. const int MAX = 10; logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
define – const– 1/2
const je relativno nova komanda C-a Ranije se umesto const koristio define define se proverava tek kada se upotrebi Instrukcija const ima punu kontrolu C-a Tipiˇcne primene: #define MAX 10 Direktiva define je zgodna za uslovno revodjenje i druge specijalne primene. const int MAX = 10; logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
define – const– 2/2 Tipiˇcna diretiva za uslovno prevodjenje: #ifdef DEBUG printf("Ovde stampamo nesto\n"); #endif Komande za ukljuˇcenje i iskljuˇcenje: #define DEBUG #undef DEBUG Isti efekat se postiˇze akon nema #define DEBUG direktive Za ukljuˇcivanje datoteka u vaˇsu datoteku koristi se: #include <stdio.h> ovde se ukljuˇcuje datoteka sa sistemskog direktorijuma Ukljuˇcivanje vaˇsih datoteka: #include "..\radni\dat.h" Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
logo
C preprocesor
define – const
Parametri
Logiˇ cke operacije
define – const– 2/2 Tipiˇcna diretiva za uslovno prevodjenje: #ifdef DEBUG printf("Ovde stampamo nesto\n"); #endif Komande za ukljuˇcenje i iskljuˇcenje: #define DEBUG #undef DEBUG Isti efekat se postiˇze akon nema #define DEBUG direktive Za ukljuˇcivanje datoteka u vaˇsu datoteku koristi se: #include <stdio.h> ovde se ukljuˇcuje datoteka sa sistemskog direktorijuma Ukljuˇcivanje vaˇsih datoteka: #include "..\radni\dat.h" Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
logo
C preprocesor
define – const
Parametri
Logiˇ cke operacije
define – const– 2/2 Tipiˇcna diretiva za uslovno prevodjenje: #ifdef DEBUG printf("Ovde stampamo nesto\n"); #endif Komande za ukljuˇcenje i iskljuˇcenje: #define DEBUG #undef DEBUG Isti efekat se postiˇze akon nema #define DEBUG direktive Za ukljuˇcivanje datoteka u vaˇsu datoteku koristi se: #include <stdio.h> ovde se ukljuˇcuje datoteka sa sistemskog direktorijuma Ukljuˇcivanje vaˇsih datoteka: #include "..\radni\dat.h" Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
logo
C preprocesor
define – const
Parametri
Logiˇ cke operacije
define – const– 2/2 Tipiˇcna diretiva za uslovno prevodjenje: #ifdef DEBUG printf("Ovde stampamo nesto\n"); #endif Komande za ukljuˇcenje i iskljuˇcenje: #define DEBUG #undef DEBUG Isti efekat se postiˇze akon nema #define DEBUG direktive Za ukljuˇcivanje datoteka u vaˇsu datoteku koristi se: #include <stdio.h> ovde se ukljuˇcuje datoteka sa sistemskog direktorijuma Ukljuˇcivanje vaˇsih datoteka: #include "..\radni\dat.h" Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
logo
C preprocesor
define – const
Parametri
Logiˇ cke operacije
define – const– 2/2 Tipiˇcna diretiva za uslovno prevodjenje: #ifdef DEBUG printf("Ovde stampamo nesto\n"); #endif Komande za ukljuˇcenje i iskljuˇcenje: #define DEBUG #undef DEBUG Isti efekat se postiˇze akon nema #define DEBUG direktive Za ukljuˇcivanje datoteka u vaˇsu datoteku koristi se: #include <stdio.h> ovde se ukljuˇcuje datoteka sa sistemskog direktorijuma Ukljuˇcivanje vaˇsih datoteka: #include "..\radni\dat.h" Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
logo
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Makroi sa parametrima– 1/8
Makroi mogu imati parametre Recimo: #define SQR(x) ((x) * (x)) NE SME biti praznina izmedju SQR i (x) U kodu ´ce biti makro SQR(5) zamenjen sa ((5) * (5)) Tipiˇcnu primenu ilustruje slede´ci program
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Makroi sa parametrima– 1/8
Makroi mogu imati parametre Recimo: #define SQR(x) ((x) * (x)) NE SME biti praznina izmedju SQR i (x) U kodu ´ce biti makro SQR(5) zamenjen sa ((5) * (5)) Tipiˇcnu primenu ilustruje slede´ci program
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Makroi sa parametrima– 1/8
Makroi mogu imati parametre Recimo: #define SQR(x) ((x) * (x)) NE SME biti praznina izmedju SQR i (x) U kodu ´ce biti makro SQR(5) zamenjen sa ((5) * (5)) Tipiˇcnu primenu ilustruje slede´ci program
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Makroi sa parametrima– 1/8
Makroi mogu imati parametre Recimo: #define SQR(x) ((x) * (x)) NE SME biti praznina izmedju SQR i (x) U kodu ´ce biti makro SQR(5) zamenjen sa ((5) * (5)) Tipiˇcnu primenu ilustruje slede´ci program
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Makroi sa parametrima– 1/8
Makroi mogu imati parametre Recimo: #define SQR(x) ((x) * (x)) NE SME biti praznina izmedju SQR i (x) U kodu ´ce biti makro SQR(5) zamenjen sa ((5) * (5)) Tipiˇcnu primenu ilustruje slede´ci program
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Makroi sa parametrima– 2/8
#include <stdio.h> #define SQR(x) ((x)*(x)) void main(void) { int i; for(i=1; i<6; ++i) printf("x: %d, kvadrat x: %d\n", i, SQR(i)); system("PAUSE"); } logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Makroi sa parametrima– 3/8
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Makroi sa parametrima– 4/8 /* Tipicna greska */ #include <stdio.h> #define SQR(x) (x * x) void main(void) { int i; for(i=0; i<5; ++i) printf("x: %d, kvadrat x: %d\n", i+1, SQR(i+1)); system("PAUSE"); } logo Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Makroi sa parametrima– 5/8
U ˇcemu je problem? logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Makroi sa parametrima– 6/8
Preporuke Greˇske u makrou su vidljive na mestu gde se makro koristi, a ne gde je definisan Koristiti ( ) kako bi se izbegla loˇsa interpretacija! Kada se makro koristi za viˇse od jedne komande staviti sve u { }! Ne koristiti u preprocesorskim komandama = i ;
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Makroi sa parametrima– 6/8
Preporuke Greˇske u makrou su vidljive na mestu gde se makro koristi, a ne gde je definisan Koristiti ( ) kako bi se izbegla loˇsa interpretacija! Kada se makro koristi za viˇse od jedne komande staviti sve u { }! Ne koristiti u preprocesorskim komandama = i ;
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Makroi sa parametrima– 6/8
Preporuke Greˇske u makrou su vidljive na mestu gde se makro koristi, a ne gde je definisan Koristiti ( ) kako bi se izbegla loˇsa interpretacija! Kada se makro koristi za viˇse od jedne komande staviti sve u { }! Ne koristiti u preprocesorskim komandama = i ;
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Makroi sa parametrima– 6/8
Preporuke Greˇske u makrou su vidljive na mestu gde se makro koristi, a ne gde je definisan Koristiti ( ) kako bi se izbegla loˇsa interpretacija! Kada se makro koristi za viˇse od jedne komande staviti sve u { }! Ne koristiti u preprocesorskim komandama = i ;
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Makroi sa parametrima– 6/8
Preporuke Greˇske u makrou su vidljive na mestu gde se makro koristi, a ne gde je definisan Koristiti ( ) kako bi se izbegla loˇsa interpretacija! Kada se makro koristi za viˇse od jedne komande staviti sve u { }! Ne koristiti u preprocesorskim komandama = i ;
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Makroi sa parametrima– 7/8
#include <stdio.h> #include <stdlib.h> #define SWAP(i,j) {int t; t=i; i=j; j=t;} void main(void) { int m =5, n=3; printf("pre SWAP: m = %d, n = %d\n",m,n); SWAP(m,n) printf("posle SWAP: m = %d, n = %d\n",m,n); system("PAUSE"); } logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Makroi sa parametrima– 8/8
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Logiˇcke operacije– 1/8 Operacije sa bitovima Isti broj se moˇze zapisati: 10001, 021, 17, 0x11 prvi zapis je binarni, drugi oktalni, tre´ci decimalni, a ˇcetvrti heksadecimalni naˇcin zapisivanja iste veliˇcine. Operacije nad bitovima: Operator & | ^ ~ << >> Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
Znaˇcenje AND po bitovima OR po bitovima XOR po bitovima komplement Pomeranje nalevo Pomeranje nadesno
logo
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Logiˇcke operacije– 1/8 Operacije sa bitovima Isti broj se moˇze zapisati: 10001, 021, 17, 0x11 prvi zapis je binarni, drugi oktalni, tre´ci decimalni, a ˇcetvrti heksadecimalni naˇcin zapisivanja iste veliˇcine. Operacije nad bitovima: Operator & | ^ ~ << >> Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
Znaˇcenje AND po bitovima OR po bitovima XOR po bitovima komplement Pomeranje nalevo Pomeranje nadesno
logo
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Logiˇcke operacije– 1/8 Operacije sa bitovima Isti broj se moˇze zapisati: 10001, 021, 17, 0x11 prvi zapis je binarni, drugi oktalni, tre´ci decimalni, a ˇcetvrti heksadecimalni naˇcin zapisivanja iste veliˇcine. Operacije nad bitovima: Operator & | ^ ~ << >> Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
Znaˇcenje AND po bitovima OR po bitovima XOR po bitovima komplement Pomeranje nalevo Pomeranje nadesno
logo
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Logiˇcke operacije– 2/8 #include <stdio.h> char i=17, j=5; void main(void) { printf(" %x & %x = %x\n", i, j, i&j); printf(" %x | %x = %x\n", i, j, i|j); printf(" %x ^ %x = %x\n", i, j, i^j); printf(" ~%x = %x\n", i, ~i); printf(" %x << %x = %x\n", i, j, i<<j); printf(" %x >> %x = %x\n", i, j, i>>j); system("PAUSE"); } Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
logo
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Logiˇcke operacije– 3/8
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Logiˇcke operacije– 4/8
Table: Logiˇcke operacije sa bitovima
a 1 1 0 0
b 1 0 1 0
a&b 1 0 0 0
a 1 1 0 0
b 1 0 1 0
a|b 1 1 1 0
a 1 1 0 0
b 1 0 1 0
a∧b 0 1 1 0
a 1 0 1 0
∼a 0 1 0 1
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Logiˇcke operacije– 5/8
Logiˇ cke operacije sa brojevima Dva stanja jedno kada je broj jednak nuli i drugo bilo koja vrednost razliˇcita od nule! Logiˇcko AND: && Logiˇcko OR: || Logiˇcko XOR: ∧∧ Negacija: !
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Logiˇcke operacije– 5/8
Logiˇ cke operacije sa brojevima Dva stanja jedno kada je broj jednak nuli i drugo bilo koja vrednost razliˇcita od nule! Logiˇcko AND: && Logiˇcko OR: || Logiˇcko XOR: ∧∧ Negacija: !
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Logiˇcke operacije– 5/8
Logiˇ cke operacije sa brojevima Dva stanja jedno kada je broj jednak nuli i drugo bilo koja vrednost razliˇcita od nule! Logiˇcko AND: && Logiˇcko OR: || Logiˇcko XOR: ∧∧ Negacija: !
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Logiˇcke operacije– 5/8
Logiˇ cke operacije sa brojevima Dva stanja jedno kada je broj jednak nuli i drugo bilo koja vrednost razliˇcita od nule! Logiˇcko AND: && Logiˇcko OR: || Logiˇcko XOR: ∧∧ Negacija: !
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Logiˇcke operacije– 5/8
Logiˇ cke operacije sa brojevima Dva stanja jedno kada je broj jednak nuli i drugo bilo koja vrednost razliˇcita od nule! Logiˇcko AND: && Logiˇcko OR: || Logiˇcko XOR: ∧∧ Negacija: !
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Logiˇcke operacije– 5/8
Logiˇ cke operacije sa brojevima Dva stanja jedno kada je broj jednak nuli i drugo bilo koja vrednost razliˇcita od nule! Logiˇcko AND: && Logiˇcko OR: || Logiˇcko XOR: ∧∧ Negacija: !
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Logiˇcke operacije– 6/8
Napisati program koji ´ce uˇcitavati znakove sa tastature. Zatim ´ce u uˇcitanim znakovima izbrojati mala slova i velika slova i ostale znake. Prikazati rezultat na ekranu! Kraj unosa podataka oznaˇcava karakter #.
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Logiˇcke operacije – 7/8 #include <stdio.h> int main(void) { char ch; int msb=0, vsb=0, ozb=0; while((ch=getchar()) != ’#’) { if((’a’ <= ch) && (ch <= ’z’)) msb++; else if((’A’ <= ch) && (ch <= ’Z’)) vsb++; else ozb++; } printf("%d malih slova, %d velikih slova," "%d ostalo\n",msb,vsb,ozb); logo system("PAUSE"); return 0; } Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori
C preprocesor
define – const
Parametri
Logiˇ cke operacije
Logiˇcke operacije– 8/8
logo
Zlatko Petrovi´ c C preprocesor, Logiˇ cki operatori