Главная страница

Лекции. Основные понятия и определения


Скачать 1.94 Mb.
НазваниеОсновные понятия и определения
Дата27.03.2018
Размер1.94 Mb.
Формат файлаdocx
Имя файлаЛекции.docx
ТипКонтрольные вопросы
#39570
страница56 из 58
1   ...   50   51   52   53   54   55   56   57   58

Приложение 3. Ответы на вопросы для самопроверки


Перед каждой группой ответов указаны № и заголовок раздела, в конце которого сформулированы вопросы.
2. Элементы языка

  1. Различаются ли прописные и строчные буквы в изучаемых языках? В языке C отличаются, в языке Basic – нет.

  2. Перечислите допустимые имена.

x X X_X A15B 15C α2 KOH A1b MAKC_HOMEP

Допустимые имена: x X X_X A15B KOH A1b MAKC_HOMEP

  1. Перечислите знаки разрядки.К ним относят: пробел, табуляцию (клавиша Tab), переход на новую строку (клавиша Enter).

  2. Где могут записываться комментарии в тексте программы на языке C? Комментарии в языке C могут записываться в любом месте, где допустим пробел.

  3. Чем отличается запись нескольких инструкций в одной строке в языках C и Basic? В языке C инструкция заканчивается символом ";", а в языке Basic при записи нескольких инструкций в одной строке они должны разделяться символом ":".
3. Элементы данных

  1. Каковы ориентировочно максимальные целое и вещественное значения? Максимально допустимое целое значение в языке C составляет 232-1 (≈4*109), для Basic – 264-1, для данных с плавающей точкой они совпадают и ≈1.79*10308.

  2. В каком языке отсутствует логический тип данных? В языке C, в языках С++ и Basic он есть.

  3. Есть ли отличия в правилах записи строковых литералов в языках C и Basic? Нет.

  4. Можно ли в языке C задать произвольную нижнюю границу индекса? Нет.

  5. Что такое длина измерения массива? Количество элементов в данном измерении.

  6. Можно ли объявить массив произвольных размеров? Если да, то в каком языке? Можно, в языке Basic.

  7. В каком языке есть ключевое слово для описания структур? В обоих.
4. Выражения

  1. Чему равно выражение: -7\2? На каком языке оно написано? Выражение написано на языке Basic и равно –3.

  2. Известно целое значение n. Как определить младшую цифру числа? На языке C следует записать выражение abs(n % 10), в языке BasicAbs(n Mod 10).

  3. Как следует записать на языке C соотношение a? a.

  4. Как на языке Basic записать условие попадания точки M(x,y) в квадрат с центром в начале координат и стороной a? Abs(x)<=a/2 And Abs(y)<=a/2.
5. Основные инструкции

  1. Какие преимущества имеет инструкция присваивания языка C перед аналогичной инструкцией языка Basic? В языке C можно одной инструкцией присвоить одно и то же значение нескольким объектам программы.

  2. Какой новый объект программы позволяет выполнить инструкцию goto? Этот новый объект – метка.

  3. Допустим ли выход из тела цикла с помощью инструкции goto? Да.

  4. Можно ли реализовать разветвление алгоритма более, чем на 2 ветви? Да, вложенными инструкциями if или инструкцией многоальтернативного выбора.

  5. Почему необходимо в языке C наличие пустой инструкции? Она необходима в тех случаях, когда по правилам языка в записи требуется наличие некоторой инструкции, а алгоритм не выполняет никаких действий.

  6. В чем смысл составной инструкции? Инструкция употребляется тогда, когда правила требуют одной инструкции, а для решения задачи необходимо несколько.

  7. Можно ли организовать цикл, не используя инструкцию цикла? Да, можно.

  8. В чем преимущество циклов с предусловием? Эти инструкции позволяют записать цикл, у которого при определенных значениях данных тело цикла ни разу не выполнится.

  9. Можно ли изменять конечное значение счетчика цикла внутри тела цикла в инструкции For языка Basic? А в инструкции for языка C? В языке Basic этого делать нельзя, а в языке C – можно.

  10. Чему равно значение счетчика цикла после его окончания? Отличается ли это правило для языков Basic и C? Оно равно тому значению, которое счетчик имел в момент выхода из цикла. Не отличается.

  11. В чем разница в действиях инструкций break и continue языка C? Инструкция break передает управление следующей за циклом выполняемой инструкции, а инструкция continue пропускает оставшиеся инструкции тела цикла и выполнение цикла продолжается.

  12. Происходит ли выход из инструкции switch по достижения конца ветви case? А в инструкции Select языка Basic? В языке C – нет, а в языке Basic – происходит.
6. Ввод-вывод

  1. Что происходит, когда длина выводимого значения больше величины W? Значение выводится полностью.

  2. При каких условиях при выводе значений с плавающей точкой не ставится десятичная точка? Когда значение параметра D равно 0.

  3. Перечислите символы – ограничители ввода. Знаки разрядки и любой символ, который не преобразуется данной спецификацией.

  4. А для языка Basic? Только перевод строки Enter.

  5. Чем отличаются правила ввода значений по спецификациям f и e? Ничем.

  6. Что возвращают функции printf и scanf? Функция printf возвращает число выведенных символов, функция scanf – число введенных скалярных значений.
7. Процедуры

  1. Что такое блок? Блок – это составная инструкция + описания, расположенные в нем.

  2. Есть ли в языке Basic главная процедура? Да, есть.

  3. В каком языке не определено понятие подпрограммы? В языке C.

  4. Что такое указатель на функцию? Это специальный тип указателя, задающий адрес определения некоторой функции.

  5. Чем должны являться выходные скалярные параметры в языке C? Выходные скалярные параметры должны быть указателями.

  6. Что передается в процедуру, если аргумент – имя массива? В этом случае передается адрес начального элемента массива.
8. Препроцессор

  1. Где записываются директивы препроцессора? На отдельной строке в произвольном месте файла исходного кода.

  2. Какова область действия директивы #define? От текста директивы до другой директивы, отменяющей ее действие. Если такой директивы нет, то до конца файла, где она записана.

  3. Можно ли обойтись без директивы #include в языке C? Можно, если в тексте программы не используется ни одна библиотечная функция.
9. Стиль программирования

  1. Как разумно размещать инструкции текста программы? Одну инструкцию в строке текста программы.

  2. Какую роль играют отступы при размещении вложенных инструкций? Отступы подчеркивают и выявляют структуру программы, показывая уровень вложенности сложных инструкций.

  3. В чем суть "венгерской" нотации имен? Имя содержит информацию о типе и смысле именованного объекта. Рекомендуются имена из нескольких слов, каждое из которых начинается с прописной буквы.

  4. На что, вероятно, указывает предупреждение при трансляции? На место вероятного нарушения правил языка или неоднозначной трактовки транслятором отмеченного фрагмента.

  5. В чем различие в применении операторов "И" и "ИЛИ" в языках C и Basic? В языке C вычисление выражения прекращается, как только определился результат, в языке Basic выражение вычисляется полностью.

  6. Чем отличается действие оператора деления / в языках C и Basic? В языке C при делении целого на целое результат будет целый, причем дробная часть отбрасывается. В языке Basic при этом в общем случае получается дробный результат.
10. Данные. Дополнение

  1. Что произойдет при присваивании переменной типа enum значения не из списка допустимых значений в программе на языке C? А в языке Basic? В языке C произойдет ошибка, а в языке Basic – нет.

  2. Есть ли предопределенный тип для дат/времени в языке C? Нет.

  3. Какое средство языка C напоминает тип Object языка Basic? Объединение или смесь.

  4. Для чего нужен тип void? Для описания процедур, не возвращающих значений или не имеющих параметров, а также для формирования "универсальных" указателей.

  5. Какой язык позволяет менять размеры массивов во время выполнения программы? Язык Basic.

  6. Может ли структура быть элементом другой структуры? Да, может.

  7. Может ли 1 переменная типа Delegate использоваться для представления процедур с различным списком параметров? Нет, не может.

  8. Каков основной принцип автоматических преобразований числовых типов данных? Основной принцип таких преобразований – не терять точности представления, входящих в выражение операндов.
11. Операторы. Дополнение

  1. Чему равно значение выражения sizeof(<имя_типа>)? Длине (числу байтов) элемента данного типа.

  2. Какой тип должен иметь левый операнд оператора ->? Указатель.

  3. Дано: i=4; y=i++; x=++i. Чему равны значения i, y, x ? i=6; y=4; x=6.

  4. Какой тип имеет результат выполнения унарного оператора "&"? Результат должен быть указателем на тип объекта программы, адрес которого вычисляется.

  5. Что означают операторы "=" и "==" в языке C? Чей приоритет выше? "=" – это оператор присваивания, "==" – это оператор равенства, приоритет последнего выше.

  6. В чем отличие операторов унарного и бинарного оператора "&"? Унарный "&" – это нахождение адреса объекта, бинарный "&" – это поразрядный оператор "И".

  7. Какой оператор имеет 3 операнда? 3 операнда имеет условное выражение "?".
12. Передача данных потоком

  1. Какие символы являются ограничителями ввода для спецификации s функции scanf ? Пробел и перевод строки (клавиша Enter).

  2. Удаляются ли символы-ограничители из входного потока функцией gets? Да, заменяются на конечный нулевой символ.

  3. Какой символ помещается в конец выводимой строки функцией puts? Перевод строки.

  4. Можно ли ввести строку, содержащую пробелы, функцией scanf? Нет, пробел является ограничителем ввода.
13. Файлы

  1. В чем отличие последовательных файлов и файлов с произвольным доступом? В последовательных файлах для того, чтобы получить доступ к нужному фрагменту, необходимо прочесть все предыдущие. В файлах с произвольным доступом к нужному фрагменту можно обратиться непосредственно, указав уникальный ключ.

  2. Что представляют файлы с расширением по умолчанию bak? Это предыдущая версия файла с расширением c|cpp.

  3. Что такое дескриптор файла? Это идентификатор канала передачи данных.

  4. Что означает запись FILE* в языке C? Это указатель на тип FILE, который представляет собой структуру, определенную в файле stdio.h.

  5. Что делает инструкция FileClose без параметров? Закрывает все открытые файлы.

  6. Укажите тип первого параметра функции MsgBox. Тип string.
14. Структура программы

  1. Могут ли исполняемые инструкции записываться вне тела процедур? Нет, не могут.

  2. Может ли в одной области видимости исполняемая инструкция предшествовать декларации? Нет, не может.

  3. Отличается ли время жизни для объектов static и extern? Нет, не отличается.

  4. Объявление объекта с ключевым словом extern это определение или описание? Это описание.

  5. Что произойдет, если число инициаторов больше числа элементов массива? Произойдет ошибка при трансляции.
15. Указатели, массивы, строки

  1. Что означают операторы * и & при работе с указателями? Оператор "*" означает: извлечь значение по известному адресу, оператор "&" – определить адрес известного объекта.

  2. Что означает запись *(p + i), где p – указатель? Извлечь значение по адресу, смещенного от адреса p, на i элементов типа указателя в сторону увеличения.

  3. Есть ли понятие указатель в языке Basic? Нет.

  4. Укажите средство для сравнения строк в языке C. Функция strcmp.

  5. Что делает функция gets? Вводит строку с клавиатуры до символа перевод строки, задает введенное значение символьному массиву, заменяя символ перевод строки на конечный нуль.

  6. Укажите средства для сцепления строк в языках C и Basic. В языке C для сцепления строк используется функция strcat, а в языке Basic – операторы "&" и "+".

  7. Для чего служит оператор delete? Для освобождения памяти, выделенной в "куче" оператором new.

  8. Дайте определение рекурсивной процедуры. Рекурсивная процедура – это процедура, текст которой содержит обращение к самой себе.

  9. С помощью какой структуры данных реализуется рекурсия? Рекурсия реализуется с помощью структуры данных, называемой стеком.
16. Работа с экраном

  1. Какой заголовочный файл нужен для работы с окнами? coniow.h.

  2. Укажите начальные координаты курсора в текстовом режиме.

Начальные координаты курсора – (1,1).
1   ...   50   51   52   53   54   55   56   57   58


написать администратору сайта