Можно ли выполнить присваивание?
const int* p;
int i = 17;
*p = 29;
112. Указать и объяснить ошибку, если она есть :
int i = 17;
int j = 29;
int* const p;
113. Указать и объяснить ошибку, если она есть:
int i = 17;
int j = 29;
int* const p1 = &i;
114. Указать и объяснить ошибку, если она есть :
int i = 17;
int j = 29;
int* const p1 = &i;
*p1 = 29;
115. Указать и объяснить ошибку, если она есть :
int i = 17;
int j = 29;
int* const p1 = &i;
p1 = &j;
116. Указать и объяснить ошибку, если она есть:
int i = 17;
int j = 29;
const int* const p;
117. Указать и объяснить ошибку, если она есть :
int i = 17;
int j = 29;
const int* const p1 = &i;
118. Указать и объяснить ошибку, если она есть:
int i = 17;
int j = 29;
const int* const p1 = &i;
*p1 = 29;
119. Указать и объяснить ошибку, если она есть:
int i = 17;
int j = 29;
const int* const p1 = &i;
p1 = &j;
Сколько раз может быть определена вызываемая в программе функция?
121. Чем отличается описание функции от ее определения?
Как можно организовать обмен данными между функциями?
123. *Назначение и пример использования функции atexit().
124. *Опишите механизм вызова функций
Укажите особенности передачи параметров функций по значению, по адресу, по ссылке.
126. Особенности задания и пример использования параметров функций со значениями по умолчанию.
127. *Пример использования в функции локальных статических переменных.
Пример использования inline-функции.
129. *Пример функции, получающей в качестве параметра и возвращающей значения перечислимого типа.
Перегрузка функций. Примеры перегрузки функций.
Примеры неоднозначности при перегрузке функций.
132. Назначение и пример реализации шаблона семейства функций.
133. *Как передать функции переменное число параметров? Как их обработать?
Можно ли объявить параметры функции с модификатором const? В каком случае?
Есть ли это определение функции?
extern void swap(int*, int*);
Есть ли это определение функции?
void swap(int* p, int* q)
{
int t = *p;
*p = *q;
*q = t;
}
Для чего в описании функции указываются имена параметров?
138. Указать и объяснить ошибку, если она есть:
void swap(int* p, int* q, int);
Main ()
{int x=2;
int y=5;
swap(&x, &y, 5);
cout << x << " " << y << endl;
return 0;
}
void swap(int* p, int* q, int)
{
intt = *p;
*p = *q;
*q = t;
}
139. *Какие возможности предоставляет неиспользуемый формальный параметр в функции?
Как изменяются значения переменных в функции g()?
voidf(intval, int& ref)
{
val++;
ref++;
}
Voidg()
{
inti = 1;
intj = 1;
f(i, j);
}
Какие функции считаются одинаковыми, а какие – разными?
142. Какие функции могут быть перегружены:
void Fn(); //1
void Fn(int); //2
void Fn(long); //3
int Fn(int); // 4
int Fn(char*); // 5
void Fn(int, char*); //6
void Fn(char*, int); // 7
void Fn(char* s, int x, int y = 17); // 8 Fn(“hello”, 17);
143. Указать и объяснить ошибку, если она есть:
void f(const int* p)
{*p = 17;
}
// вmain
int i = 17;
f(&i);
144. Указать и объяснить ошибку, если она есть:
void f(const int* p)
{*p = 17;
int i = 29;
p = &i;
}
// вmain
int i = 17;
f(&i);
145. Указать и объяснить ошибку, если она есть:
voidf(constint& p)
{p = 17;
}
// в main
int i = 17;
f(i);
146. Указать и объяснить ошибку, если она есть:
void f(const int& p)
{int i = 29;
p = i;
}
// вmain
int i = 17;
f(i);
147. Указать и объяснить ошибку, если она есть:
void f(int*);
int i = 17;
const int* p = &i;
const int j = 29;
f(&i);
148. Указать и объяснить ошибку, если она есть:
void f(int*);
int i = 17;
const int* p = &i;
const int j = 29;
f(p);
149. Указать и объяснить ошибку, если она есть:
void f(int*);
int i = 17;
const int* p = &i;
const int j = 29;
f(&j);
Как можно использовать базовый тип void?
151. Правила оформления и вызова функций.
Какие типы возвращаемых значений недопустимы для функций?
153. *Особенности передачи параметров в функцию main.
154. Указать ошибки, если они есть:
intsum(intx, inty){
int result;
result=x+y;
}
155. Указать ошибки, если они есть :
intsum(intn){
if(n=0) return 0;
else n+sum(n-1);
}
156. Установить область действия для всех идентификаторов:
intcube(inty);
voidmain() {
int x;
for (x=1; x<=10; x++)
cout<<cube(x)<<endl;
}
int cube(int e) {return e*e*e;}
157. Указатьошибки, еслиониесть :
int g(void) {cout<<”function g”<<”\n”
Int h ( ) {cout <<”function h”<<endl;
}
}
158. Указать ошибки, если они есть :
int g(void) {cout<<”functiong”<<”\n”;return 0;}
inth ( ) {cout <<”functionh”<<endl;return 0;}
159. Указать ошибки, если они есть :
voidp( ) {inta, b, c, result;
cin >>a >>b>>c;
result=a*b*c;
cout<<result;
returnresult;
}
Правила описания перегруженных функций.
Элементы оптимизации работы с функциями.
162. *Как понимать следующее описание?
typedef int (rifii&) (int, int);
163. Пример использования typedef для определения новых типов.
164. *Использование указателя на функцию при передаче функции в качестве параметра (примеры вычисления интеграла, корня нелинейного уравнения).
Понятие рекурсии. Пример рекурсии с выполнением действий на рекурсивном спуске и на рекурсивном возврате.
166. *Структура рекурсивной функции. Условия «правильного» рекурсивного определения.
167. *Рекурсивная функция вычисления чисел Фибоначчи. Вычисление НОД через итерации и через рекурсивную функцию.
Определите понятие «массив». Обращение к элементам массива (в том числе и через указатель). Примеры инициализации массива.
169. Чемусоответствуетзаписьint *anArray:
anArray[0], anArray[1], *anArray[0], *anArray[1]