Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

VOPROS_S_2009

.doc
Скачиваний:
13
Добавлен:
02.02.2015
Размер:
46.59 Кб
Скачать

3

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

2. Что означают термины “режим программирования Win16” и “режим программирования Win32”?

3. Какой объем сегмента данных в режимах программирования Win16 и Win32?

4. Сколько байтов составляет каждый тип данных, встроенный в язык С, в режимах программирования Win16 и Win32?

5. Интервалы представимых значений чисел для каждого из типов данных языка С в режимах программирования Win16 и Win32.

6. Написать головную программу на языке С минимально возможной конфигурации.

7. Как используется директива #include?

8. Когда при записи директивы #include используются угловые скобки (< >), а когда двойные кавычки (“ ”)?

9. Как, применяя директиву #include, указать путь к подключаемому файлу myFile.cpp, который располагается в папке rab на диске D?

10. Чем является идентификатор, сопоставляемый переменной?

11. Чем объявление переменной отличается от её определения?

12. Как называются переменные в зависимости от места их расположения в памяти?

13. Что означает термин “время жизни переменной”?

14. Что означает термин “область видимости переменной”?

15. Охарактеризовать время жизни и область видимости переменных в зависимости от их расположения в памяти.

16. Какое значение по умолчанию имеет любая глобальная или статическая переменная?

17. Что означают термины “локальная метка” и “глобальная метка”? Что является значением любой метки?

18. Чем в языке С является глобальная метка?

19. Приведите пример использования локальной и глобальной меток.

20. Чем объявление функции отличается от её определения?

21. Что такое прототип функции и как он используется в однофайловых (одномодульных) и многофайловых (многомодульных программах)? Приведите примеры.

22. Пусть заданы три программных модуля, расположенные в одной папке:

//PROG1.CPP //PROG2.CPP //PROG3.CPP

main(){ #include <iostream.h> #include <iostream.h>

F1(); void F1(){ void F2(){

F2(); int a=2; int b=2;

return 0;} cout<<a<<endl;} cout<<b<<endl;}

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

23. Как можно избежать использования прототипов функций в одномодульных программах? Приведите пример.

24. В порядке возрастания перечислите первые 20 чисел в шестнадцатеричной системе счисления.

25. Что означает термин “машинный ноль” и как он используется?

26. Приведите примеры, характеризующие результаты расширения long<=int для чисел со знаком и без знака.

27. Приведите примеры, демонстрирующие результаты сокращения int<=long для чисел со знаком и без знака.

28. Что означает представление вещественных чисел в формате с плавающей запятой? Куда “плывет” запятая?

29. Что означают в формате с плавающей запятой термины “мантисса” и “порядок”? В чем заключается нормализованность мантиссы? Мантисса или порядок определяют знак вещественного числа?

30. Какие типы данных языка С обладают представлением с фиксированной запятой?

31. Что означает термин “указатель” и является ли указатель переменной?

32. Что означает термин “ссылка” и является ли ссылка переменной?

33. Что является значением указателя и ссылки?

34. Чем указатель отличается от ссылки?

35. В каких местах программного кода целесообразно использовать указатели и ссылки?

36. Что является значением имени массива?

37. Что является значением непосредственно заданной символьной строки, например, “Защитим наше сало и мед!”?

38. Операция индексации применима к указателям или к ссылкам?

39. Адреса загрузки каких переменных могут быть возвращены из функции?

40. Показать направления преобразования типов, которые гарантируют неизменность численного значения переменной.

41. Привести таблицы истинности для поразрядных логических операций &, |, ^ и ~.

42. Чем логический сдвиг вправо отличается от арифметического сдвига вправо?

43. Что означает термин “динамическая память”? В чем заключается её “динамичность”?

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

45. Что возвращает операция выделения динамической памяти new?

46. Разработать программу выделения памяти в динамической области под одномерный и двумерный массивы произвольного типа данных (код переписать из конспекта).

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

48. Что означает термин “системный стек”? Какие переменные располагаются в системном стеке?

49. Каков порядок заполнения переменными динамической памяти и системного стека?

50. За счет чего может возникнуть конфликт между динамической областью памяти и системным стеком?

51. Что возвратит операция new, если динамическая память “переполнена”?

52. Какими средствами диагностируется переполнение динамической памяти?

53. Чем оператор инициализации переменной отличается от оператора присваивания некоторого значения переменной?

54. Что является значением оператора присваивания?

55. Какая унарная операция позволяет установить байтность переменной любого типа?

56. Что означает термин “переполнение разрядной сетки вычислителя”, которое может произойти при выполнении арифметических операций?

57. Привести примеры сокращенных операторов присваивания.

58. В чем заключается ассоциативность выполнения операций? Привести примеры.

59. Какая информация о массиве может быть передана в функцию?

60. Если список параметров функции не пуст, то какая информация о переменных, массивах и структурах может быть передана функцию?

61. В рамках чего копию массива можно передать в функцию?

62. Какая информация может быть возвращена из любой функции?

63. Пусть имеет место следующий код:

int matrix1[ ][3]={{1,2,3}, {4,5,6}},

matrix2[ ][3]={{1,2,3},{4,5}},

matrix3[ ][3]={{1,2},{4}};

Какие значения приобретает каждая из матриц?

64. Чем указатель на void* отличается от любого другого указателя? Как применяется указатель на void*?

65. Чем создание файла отличается от открытия файла?

66. Прототип функции имеет вид:

size_t fread(void *ptr, size_t size, size_t n, FILE *stream);

Что передается в функцию через параметры void *ptr и FILE *stream?

Что означает тип данных size_t и какова его разрядность?

67. Чем режим использования файла “r+” отличается от режима применения файла “a+”?

68. Используя функцию fopen, открыть файл test.txt, расположенный на пути c:\aaa\box\rab\test.txt в режиме чтения.

69. Что такое файловый буфер? В каком режиме использования файлов необходимо учитывать состояние файлового буфера? Использование каких функций обеспечивает освобождение файлового буфера с потерей и без потери дескриптора файла?

70. В чем заключается отличие между текстовыми и бинарными файлами?

71. Какие функции библиотеки stdio поддерживают текстовый и бинарный ввод/вывод данных?

72. Что такое файловый указатель и какая функция обеспечивает установку файлового указателя?

73. Что означают термины “режим произвольного” и “режим последовательного” доступа к файлу?

74. Какими средствами достигается режим последовательного или произвольного доступа к файлу?

75. Какие существуют форматы текстового ввода/вывода, применяемые в функциях fprintf и fscanf для встроенных в язык С типов данных?

76. Предположим, имеет место программа, состоящая из двух модулей (файлов), которые разделяют (попеременно используют) общую переменную alfa. Как осуществить связь по данным между этими модулями, т.е. как объявить переменную в одном из модулей, и чем дополнить другой модуль, чтобы переменная alfa была доступна в каждом из них?

77. Язык С составляют 7 управляющих структур: одна структура следования, три структуры выбора и три структуры повторения. Нарисуйте блок-схему выполнения каждой из структур, использование которых характеризует язык программирования С как язык структурного программирования.

78. Представить целые десятичные числа со знаком –5432789 и +7854909 в ASCII-коде. Запись ASCII-кода заданных чисел выполнить в шестнадцатеричной системе счисления.

79. Предположим, имеет место код:

while(fgets(buffer,255,inFile)!=NULL)

fputs(buffer,outFile);

Перепишите этот код, используя структуру повторения типа for.

80. Предположим, имеет место код:

main()

{

int n=0;

for(int i=0;i<3;i++)

for(int j=0;j<3;j++)

for(int k=0;k<3;k++)

printf(“%5d. i=%d,j=%d,k=%d\n”,++n,i,j,k);

return 0;

}

Перепишите этот код, используя структуру повторения типа while.

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

82. Что означает термин “тип данных”?

83. Чем характеризуется составной тип и как он объявляется на языке С? Какие операции доступа к элементам составного типа данных существуют в С?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]