Укажите правильные объявления функций:
void f(int, char*);
 
void f(double, char*, int=0);
 
void f(double, int* =0, int=1);
 
void f(double=0, int*, int=1);
 
void f(double=0 ...);
 
Когда функция вызывает саму себя она называется:
В каких строках программного кода происходит объявления функций?#include <iostream.h> int sum(int a, int b); int main(){ int a = 2, b - 3, c, d; с = sum(a, b); cin >> d; cout << sum(c, d); return 0; } int sum(int а, int b){ return (а + b); }
Что называется фактическими параметрами функции?
Изменяются ли параметры, передаваемые в функцию?
Перечислите, что характерно для оператора
return
?
Что можно делать с указателями на функции?
Отметьте все допустимые способы перегрузки данной функции:
void func(double a, int b);
void func(int a, int b);
 
int func(double a, char c);
 
void func(int a, double b);
 
void func(int a=1, double b);
 
Укажите результат выполнения следующего кода:
int factorial(int x) { if(x==1) return 1; else return x*factorial(x-1); } int Func(int y) { y = factorial(3); return y+10; } int _tmain(int argc, _TCHAR* argv[]) { int x = 0; int z = 0; z = Func(x); printf("z=[%d] x=[%d]",z,x); int i; scanf("%d",&i); return 0; }
z=[16] x=[0]
 
"return x*factorial(x-1);"
функции "int factorial(int x)"
: вызов функции самой себя 
z=[16] x=[6]
 
"y = factorial(3);"
функции "int Func(int y)"
: попытка присвоить значение входному параметру 
Если в качестве параметра функции указан массив, то передается:
Отметьте правильные прототипы функций, использующих в качестве параметра массив:
void F(int Ar[]);
 
int F(const int array[], int sz);
 
int strlen(const char*);
 
Отметьте правильный прототип функции, использующий в качестве параметра многомерный массив
int m[10][2]
:
void F(int m[][2]);
 
int F(int m[]);
 
void F(int Ar[][], int sz);
 
Какой будет результат выполнения следующей программы?
int SM(const int A[], int N) { int S = A[0]; for (int i = 1; i < N; i++) S += A[i]; return S; } int main() { #define Bmax 3 int B[5] = {1, 2, 3}; cout << SM(B, Bmax) << endl; }
7
 
0
 
6
 
Какой будет результат выполнения следующей программы?
int SM(const int A[], int N) { int S = A[0]; for (int i = 1; i < N; i++) S += A[i]; return S; } int main() { #define Bmax 4 int B[] = {4, 3, 2, 1}; cout << SM(B, Bmax) << endl; }
7
 
10
 
6
 
Какой будет результат выполнения следующей программы?
int SM(const int A[], int N) { int S = A[0]; for (int i = 1; i < N; i++) S += A[i]; return S; } int main() { #define Bmax 6 int B[6] = {1, 2, 3, 4, 5, 6}; cout << SM(B + 3, Bmax - 3) << endl; return 1; }
18
 
15
 
21
 
Что выводит данная программа, если она верна?
#include <iostream.h> class Х{ public: virtual void fun(int a = 0){cout << a;} }; class Y: public X{ public: virtual void fun(int a = 1) {cout << a ; } }; int main(){ X *px = new X; px->fun(); X *py = new Y; py->fun(); return 0; }
0
 
00
 
Что описывает оператор
typedef float (*ptr)(char);
char
и возвращает значение типа float
 
float
и возвращает значение типа char
 
Что описывает оператор
typedef void (*ptr)(char *);
char *
и не возвращает значения 
Что будет напечатано в результате работы следующей программы?
#include <iostream> int f1(int x, int y) { return x + y; } int f2(int x, int y) { return x * x + y * y; } int (*pf1)(int, int); int (*pf2)(int, int); main() { pf1 = &f1; pf2 = &f2; int x = 2, y = 3; cout << (*pf1)(x, y) << ' ' << (*pf2)(x, y) << endl; }
5 13
 
0 0
 
Что будет напечатано в результате работы следующей программы?
#include <iostream> #include <math> double s2(double x) { return sqrt(x); } double s3(double x) { return sqrt(s2(x)); } double (*pf1)(double); double (*pf2)(double); main() { pf1 = &s2; pf2 = &s3; cout << (*pf1)(25) << ' ' << (*pf2)(16) << endl; }
5 2
 
5 4
 
2 1
 
Что будет напечатано в результате работы следующей программы?
#include <iostream> double s2(double x) { return x*x; } double s3(double x) { return x*s2(x); } double s4(double x) { return s2(x)*s2(x); } int main() { typedef double (*PTF)(double); PTF pf[3] = {&s2, &s3, &s4}; double x = 2; for(int i = 0; i < 3; i++) cout << (*pf[i])(x) << endl; return 0; }
4 8 16
 
2 3 4
 
4 8 4
 
Если в программе уже имеется функция с прототипом
int func(int k, double f)
, то какое из следующих объявлений не вызовет ошибки компиляции?
double func(int m, double g)
 
int func(double x, int y
) 
double func(int m, double h, int d = 0)
 
void func(int m, double g = 3.14)
 
В программе имеется функция с прототипом int func(int k, double f)
. Какое из следующих объявлений не приведет к ошибке компиляции?
char func(int m, void(double g))
 
int func(double x, int y)
 
func(int m, void(double g = 3.14))
 
В каких случаях произойдет ошибка компиляции?
Какие из следующих прототипов функций содержат ошибки?
void func();
 
char error(int a, b);
 
arr[10] sum(int *, int );
 
float* func(float, float);
 
Какие из следующих прототипов функций содержат ошибки?
void display(int x=1, char *s);
 
void * func();
 
void write(void);
 
int[10] sum( int *, int );
 
int ff( int a, int b = 0, int с = 0 );
 
Какие из следующих прототипов функций содержат ошибки?
void display(int x=1, char *s=”Hello!”);
 
void func(...);
 
void write(int a, b, c);
 
double[2] sum( int *, int );
 
float func(float, int ...);
 
int ff1(int x* =3);
 
В программе имеется функция с прототипом
int func(int k, double f)
. Какое из следующих объявлений приведет к ошибке компиляции?1.void func(int m, double g = 3.14) 2.double func(int m, double h, int d = 0)
Выберите корректные (компилируемые) части кода:
1. void func (int i , int x = 0); 2. void func (int i , int x = 0, int y);
Выберите верные утверждения:
inline
), то компилятор подставляет в точку вызова ее тело 
return
 
Выберите корректный (компилируемый) код:
void func (int x =0);
 
void func (int x +=0);
 
void func (int x = 0, int y);
 
Какие команды используются для создания библиотеки?
$ CC -c
список_ файлов 
$ ar cr
имя_библиотеки список_ файлов с расширением о 
$ ranlib
имя_библиотеки 
$ CC
имя_библиотеки 
Как использовать библиотеку
math.a
в своей программеmyprog.c
?
$ CC myprog.c math.a
 
include
 
С какого символа начинаются директивы препроцессору?
*
 
<
 
#
 
Какая директива препроцессору служит для включения в текст файла текста, содержащегося в другом файле?
define
 
ifndef
 
include
 
extern
 
Какой синтаксис применяется для использования директивы
include
?
# include <header_name>
 
# include "header_name"
 
# include 'header_name'
 
# include header_name