/****************************************
*
* C/C++ vaja X_1
*
* utrjevanje /1
*
*/
1. Naloga
Dana je deklaracija :
struct NehomogenaSestavljena {
int a,b,c;
char d,e,f;
};
Kakšen je pomen zgornje deklaracije :
a) podatkovni tip,
b) sprememnljivka.
2. Naloga
Deklarirajte strukturo, ki bo vsebovala podatkovni element (polje) celoštevilskega in
podatkovni element (polje) neceloštevilskega tipa. Dopišite program, ki bo inicializiral
sprememnljivko narejenega tipa in izpisal njene vrednosti.
3. Naloga
Deklarirajte podatkovne tipe :
a) nepredznačeno NceloStevilo
b) tabelo zankov velikosti 32
c) realno število
4. Naloga
Dana je deklaracija :
struct xyz{
unsigned int a;
char c[32];
} a, tab[22];
a) Kaj predstavljata deklaraciji 'a' in 'tab[22]' ?
b) Inicializirajte 'a' in 'tab' z naključnimi vrednostmi.
c) Katera od naslednjih deklaracij sprememnljivke je enaka deklaraciji 'a' ?
c1) struct xyz b1;
c2) xyz b1;
c3) typedef xyz b1;
c4) typedef b1 struct xyz;
d) Napišite C/C++ program, ki bo preštel število črk 'A' in 'a' v 'tab[22]', če je
ta inicializirana kot v nalogi 4b) .
5. Naloga
Katere od naslednjih predstavljajo deklaracijo funkcije in katere prototipa funkcije (
vnaprejšnje deklaracije) :
a) void a();
b) int *vneki(){return null;}
c) void afna(){}
d) int a(int,char,int);
6. Naloga
Ugotovite, če je naslednja deklaracija pravilna, popravite v nasprotenem primeru :
int funkcija()
int b=33;
int c=c+2*b;
funkcija=c;
}
7. Naloga
Napišimo funkcijo, ki vrača vrednost vsote podanih parametrov :
int vsota(int a,b){
vsota=a+b;
return vsota;
}
Odpravite napake in usposobite funkcijo za delovanje.
Napišite tudi klic zgornje funkcije.
8. Naloga
Dana sta podprograma :
void nekaj1(){
printf("v prvi\n");
nekaj2();
}
void nekaj2(){
printf("....v drugi\n");
}
in glavna funkcija C-jevskega programa :
void main(){
nekaj1();
}
Ugotovite, zakaj program ne deluje in ga popravite tako, da se bo lahko izvedel.
9. Naloga
Zaželeli smo napisati program, z vsebovanima podprogramoma, ki kličeta drug drugega.
Napisali smo naslednje :
void nekaj1(){
i++;
printf("v prvi\n"); Kaj je potrebno v programu postoriti, da se
if (i<10) bo program izvedel ?
nekaj2();
}
void nekaj2(){
i++;
printf("....v drugi\n");
if (i<10)
nekaj1();
}
void main(){
int i=0;
nekaj1();
}