Главная / Программирование /
Программирование на языке C++ / Тест 4
Программирование на языке C++ - тест 4
Упражнение 1:
Номер 1
Выберите все правильные утверждения.
Ответ:
 (1) глобальные переменные можно использовать в функциях 
 (2) глобальные переменные располагаются в сегменте данных 
 (3) компилятор инициализирует нулями глобальные и локальные переменные 
 (4) функция может возвращать значение любого типа 
Номер 2
Выберите все правильные утверждения.
Ответ:
 (1) глобальные переменные нужно передавать в функцию через список параметров 
 (2) место под формальные параметры выделяется на стадии выполнения программы 
 (3) компилятор инициализирует нулями глобальные переменные 
 (4) функция может возвращать значение стандартного типа 
Номер 3
Выберите все правильные утверждения.
Ответ:
 (1) локальные переменные существуют только во время выполнения функции 
 (2) для параметров, передаваемых по значению, в стеке создается их копия 
 (3) компилятор инициализирует нулями локальные переменные 
 (4) функция может возвращать значение стандартного типа 
Упражнение 2:
Номер 1
Выберите все правильные утверждения.
Ответ:
 (1) для локальных переменных выделяется место в стеке 
 (2) компилятор инициализирует нулями локальные переменные 
 (3) для параметров, передаваемых по адресу, в стек заносится только их адрес 
 (4) функция может возвращать через список параметров более одного значения 
Номер 2
Параметр функции описан как "int& a".
Соответствующий ему аргумент может быть:
Ответ:
 (1) константой типа int
 
 (2) переменной типа int
 
 (3) выражением типа int
 
 (4) только переменной типа int
с именем а 
Номер 3
Параметр функции описан как "int a".
Соответствующий ему аргумент может быть:
Ответ:
 (1) константой типа int
 
 (2) переменной типа int
 
 (3) выражением типа int
 
 (4) выражением любого типа 
Упражнение 3:
Номер 1
Параметр функции описан как "const int a". соответствующий ему аргумент может быть:
Ответ:
 (1) только переменной типа int
с именем а 
 (2) выражением целого типа 
 (3) переменной целого типа 
 (4) выражением любого типа 
Номер 2
Список параметров функции описан как "void".
Что можно сказать о параметрах этой функции.
Ответ:
 (1) аргумент может быть только константой 
 (2) У функции нет параметров 
 (3) аргумент может быть только переменной 
 (4) аргумент может быть выражением любого типа 
Номер 3
Параметр функции описан как "int& a".
Соответствующий ему аргумент может быть:
Ответ:
 (1) переменной типа int
 
 (2) выражением типа int
 
 (3) выражением типа, совместимого с int
 
 (4) константой типа int
 
Упражнение 4:
Номер 1
Заголовок функции имеет вид: void f(int& a, float b, char c);
Укажите правильные варианты вызова функции, если переменные в
вызывающей функции описаны так: int a; char b; float d,x;
Ответ:
 (1) f(a,a,b);
 
 (2) f(a,x,'b');
 
 (3) f(a,d-x/2,b);
 
 (4) f(2,d,b);
 
Номер 2
Заголовок функции имеет вид: void f(char* a, float& b, float c);
Укажите правильные варианты вызова функции, если переменные в
вызывающей функции описаны так: char a[10]; float b,x; char c[5]; int d;
Ответ:
 (1) f(a,b,x);
 
 (2) f(c,b,d);
 
 (3) f(a,x,c);
 
 (4) f(a,c,b);
 
Номер 3
Заголовок функции имеет вид: void f( float a, float b, float& c);
Укажите правильные варианты вызова функции, если переменные в
вызывающей функции описаны так: int a; char b,c; float d,x;
Ответ:
 (1) f(a,b,c);
 
 (2) f(d+a,c,x);
 
 (3) f(x,'c',d);
 
 (4) f(a,b,a+1);
 
Упражнение 5:
Номер 1
Заголовок функции имеет вид: void f( float a, int& b, float c);
Укажите правильные варианты вызова функции, если переменные в
вызывающей функции описаны так: float a,x; int b,c;
Ответ:
 (1) f(a,b,c);
 
 (2) f(a,x,c);
 
 (3) f(x,c,28);
 
 (4) f(a,28,x);
 
Номер 2
Заголовок функции имеет вид: void P(int& a, char* b, float c);
Укажите правильные варианты ee вызова, если переменные в
вызывающей функции описаны так: int a; char* b, *c; float d,x;
Ответ:
 (1) P(a,b,c);
 
 (2) P(3,b,x);
 
 (3) P(a,c,d-x/2);
 
 (4) P(a,b+5,d-a);
 
Номер 3
Заголовок функции имеет вид: void P(int a,char b, float c);
Укажите правильные варианты вызова подпрограммы, если переменные в
вызывающей функции описаны так: char a[10]; float c; int d;
Ответ:
 (1) P(3200,'a',c/2*d);
 
 (2) P(a,c,d-1);
 
 (3) P(c,a[4],d);
 
 (4) P(d,a[2],c);
 
Упражнение 6:
Номер 1
Заголовок функции имеет вид: void P(float a, float b, char& c);
Укажите правильные варианты вызова подпрограммы, если переменные в
вызывающей функции описаны так: float a,k; char d[5]; int c; char m;
Ответ:
 (1) P(1,k+1,m);
 
 (2) P(a,k,'c');
 
 (3) P(a,d,c);
 
 (4) P(a,a,d[2]);
 
Номер 2
Заголовок функции имеет вид: void P(int a, float b, char& c);
Укажите правильные варианты вызова подпрограммы, если переменные в
вызывающей функции описаны так: float a,b; int c,d; char e;
Ответ:
 (1) P(a,b,c);
 
 (2) P(c%d,sin(d)/3.14,e);
 
 (3) P(d,a-b,e);
 
 (4) P(c,c,e);
 
Номер 3
Что будет выведено на экран в результате работы программы?
#include <stdio.h>
int a, b, c, d;
void f( int a, int& c, int& d)
{
int b;
a = 5; c = 7; b = 9;
}
int main()
{
a = 1; c = 1; b = 1;
f(a,c,b);
printf ("%d|%d|%d",a,c,b);
return 0;
}
Ответ:
 (1) 7|7|1 
 (2) 1|7|1 
 (3) 7|1|1 
Упражнение 7:
Номер 1
Что будет выведено на экран в результате работы программы?
#include <stdio.h>
int a, b, c, d;
void f( int a, int& c, int& d)
{
int b;
a = 5; c = 7; b = 9;
}
int main()
{
a = 1; c = 1; b = 1;
f(b,a,c);
printf ("%d|%d|%d",a,c,b);
return 0;
}
Ответ:
 (1) 1|1|1 
 (2) 7|1|1 
 (3) 7|7|1 
Номер 2
Что будет выведено на экран в результате работы программы?
#include <stdio.h>
int a, b, c, d;
void f( int& a, int& c, int& d)
{
int b;
a = 5; c = 7; b = 9;
}
int main()
{
a = 1; c = 1; b = 1;
f(a, b, c);
printf ("%d|%d|%d",a,c,b);
return 0;
}
Ответ:
 (1) 9|5|7 
 (2) 5|1|7 
 (3) 1|9|7 
Номер 3
Что будет выведено на экран в результате работы программы?
#include <stdio.h>
int a, b, c, d;
void f( int& a, int c, int& d)
{
int b;
a = 5; c = 7; b = 9;
}
int main()
{
a = 1; c = 1; b = 1;
f(a,b,c);
printf ("%d|%d|%d",a,c,b);
return 0;
}
Ответ:
 (1) 5|1|1 
 (2) 1|1|5 
 (3) 5|5|1 
Упражнение 8:
Номер 1
Выберите заголовки функций, не содержащие синтаксических ошибок.
Ответ:
 (1) int f(int& i);
 
 (2) int f1(int i);
 
 (3) int 1f(int& i);
 
 (4) *int f(int i);
 
Номер 2
Выберите заголовки функций, не содержащие синтаксических ошибок.
Ответ:
 (1) int __f(int& i_1_);
 
 (2) int * f(int **i);
 
 (3) int 1f(int& i);
 
 (4) *int f(int i);
 
Номер 3
Выберите заголовки функций, не содержащие синтаксических
ошибок.
Ответ:
 (1) float f(long* array, const int n);
 
 (2) int f(long a[10]);
 
 (3) float f(long i, long j);
 
 (4) &int f(int i);
 
Упражнение 9:
Номер 1
Выберите заголовки функций, не содержащие синтаксических
ошибок.
Ответ:
 (1) float f_2(long a[]);
 
 (2) int f(long* array, const int n);
 
 (3) float f(int& i);
 
 (4) long f(i, long& j);
 
Номер 2
Что будет выведено на экран в результате работы программы?
#include <stdio.h>
void f(char a, char& d)
{
a = 'в'; d = 'с';
}
int main()
{
char a[]="глаз";
f(a[0],a[3]);
puts(a);
return 0;
}
Ответ:
 (1) глас 
 (2) слаг 
 (3) глаз 
Номер 3
Что будет выведено на экран в результате работы программы?
#include <stdio.h>
void f(char& a, char d)
{
a = 'в'; d = 'д';
}
int main()
{
char a[] = "глаз";
f(a[0],a[3]);
puts(a);
return 0;
}
Ответ:
 (1) вгаз 
 (2) глаз 
 (3) влаз 
Упражнение 10:
Номер 1
Что будет выведено на экран в результате работы программы?
#include <stdio.h>
void f(char& a, char d)
{
a = d; d = a;
}
int main()
{
char a[] = "глаз";
f(a[0],a[3]);
puts(a);
return 0;
}
Ответ:
 (1) злаа 
 (2) злаг 
 (3) злаз 
Номер 2
Что будет выведено на экран в результате работы программы?
#include <stdio.h>
void f(char a, char d)
{
a = d; d = a;
}
int main()
{
char a[] = "глаз";
f(a[0],a[3]);
puts(a);
return 0;
}
Ответ:
 (1) влаг 
 (2) влаз 
 (3) глаз 
Номер 3
Что будет выведено на экран в результате работы программы?
#include <stdio.h>
void f(char* a, char* b)
{
a = b; b = a;
}
int main()
{
char a[]="abcde";
char b[]= "opr";
f(a,b);
puts(a);
return 0;
}
Ответ:
 (1) acbde 
 (2) abcde 
 (3) abdec 
Упражнение 11:
Номер 1
Что будет выведено на экран в результате работы программы?
#include <stdio.h>
void f(char* a, char* const b)
{
a[0] = b[0]; b[1] = a[1];
}
int main()
{
char a[]="abcd";
char b[]= "opr";
f(a,b);
printf ("%s%s", a, b);
return 0;
}
Ответ:
 (1) obcdorb 
 (2) oobdcr 
 (3) obcdobr 
Номер 2
Что будет выведено на экран в результате работы программы?
#include <stdio.h>
void f(char* a, char* b)
{
a[1] = b[1]; b[2] = a[2];
}
int main()
{
char a[]="abcd";
char b[]= "opr";
f(a,b);
printf ("%s%s", a, b);
return 0;
}
Ответ:
 (1) apcdopc 
 (2) apcdopp 
 (3) doapca 
Номер 3
Что будет выведено на экран в результате работы программы?
#include <stdio.h>
void f(char* a, char* b)
{
char* c;
c = a; a = b; b = c;
}
int main()
{
char a[]="abc";
char b[]= "pr";
f(a,b);
printf ("%s%s", a, b);
return 0;
}
Ответ:
 (1) arbcp 
 (2) arbcc 
 (3) abcpr 
Номер 4
Какое из следующих утверждений истинно?
Ответ:
 (1) перегруженные функции должны отличаться типом параметров 
 (2) перегруженные функции должны отличаться именами параметров 
 (3) перегруженные функции должны отличаться типом возвращаемого значения