С++ Тест 1


Проверете своите познания по C++.


Програмиране - C++ - Оценка на ниво
1. Кое от твърденията е вярно за следния код?
#include<stdio.h>
int main()
{

int
x = 10, y = 100%90, i;
for
(i=1; i<10; i++)
if
(x != y);
printf("x = %d y = %d\n", x, y);
return
0;
}

1 : Функицията printf() ще се изпълни 10 пъти.
2 : Програмата ще изведе x = 10 y = 10
3 : ; след if(x!=y) няма да доведе до грешка.
4 : Програмата няма да изведе никакъв изход.






2. Какво ще изведе програмата по-долу?
#include<stdio.h>
int main()
{

int
k, num=30;
k = (num>5 ? (num <=10 ? 100 : 200): 500);
printf('%d\n', num);
return
0;
}






3. Посочете грешката в следната програма:
#include<stdio.h>
int main()
{

struct
emp
{

char
name[20];
float
sal;
};

struct
emp e[10];
int
i;
for
(i=0; i<=9; i++)
scanf('%s %f', e[i].name, &e[i].sal);
return
0;
}






4. Командата, която се използва за прехвърляне на контрола от функция обратно към викащата функция е:





5. Кое от следните твърдения е вярно за функцията?
long fun(int num)
{

int
i;
long
f=1;
for
(i=1; i<=num; i++)
f = f * i;
return
f;
}






6. Кое от твърденията е вярно за следната програма?
#include<stdio.h>

int
main()
{

float
a=3.14;
char
*j;
j = (char*)&a;
printf("%d\n", *j);
return
0;
}






7. Ще се компилира ли следната програма в Turbo C?
#include<stdio.h>
int main()
{

int
a=10, *j;
void
*k;
j=k=&a;
j++;
k++;
printf("%u %u\n", j, k);
return
0;
}




8. Кое от твърденията е вярно за типа масив (array)?

Масивът int num[26]; може да съхрани 26 елемента.
2 : Със num[1] се означава първия елемент в масива.
3 : Задължително е да се инициализира масива в момента на деклариране.
4 : Декларацията num[SIZE] е разрешена, ако SIZE е макрос.






9. Стандартната функция, която се използва за намиране на последното съвпадение на символ в стринг е:





10. Ако размерът на char=1, int=4, и float=4 байта, какъв ще бъде изходът на следната програма?
#include<stdio.h>

int
main()
{

char
ch = 'A';
printf("%d, %d, %d", sizeof(ch), sizeof('A'), sizeof(3.14f));
return
0;
}






11. какъв ще бъде изхода на следната програма?
#include<stdio.h>

int
main()
{

char
str[] = "London";
str[1]='i';
printf("%s, ", str);
str = "Bristol"%s", str+1);
return
0;
}






12. Какво ще изведе следната програма?
#include<stdio.h>

int
main()
{

int
i=4, j=8;
printf("%d, %d, %d\n", i|j&j|i, i|j&j|i, i^j);
return
0;
}






13. Битовите полета МОГАТ да се използват в union



14. Кое от твърденията е вярно за следната програма?
#include<stdio.h>

int
main()
{

FILE *fp;
char
ch;
int
i=1;
fp = fopen("myfile.c", "r");
while
((ch=getc(fp))!=EOF)
{

if
(ch == '\n')
i++;
}

fclose(fp);
return
0;
}






15. Първият аргумент в командния ред трябва винаги да показва броя на всички аргументи.



16. Какъв ще е изхода на програмата?
#include<stdio.h>

int
main()
{

char
c=48;
int
i, mask=01;
for
(i=1; i<=5; i++)
{

printf("%c", c|mask);
mask = mask<<1;
}

return
0;
}






17. Какъв ще е изхода на програмата?
typedef struct data;
{

int
x;
sdata *b;
}
sdata;






18. Кой header файл трябва да е включен, ако ще използвате функция, която може да приема различен брой аргументи?





19. Посочете грешката в следната програма:
#include <stdio.h>
#include <stdarg.h>
void varfun(int n, ...);

int
main()
{

varfun(3, 7, -11.2, 0.66);
return
0;
}

void
varfun(int n, ...)
{

float
*ptr;
int
num;
va_start(ptr, n);
num = va_arg(ptr, int);
printf("%d", num);
}






20. va_list е масив, който съдържа информация необходима наva_arg и va_end