Ответы к экзамену: Пак ответов итоговый тест
Описание
Если d - одномерный массив, i - целая переменная, то выражение d[i] эквивалентно выражению:
&d+i
*(d+i)
&(d+i)
d+i
Можно ли работать с динамическими данными, не используя указатели?
да
нет
Отметьте утверждение, не справедливое для указателей:
Указатель хранит адрес данного.
Указатель может быть и переменной, и константой.
Указатель обязательно объявляется в блоке функции.
Может ли размер статического массива вычисляться в ходе выполнения программы?
Нет
Да
Может ли размер динамического массива вычисляться в ходе выполнения программы?
Нет
Да
Верно ли утверждение: "указатель не может быть динамической переменной"?
да
нет
Динамические данные - это ...
Данные, помещаемые на диск.
Данные подпрограмм.
Данные, память под которые распределяется и освобождается на этапе выполнения программы с помощью специальных операторов.
Любые данные, хранящиеся в оперативной памяти.
Сегмент памяти, в котором хранятся динамические данные, называется ...
Динамической памятью или кучей
Стэком
Переменной памятью.
Отметьте правильное выражение:
*200
&200
*(int*)200
В Си память, выделенная с помощью функции malloc, может быть освобождена с помощью функции:
remove
free
delete
В Си++ память, выделенная с помощью операции new, может быть освобождена с помощью операции:
cancel
free
delete
Пусть a- двумерный массив, i и j - целые переменные. Отметьте выражение, не являющееся эквивалентным выражению a[i]+j:
*(a+i)+j
&a[i][j]
*a[i]+j
Верно ли утверждение: Ключевое слово struct обязательно при объявлении типа "структура"?
да
нет
Объем памяти, занимаемый структурой, равен:
максимальному объему памяти составляющих полей
сумме объемов памяти полей (если исключить из рассмотрения особенности, связанные с выравниванием адресов памяти)
1 килобайту
Отметьте утверждения, несправедливые для объединения:
объем памяти, занимаемый объединением, равен максимальному объему памяти составляющих полей
поля объединения помещаются в одно и то же место памяти
компоненты объединения обязательно имеют одинаковый тип
Какие термины обозначают сложную структуру данных?
Структура
Массив
Таблица
Константа
Структуры в программировании нужны для ...
объединения компонентов разного типа в одну переменную в соответствии с логикой задачи
уменьшения длины программы
Верно ли утверждение: "ключевое слово typedef обязательно при объявлении типа "структура"?
да
нет
Отметьте свойства, неправильные для структур:
компоненты структуры могут иметь одинаковый тип
в любой программе должны быть структуры
компоненты структуры могут иметь разный тип
все компоненты структуры имеют один и тот же тип
компонентой структуры может быть массив
компоненты структуры хранятся в последовательных ячейках оперативной памяти
число компонентов структуры может быть бесконечно
структуры нельзя использовать в подпрограмме
к компоненте структуры следует обращаться, используя ее имя
компонентой структуры может быть структура
Отметьте свойства, характерные для массивов
элемент массива может иметь один номер, а может иметь и несколько номеров
элементы массива хранятся в последовательных ячейках оперативной памяти
массивы необходимы для организации циклов
все элементы массива имеют один и тот же тип
все элементы массива имеют одинаковое имя и различаются номерами
массив состоит из конечного числа элементов
подпрограммы без массивов невозможны
число элементов массива может быть бесконечно
в любой программе должны быть массивы
Отметьте операции, являющиеся операциями выбора компоненты структурированной переменной:
>>
<-
. (точка)
->
Допустима ли инструкция: char *s="text"?
да
нет
Имеется фрагмент кода:
void main()
{char a[10]="слово";
Какое значение имеет элемент массива a[5]?
0
русская буква "о"
неопределенное
В языке Си константа 'a' занимает ... байтов памяти.
2
1
256
Строковый литерал "text" занимает ... байтов памяти.
4
2
256
5
Какое значение вернет функция strcmp(s1, s2), если s1 и s2 объявлены так: char *s1="abba", char *s2="aaaa";
отрицательное значение
положительное значение
0
Какое значение вернет функция strcmp(s1, s2), если s1 и s2 объявлены так:
char *s1="8", char *s2="1000";
положительное значение
отрицательное значение
0
Допустима ли инструкция: s="text", если s описано так: char s[6]?
нет
да
Сколько байтов памяти занимает переменная str, объявленная с помощью инструкции: char str[]="слово"?
6
5
0
256
Строковый литерал "1234567890" занимает ... байтов памяти.
256
10
9
11
Имеется фрагмент кода:
void main()
{char a[10]="слово";
Какое значение имеет элемент массива a[6]?
неопределенное
русская буква "о"
пробел
0
В языке Си константа "a" занимает ... байтов памяти.
2
1
256
3
Какое значение вернет функция strcmp(s1, s2), если s1 и s2 объявлены так: char *s1="5", char *s2="100";
отрицательное значение
0
положительное значение
В текстовом файле F содержится одна строка: "text file", переменная s описана так: char s[100];
Отметьте значение s после выполнения оператора:
fscanf(F,"%s",s);
text
text file
file
textfile
Верно ли утверждение: "В Си для объявление файловой переменной используется тип FILE*"?
да
нет
Отметьте функцию, которая не может работать с двоичными файлами:
fwrite
getc
fread
fgets
Отметьте функцию, которая не может работать с текстовыми файлами:
fscanf
fread
fputs
fgets
fprintf
Функция feof() возвращает значение типа:
int
FILE*
Функция fopen() возвращает значение:
целое значение
типа FILE* или NULL
Действия, которые не осуществляет функция fopen():
считывание содержимого файла в память
связывание программного и физического имени файла
подготовка файла к чтению, записи, дополнению
При закрытии файла могут быть выполнены следующие действия:
сохранение содержимого файла и перерегистрация его в каталоге
разрушение связи между программным и физическим именем файла
формирование значения функции feof()
уничтожение файла
Текстовые файлы хранят данные во _______ представлении
внутреннем
произвольном
внешнем
Верно ли утверждение: "Обмен информации между двоичным файлом и переменными программы происходит без преобразования в соответствии с типом данных"?
да
нет
Отметьте утверждение, несправедливое для текстовых файлов:
текстовые файлы можно подготовить или прочитать в программе Блокнот
текстовые файлы могут содержать внутренние коды чисел с фиксированной или плавающей точкой
из текстового файла можно ввести значения в переменные различных типов
текстовый файл состоит из строк
Отметьте виды файлов в Си:
двоичные
форматированные
текстовые
дисковые
Программное имя файла - это ...
имя переменной, объявленной как файл
имя файла на диске или имя устройства
При открытии файла для дополнения могут быть выполнены следующие действия:
перемещение указателя файла в его конец
создание файла
стирание предыдущего содержимого файла
поиск файла и вывод сообщения об ошибке, если файл не найден
установка функции feof() в значение истина
перемещение указателя файла на его начало
Файловые типы в программировании нужны для ...
работы с данными, хранящимися на внешних устройствах
уменьшения количества ошибок
увеличения быстродействия программы
При открытии файла для чтения могут быть выполнены следующие действия:
перемещение указателя файла на его начало
создание файла
поиск файла на диске и вывод сообщения об ошибке, если файл не найден
стирание предыдущего содержимого файла
перемещение указателя файла в его конец
формирование значения функции feof()
уничтожение файла
Если при открытии файла для чтения функция feof() возвращает значение истина, то ...
файл пустой
файл защищен от записи
открываемого файла нет на диске
При открытии файла для записи могут быть выполнены следующие действия:
поиск файла и создание файла, если он не найден
уничтожение файла
стирание предыдущего содержимого файла
установка функции feof() в значение истина
поиск файла и вывод сообщения об ошибке, если файл не найден
cоздание файла
Допустима ли инструкция: s="text", если s описано так: char s[6]?
да
нет
Сколько байтов памяти занимает переменная str, объявленная с помощью инструкции: char str[]="слово"?
0
6
256
5
В языке Си константа "a" занимает ... байтов памяти.
3
256
2
1
В языке Си константа 'a' занимает ... байтов памяти.
1
256
2
Имеется фрагмент кода:
void main()
{char a[10]="слово";
Какое значение имеет элемент массива a[5]?
неопределенное
русская буква "о"
0
пробел
Имеется фрагмент кода: void main() {char a[10]="слово"; Какое значение имеет элемент массива a[6]?
неопределенное
пробел
0
Динамические данные - это ...
Любые данные, хранящиеся в оперативной памяти.
Данные подпрограмм.
Данные, память под которые распределяется и освобождается на этапе выполнения программы с помощью специальных операторов.
В Си++ память, выделенная с помощью операции new, может быть освобождена с помощью операции:
free
cancel
delete
Отметьте правильное выражение:
*200
*(int*)200
&200
Отметьте операцию, недопустимую для указателей:
*
++
--
/
+
-
В Си память, выделенная с помощью функции malloc, может быть освобождена с помощью функции:
delete
remove
free
Отметьте свойства, характерные для массивов
элемент массива может иметь один номер, а может иметь и несколько номеров
массивы необходимы для организации циклов
все элементы массива имеют одинаковое имя и различаются номерами
все элементы массива имеют один и тот же тип
массив состоит из конечного числа элементов
элементы массива хранятся в последовательных ячейках оперативной памяти
в любой программе должны быть массивы
число элементов массива может быть бесконечно
подпрограммы без массивов невозможны
Отметьте операции, являющиеся операциями выбора компоненты структурированной переменной:
->
. (точка)
<-
>>
Отметьте утверждения, несправедливые для объединения:
компоненты объединения обязательно имеют одинаковый тип
поля объединения помещаются в одно и то же место памяти
объем памяти, занимаемый объединением, равен максимальному объему памяти составляющих полей
Отметьте свойства, неправильные для структур:
компонентой структуры может быть массив
к компоненте структуры следует обращаться, используя ее имя
компонентой структуры может быть структура
структуры нельзя использовать в подпрограмме
компоненты структуры могут иметь одинаковый тип
все компоненты структуры имеют один и тот же тип
в любой программе должны быть структуры
число компонентов структуры может быть бесконечно
компоненты структуры хранятся в последовательных ячейках оперативной памяти
компоненты структуры могут иметь разный тип
Объем памяти, занимаемый структурой, равен:
максимальному объему памяти составляющих полей
сумме объемов памяти полей (если исключить из рассмотрения особенности, связанные с выравниванием адресов памяти)
1 килобайту
В текстовом файле F содержится одна строка:
"text file", переменная s описана так: char s[100];
Отметьте значение s после выполнения оператора:
fscanf(F,"%s",s);
file
text file
textfile
text
Действия, которые не осуществляет функция fopen():
подготовка файла к чтению, записи, дополнению
считывание содержимого файла в память
связывание программного и физического имени файла
Верно ли утверждение: "В Си для объявление файловой переменной используется тип FILE*"?
нет
да
Текстовые файлы хранят данные во _______ представлении
внешнем
внутреннем
произвольном
Отметьте утверждение, несправедливое для текстовых файлов:
текстовые файлы можно подготовить или прочитать в программе Блокнот
из текстового файла можно ввести значения в переменные различных типов
текстовый файл состоит из строк
текстовые файлы могут содержать внутренние коды чисел с фиксированной или плавающей точкой
Отметьте виды файлов в Си:
форматированные
текстовые
двоичные
дисковые
При открытии файла для записи могут быть выполнены следующие действия:
cоздание файла
стирание предыдущего содержимого файла
установка функции feof() в значение истина
уничтожение файла
поиск файла и создание файла, если он не найден
поиск файла и вывод сообщения об ошибке, если файл не найден
Верно ли утверждение: "Обмен информации между двоичным файлом и переменными программы происходит без преобразования в соответствии с типом данных"?
нет
да
При открытии файла для чтения могут быть выполнены следующие действия:
создание файла
стирание предыдущего содержимого файла
перемещение указателя файла на его начало
уничтожение файла
перемещение указателя файла в его конец
формирование значения функции feof()
поиск файла на диске и вывод сообщения об ошибке, если файл не найден
Отметьте утверждения, справедливы для глобальных переменных:
глобальные переменные описываются вне функций
для расширения области действия глобальных переменных используется оператор extern
глобальные переменные доступны в файле, где они описаны, от места описания до конца файла
глобальные переменные могут быть использованы для передачи данных между функциями
промежуточные переменные рекомендуется объявлять как глобальные
для расширения области действия глобальных переменных используется оператор static
память под глобальные переменные выделяется на этапе компиляции и существует все время выполнения программы
Отметьте утверждения, справедливые для статических данных:
статические данные - это только данные, объявленные как static
локальные данные обязательно являются статическими
статическую переменную можно использовать для подсчета числа вызовов функции
статические данные - это глобальные данные и данные, описанные как static
Директива #define M 10:
показывает, что M равно 10
определяет константу 10
везде в тексте программы заменяет M на 10
Справедливо ли утверждение: "к автоматическим данным относятся локальные и регистровые данные"?
нет
да
Справедливо ли утверждение:"каждый файл Си-программы обязательно содержит хотя бы одну функцию"?
да
нет
Назначение препроцессора Си состоит в ...
компиляции программы
создании оптимального кода
завершении формирования исходного текста программы на Си
К статическим данным не относятся:
данные, описанные как static
локальные данные
глобальные данные
Справедливо ли утверждение: "если функция большая, она может быть распределена по нескольким файлам"?
нет
да
Справедливо ли утверждение: "каждый файл Си-программы содержит ровно одну функцию"?
нет
да
Глобальные переменные при распределении в памяти:
остаются неопределенными
обнуляются
Директива #include препроцессора позволяет ...
включать в исходную программу любые текстовые файлы
включать в исходную программу только заголовочные файлы
подключать библиотеки
Отметьте утверждения, справедливые для локальных данных:
память под локальные данные выделяется при вызове функции и освобождается при ее завершении
область оперативной памяти, в которой распределяются локальные данные, называется стеком функций
локальные данные - это только промежуточные данные функции
локальные данные доступны только в блоке функции, в которой они объявлены
локальные данные – это фактические параметры функции
локальные данные - это только формальные параметры функции
локальные данные описываются в блоке функции
локальные данные - это формальные параметры функции и ее промежуточные данные
Локальные переменные при распределении в памяти ...
остаются неопределенными
обнуляются
Отметьте правильные свойства функции Си:
в вызывающем коде функцию можно использовать в выражениях
функция должна описывать простой алгоритм
в блоке функции имя функции не может быть использовано в операторах накапливания
имя функции – это и имя подпрограммы, и имя результата (если тип функции - не void)
если функция имеет тип, отличный от void, в блоке функции обязательно должен быть оператор return
Си-программа может не иметь ни одной функции
функция - это подпрограмма
Отметьте правильные свойства формальных параметров функции Си:
в список формальных параметров включаются входные и выходные данные функции, за исключением результата, передаваемого через имя функции
формальные параметры относятся к локальным данным
формальные параметры хранятся в стеке функций
массив может быть формальным параметром
любая переменная, используемая в функции, является формальным параметром
формальные параметры нужны, чтобы функция могла обрабатывать разные данные
память под формальные параметры распределяется при вызове функции и освобождается при ее завершении
при вызове функции формальные параметры заменяются на фактические
формальные параметры используются только в блоке функции
функция обязательно должна иметь формальные параметры
В Си все подпрограммы являются функциями?
да
нет
Справедливо ли утверждение: "формальные параметры функции Си заменяются на фактические только по значению"?
нет
да
Отметьте способы передачи данных между программой и подпрограммой
через глобальные данные
через параметры подпрограмм
через имя подпрограммы-функции
ручной
автоматический
Функция типа void ...
не возвращает значения в вызывающий код
является пустой
Подпрограммы нужны для ...
упрощения отладки программы
улучшения наглядности кода
разделения труда между несколькими программистами
усложнения программы
обеспечения возможности многократного вызова отдельно оформленного кода
создания библиотек алгоритмов
Стек функций - это ...
все имена функций
область оперативной памяти, в которой распределяются данные функций
коды функций
все имена данных функций
В список формальных параметров функции включаются:
вход и выход функции, за исключением значения, передаваемого через имя функции
вещественные значения
все массивы
все данные, используемые в теле функции
Отметьте правильные свойства фактических параметров функции Си
фактические параметры подставляются вместо формальных при вызове функции
если формальный параметр является массивом, то соответствующий фактический может быть простой переменной
фактические параметры объявляются в вызывающей функции или являются глобальными
фактические параметры должны соответствовать формальным по количеству, порядку перечисления и типу
если формальный параметр является простой переменной, то соответствующий фактический может быть массивом
Отметьте утверждения, справедливые для локальных данных:
память под локальные данные выделяется при вызове функции и освобождается при ее завершении
область оперативной памяти, в которой распределяются локальные данные, называется стеком функций
локальные данные – это фактические параметры функции
локальные данные доступны только в блоке функции, в которой они объявлены
локальные данные - это только промежуточные данные функции
локальные данные описываются в блоке функции
локальные данные - это только формальные параметры функции
локальные данные - это формальные параметры функции и ее промежуточные данные
Отметьте утверждения, справедливы для глобальных переменных:
промежуточные переменные рекомендуется объявлять как глобальные
для расширения области действия глобальных переменных используется оператор extern
глобальные переменные могут быть использованы для передачи данных между функциями
глобальные переменные доступны в файле, где они описаны, от места описания до конца файла
память под глобальные переменные выделяется на этапе компиляции и существует все время выполнения программы
для расширения области действия глобальных переменных используется оператор static
глобальные переменные описываются вне функций
Справедливо ли утверждение: "если функция большая, она может быть распределена по нескольким файлам"?
нет
да
Отметьте утверждения, справедливые для статических данных:
статическую переменную можно использовать для подсчета числа вызовов функции
статические данные - это только данные, объявленные как static
статические данные - это глобальные данные и данные, описанные как static
локальные данные обязательно являются статическими
Локальные переменные при распределении в памяти ...
обнуляются
остаются неопределенными
Глобальные переменные при распределении в памяти:
остаются неопределенными
обнуляются
Справедливо ли утверждение: "каждый файл Си-программы содержит ровно одну функцию"?
да
нет
Назначение препроцессора Си состоит в ...
компиляции программы
создании оптимального кода
завершении формирования исходного текста программы на Си
Справедливо ли утверждение:"каждый файл Си-программы обязательно содержит хотя бы одну функцию"?
нет
да
Тип данных характеризует ...
есть ли у числа целая часть
вид значения на внешнем носителе
допустимые операции над данными
способ представления данных в памяти компьютера
размер памяти, занимаемый данным
объявление переменной
Может ли Си-программа не иметь функцию main?
нет
да
Основные алгоритмические структуры:
развилка
цикл
оператор
ввод
следование
вывод
Блок, имеющий более одного выхода:
вызова подпрограммы
условный
отдельно раскрываемый блок
цикла
Операторы программы - это ...
инструкции языка, которые транслируются в одну или несколько машинных команд
условные операторы и операторы цикла
фразы языка, из которых строится программа
Описания данных в программе - это ...
double, float, int и другие ключевые слова
инструкции языка, которые нужны для распределения памяти под данные и определения характера операций над данными
фразы языка, из которых строится программа
Имя переменной обязательно объявляется до его использования?
нет
да
Свойства, включаемые в определение алгоритма:
отсутствие ошибок
время выполнения
универсальность
определенность
конечность
объем оперативной памяти
Для массивов справедливы утверждения:
массивы необходимы для организации циклов
в Си наименьшее значение индекса массива равно нулю
элемент массива может иметь один номер, а может иметь и несколько номеров
в любой программе должны быть массивы
число элементов массива может быть бесконечно
подпрограммы без массивов невозможны
все элементы массива имеют одинаковое имя
массив состоит из конечного числа элементов
все элементы массива имеют один и тот же тип
элементы массива хранятся в последовательных ячейках оперативной памяти
Свойства функциональных тестов:
при их составлении программа рассматривается как "черный ящик"
используют идеи, отличные от лежащих в основе алгоритма
используют структуру алгоритма
разрабатываются на этапе анализа задачи и разработки внешней спецификации
используют драйверы и заглушки
Современные критерии качества программы:
затраты
надёжность
соответствие постановке задачи
алгоритмический язык
наличие дружественного интерфейса
Количество структурных тестов:
очень большое
равно количеству подпрограмм
равно количеству операторов
равно количеству возможных путей выполнения алгоритма
Тестирование программы - это ...
исправление синтаксических ошибок в программе
испытание программы с помощью тестов
исправление ошибок в программе
Метод нисходящего проектирования алгоритмов:
подалгоритмы связаны между собой произвольным образом
иерархическую последовательную разработку алгоритма от простого к сложному
каждый подалгоритм имеет один выход
подалгоритмы могут оформляться как условные блоки
подалгоритмы связаны посредством основных алгоритмических структур
разбиение алгоритма на части, соответствующие логике задачи
иерархическую последовательную разработку алгоритма от сложного к простому
разбиение алгоритма на произвольные части
Отладка программы - это ...
процесс устранения ошибок в программе
проверка программы на тестах
устранение синтаксических ошибок
Положения структурного программирования:
метод нисходящего проектирования
использование основных алгоритмических структур
использование глобальных переменных
обозначения, соответствующие логике задачи
использование подпрограмм
Отметьте способы передачи данных между программой и подпрограммой
через параметры подпрограмм
автоматический
через имя подпрограммы-функции
ручной
через глобальные данные
Подпрограммы нужны для ...
улучшения наглядности кода
создания библиотек алгоритмов
обеспечения возможности многократного вызова отдельно оформленного кода
усложнения программы
разделения труда между несколькими программистами
упрощения отладки программы
В Си все подпрограммы являются функциями?
нет
да
Отметьте правильные свойства функции Си:
функция - это подпрограмма
Си-программа может не иметь ни одной функции
если функция имеет тип, отличный от void, в блоке функции обязательно должен быть оператор return
в вызывающем коде функцию можно использовать в выражениях
имя функции – это и имя подпрограммы, и имя результата (если тип функции - не void)
в блоке функции имя функции не может быть использовано в операторах накапливания
функция должна описывать простой алгоритм
Функция типа void ...
не возвращает значения в вызывающий код
является пустой
Отметьте правильные свойства формальных параметров функции Си:
формальные параметры хранятся в стеке функций
формальные параметры используются только в блоке функции
при вызове функции формальные параметры заменяются на фактические
функция обязательно должна иметь формальные параметры
память под формальные параметры распределяется при вызове функции и освобождается при ее завершении
в список формальных параметров включаются входные и выходные данные функции, за исключением результата, передаваемого через имя функции
формальные параметры нужны, чтобы функция могла обрабатывать разные данные
массив может быть формальным параметром
любая переменная, используемая в функции, является формальным параметром
формальные параметры относятся к локальным данным
Отметьте правильные свойства фактических параметров функции Си
если формальный параметр является простой переменной, то соответствующий фактический может быть массивом
фактические параметры объявляются в вызывающей функции или являются глобальными
если формальный параметр является массивом, то соответствующий фактический может быть простой переменной
фактические параметры подставляются вместо формальных при вызове функции
фактические параметры должны соответствовать формальным по количеству, порядку перечисления и типу
В список формальных параметров функции включаются:
вход и выход функции, за исключением значения, передаваемого через имя функции
все данные, используемые в теле функции
вещественные значения
все массивы
Справедливо ли утверждение: "формальные параметры функции Си заменяются на фактические только по значению"?
нет
да
Характеристики ответов (шпаргалок) к экзамену
Список файлов
Комментарии
