Главная / Программирование /
Язык программирования C++ / Тест 17
Язык программирования C++ - тест 17
Упражнение 1:
Номер 1
Что понимается под потоком в языке C++
Ответ:
 (1) обмен данными между программами 
 (2) обмен данными между компилятором и функцией main 
 (3) механизм ввода-вывода 
Номер 2
Какое из представленных выражений выводит на экран
0000
0 0
0000
Замечание:при написании собственных программ с использованием форматированного ввода/вывода подключите файл iomanip.h
Ответ:
 (1)
cout<<setw(4)<<setfill('0')<<""<<endl;
cout<<setw(1)<<setfill('0')<<"";
cout<<" "<<setw(1)<<setfill('0')<<""<<endl;
cout<<setw(4)<<setfill('0')<<""<<endl;
 
 (2)
cout<<setw(4)<<setfill('0')<<""<<endl;
cout<<setw(1)<<setfill('0')<<""<<" "<<setw(1)<<setfill('0')<<""<<endl;
cout<<setw(4)<<setfill('0')<<""<<endl;
 
 (3)
cout<<setw(4)<<setfill('0')<<""<<endl<<setw(1)<<setfill('0')<<""
<<" "<<setw(1)<<setfill('0')<<""<<endl<<setw(4)<<setfill('0')<<""<<endl;
 
Упражнение 2:
Номер 2
Если имеется код int x; cin >> x;
и вводится "1.2
", то что будет в переменной x
?
Ответ:
 (1) 1
 
 (2) 2
 
 (3) 1.2
 
 (4) другое 
 (5) произойдет ошибка 
Номер 3
Если имеется код double x; cin >> x;
и вводится "12-3
", то что будет в переменной x
?
Ответ:
 (1) 9.0
 
 (2) 9
 
 (3) 12.0
 
 (4) 3.0
 
 (5) другое 
 (6) произойдет ошибка 
Упражнение 3:
Номер 1
Что будет выведено в результате
double x = 12.4;
cout << setw(5) << x << setw(3)
<< setfill('*')<< "" << endl;
Ответ:
 (1) "12.40***"
 
 (2) " 12.4***"
 
 (3) "12.4 * *"
 
 (4) "12.40"
 
 (5) ".124e2**"
 
Номер 2
Какой из стандартных классов используется для вывода строк на терминал:
Ответ:
 (1) strstream
 
 (2) ostream
 
 (3) ofstream
 
 (4) istream
 
 (5) ifstream
 
Номер 3
Для того чтобы выполнить чтение из файла с произвольной позиции, надо использовать объект класса
Ответ:
 (1) strstream
 
 (2) ostream
 
 (3) ofstream
 
 (4) istream
 
 (5) ifstream
 
 (6) filestream
 
Упражнение 4:
Номер 1
Результат работы программы:
#include <iostream.h>
int main()
{
int ic;
cout << "Введите любую десятичную цифру:";
cin >> ic;
switch (ic)
{
case 0: case 1: cout << "один ";
case 2: case 3: cout << "три ";
case 4: case 5: cout << "пять ";
case 6: case 7: cout << "семь ";
case 8: case 9: cout << "девять "; break;
default: cout << "ERROR!!!";
}
return 1;
}
Ответ:
 (1) компилятор найдет ошибку 
 (2) если введена нечетная цифра, выводится ее название 
 (3) в любом случае выводится "ERROR!!!
" 
 (4) выводятся названия всех нечетных цифр больше или равных введенной 
Номер 2
Результат работы программы:
#include <iostream.h>
int main()
{
char A[] = "ABC ";
char *U = &A[2];
cout << "\n" << *U--;
cout << *U-- ;
cout << *U;
return 1;
}
Ответ:
 (1) ABC
 
 (2) BC
 
 (3) CBA
 
 (4) BCA
 
Номер 3
Правильный вариант программы, выводящей "Hello World
":
Ответ:
 (1) #include <iostream.h>
int main()
{
cout<<"Hello World";
return 0;
}  
 (2) #include <iostream.h>
int main()
{
cout>>"Hello World";
return 0;
} 
 (3) #include <iostream.h>
{
cout<<"Hello World";
return 0;
} 
Упражнение 5:
Номер 1
Какой класс используется для вывода данных во внутреннюю область памяти?
Ответ:
 (1) iostream
 
 (2) strstream
 
 (3) cout
 
 (4) strout
 
 (5) fstream
 
Номер 2
С помощью какого метода можно изменить текущую позицию в файле?
Ответ:
 (1) put
 
 (2) open
 
 (3) seekp
 
Номер 3
Существует файл "test.dat" в котором записано "Hello World".Каково будет содержимое файла после выполнения кода:
ofstream outfile("c:\\test.dat");
if (!outfile)
{ cout << "Ошибка создания файла";
return 1; }
outfile << "!!!" << endl;
outfile.close();
Ответ:
 (1) Hello World!!!
 
 (2) Hello World
 
 (3) !!!
 
Упражнение 6:
Номер 1
Что произойдет при выводе в файл, открытый с помощью
ofstream("filename", ios::out|ios::app|ios::trunc)
Ответ:
 (1) вывод будет производиться в двоичном виде 
 (2) вывод будет производиться в конец файла 
 (3) можно читать из файла 
 (4) если файл существовал, его содержимое сотрется 
 (5) вывод будет производиться записями фиксированной длины 
Номер 2
Что означает cout << setw(3)
?
Ответ:
 (1) ширина поля вывода устанавливается равной 3 
 (2) выводимые строки сокращаются до 3 символов 
 (3) выводимые строки дополняются до 3 символов 
 (4) нельзя ввести больше 3 символов за один раз 
Номер 3
Что означает cout << flush
?
Ответ:
 (1) вывести перевод строки 
 (2) вывести возврат каретки 
 (3) вывести символ новой строки 
 (4) вывести нулевой байт 
 (5) произвести вывод и очистку буферов 
 (6) закрыть выводной поток 
Упражнение 7:
Номер 1
Для чего предназначены манипуляторы потоков ввода-вывода?
Ответ:
 (1) для управления состоянием потока 
 (2) для перенаправления потоков ввода-вывода 
 (3) для создания объектов классов istream
и ostream
 
Номер 2
Укажите основные используемые манипуляторы потоков.
Ответ:
 (1) flush
 
 (2) endl
 
 (3) printf
 
 (4) setw
 
 (5) <<
 
 (6) setprecision
 
Упражнение 8:
Номер 1
Что будет на экране после выполнения программы?
#include <iostream.h>
#include <fstream.h>
#include <string.h>
int main()
{
int i = 1, j = 25; double a = 25e6; char s[40];
strcpy(s, "Test");
ofstream outfile("c:\\test.dat");
if (!outfile)
{ cout << "Ошибка создания файла";
return 1; }
outfile << i << ' ' << j << ' ' << a << ' ' << s << endl;
outfile.close();
}
Ответ:
 (1) будет создан текстовый файл "C:\test.dat
" с содержимым "1 25 2.5e+07 Test
" 
 (2) будет выведено сообщение "Ошибка создания файла
" 
 (3) будет создан текстовый файл "C:\Test
" с содержимым "1 25 2.5e+07 Test
" 
 (4) будет создан двоичный файл 
 (5) в ходе выполнения возникнет исключение 
Номер 2
Существует файл "test.dat" в котором записано "Hello World".Каково будет содержимое файла после выполнения кода:
ofstream outfile("c:\\test.dat",ios::in);
if (!outfile)
{ cout << "Ошибка создания файла";
return 1; }
outfile << "!!!";
outfile.close();
Ответ:
 (1) Hello World!!!
 
 (2) !!!lo World
 
 (3) !!!
 
Номер 3
Существует файл "c:\test.dat" в котором записано "Hello World".Каково будет содержимое файла после выполнения кода:
ofstream outfile("c:\\test.dat",ios::in);
if (!outfile)
{ cout << "Ошибка создания файла";
return 1; }
outfile << "!!!";
outfile.close();
Ответ:
 (1) Hello World!!!
 
 (2) !!!lo World
 
 (3) !!!