1. Полностью #### программа — это программа, код которой без каких-либо изменений может быть скомпилирован в программу, успешно выполняемую на широком разнообразии компьютерных систем.
+ переносимая
2. Какая команда выводит полный путь к текущей директории в ОС Linux:
- ls
+ pwd
- cd
3. Какие из фундаментальных типов С являются архитектурно-независимыми и имеют одинаковое представление на всех платформах:
- int
- insigned int
- float
- double
- long
- unsigned long
+ Никакие из перечисленных
4. Как называются базовые модули программы на языке С.
+ функции
5. Все устройства (HDD, DVD, USB и др.) в ОС Linux представлены в виде файлов, в каком каталоге они хранятся:
+ /dev;
- /mount;
- /srv;
- /etc
- /bin
6. Какая команда выводит список содержания директории /etc в ОС Linux:
- ls
- pwd
- pwd /etc
- cd /etc
- dir /etc
+ ls /etc
7. Укажите корректный вариант объявления массива:
- int array;
- int array[];
+ int array[3];
- int array[1..2]
8. Какая программа изменяет разрешения прав доступа к файлу в ОС Linux на суперпользовательские:
- chmod
- su
+ sudo
- chown
- chgrpsss
9. Укажите все правильные обьявление константного указателя:
- int* ptrcInt;
- const int* ptrcInt;
+ const int* ptrcInt;
- const* ptrcInt;
10. Какая команда создает директорию test в текущей директории в ОС Linux:
- mkdir /test
- newdir /test
+ mkdir ./test
- newdir /test
11. Каким символом обозначается новая строка.
+ \n
12. В Makefile, чтобы сделать отступ от левого края, какую клавишу нужно нажимать чтобы команды исполнились:
- Пробел
+ Tab
- Оба врианта верны
13. Если в программе имеется цепочка последовательных переходов (условных или безусловных), она заменяется на единственный переход, который ведет сразу в окончательный пункт назначения, минуя промежуточные переходы, это называется.
+ Перепрыгивание переходов
14. Чему равен x, если int x = (3, --x + 2):
- 3
+ не определено
- 4
- 2
15. При компиляции динамической библиотеки опция #### сообщает gcc о необходимости передать линковщику определенную опцию.
+ "-Wl"
16. При компиляции динамической библиотеки опция ####, указанная при компоновке, позволяет дополнить список каталогов, в которых будет выполняться поиск библиотек.
+ "-L"
17. В системе Linux наиболее популярны два командных интерпретатора - bash и ####, которые немного отличаются друг от друга.
+ tcsh
18. #### является встроенным компилятором в ОС Linux.
+ gcc
19. #### - это набор скомпонованных особым образом объектных файлов.
+ Библиотека
20. #### библиотека – это коллекция объектных файлов, которые присоединяются к исполняемой программе на этапе компиляции, во время линковки (в нашем случае линковшик это gcc), в результате программа включает в себя все необходимые функции, что делает её автономной, но увеличивает размер.
+ Статическая
21. Какую парадигму программирования представляет язык программирования C:
+ Процедурное программирование
- Функциональное программирование
- Объектно-ориентированное программирование
- Логическое программирование
22. Оптимизация допустима на любом этапе компиляции, однако, основная её часть происходит после #### и семантического анализа и перед генерацией кода.
+ синтаксического
23. Какой каталог нельзя использовать для распаковки исходников ядра Linux:
- "/usr/src"
- "/usr/src/kernel"
+ "/usr/src/linuxs"
24. Что означает следующее объявление: typedef int (* A)():
- объявляется тип, который представляет собой указатель на переменную типа int
+ объявляется тип, который представляет собой указатель на функцию, возвращающую значение типа int
- объявляется указатель на переменную A целого типа
- объявляется константный указатель на переменную A типа int
25. Какие из ниже перечисленных объявлений корректны:
+ int b[255];
- int c[];
- int d[*];
26. Какие команды конфигурации ядра работают в графическом режиме:
- make config
- make menuconfig
+ make xconfig
27. Команда uptime показывает:
- текущую нагрузку на систему и время работы последнего пользователя
- время работы компьютера с момента запуска
- количество зарегистрированных в системе пользователей, время их работы с момента входа и текущую нагрузку на систему
+ количество зарегистрированных пользователей, время работы системы с момента последней загрузки и текущую нагрузку на систему
28. Использование дискового пространства можно узнать командой:
- show disks
+ df
- free
- ud
29. Чем определяется мобильность языка С:
- тем, что программа, написанная на С для одной вычислительной системы, может быть перенесена без изменений на другую систему другую систему
+ тем, что программа, написанная на С для одной вычислительной системы, может быть перенесена с небольшими изменениями или вообще без них на другую систему
- мобильность языка С определяется его эффективностью
30. Чем обеспечивается надежность программ, написанных на языке С:
- гибкостью языка С
- переносимостью языка С
- мобильностью языка С
+ сильной типизацией языка С
31. Какого типа язык С:
+ компилируемого
- интерпретируемого
- компилируемо-интерпретируемого
- интерпретируемого-компилируемого
32. Есть ли у языка С собственный редактор:
- Да
+ Нет
- только в OC UNIX
- только в OC WINDOWS
33. Где, когда и кем был создан язык С:
- язык С был создан Н. Виртом
- язык С был создан С. Бьерном
+ язык С был создан в США в 1972 году сотрудником фирмы Bell Labs Денисом Ритчи
- язык С был создан в Японии в 1972 году группой разработчиков фирмы Panasonic под руководством Кена Томпсона
34. Компилятор может быть:
- отдельной утилитой, запускаемой из командной строки
- частью интегрированной среды разработчика
+ оба ответа верны
35. Чему будет равно значение x, если int x = (3, --x + 2):
- 3
+ Не определено
- 4
- 2
36. Правило (цель) #### предназначено для «очистки» проекта, приведения его к такому состоянию, в каком он был до команды make.
+ clean
37. Что означает уровень оптимизации Os в GCC:
- включены оптимизации для уменьшения размера бинарного исполняемого файла и такие оптимизации, уменьшающие время работы программы, которые не сильно замедляют работу компилятора
+ служит для оптимизации размера программ, в него включено подмножество оптимизаций из уровня O2
- включены практически все доступные оптимизации, кроме тех, что ускоряют вычисления за счет увеличения размера кода
- включает все оптимизации уровня O3, а также ряд других, таких как использование более быстрых и менее точных математических функций
38. Укажите объявления переменных целого типа:
+ int i;
- double d;
- float f;
39. Расставьте работу программы GCC в правильном порядке:=
Препроцессор включает в основной файл содержимое всех заголовочных файлов = 1
Компиляция = 2
Компоновка = 3
40. Если библиотечный файл имеет расширение *.a, то это #### библиотека.
+ статическая
41. ### — это переменная (или в общем случае объект данных), значением которой является адрес в памяти.
+ Указатель
42. Операция взятия адреса:
+ &
- *
- #
- $
43. Как будет выглядеть объявление указателя на целочисленную переменную:
- pointer ptr;
+ int * pi;
- char * рс;
- float * pf, * pg;
44. В Makefile в правиле clean стоит команда rm, удаляющая исполняемый и объектные файлы, флаг #### означает, что, если удаляемый файл отсутствует, программа должна это проигнорировать, не выдавая никаких сообщений.
+ "-f"
45. Если библиотечный файл имеет расширение *.so, то это #### библиотека.
+ динамическая
46. Как объявить переменную "a", являющуюся указателем на константный указатель типа "T":
- этого сделать нельзя
- const Ta;
- const T **a;
+ T const a;
- const T const a;
47. Какие ключевые слова входят в конструкцию условного перехода (conditional statement):
- unless
- then
+ else
- return
48. Перечислите допустимые идентификаторы переменных в С:
+ Return
- 1return
- return
49. Выберите правильное объявление функции, у которой аргумент массив int Array10:
+ void func(int argument[][20]);
- void func(int argument[][]);
- void func(int * argument);
- void func(int ** argument);
- void func(int &argument);
50. Что из перечисленного не является оператором перехода:
- return
+ else
- continue
- goto
- break
51. Какой тип данных в С из нижеперечисленных имеет диапозон значений от 0 до 255:
+ unsigned char
- char
- short
- unsigned short
52. Какая библиотека по умолчанию включается в запускаемый файл при компоновке программы компилятором GCC:
- libm
- libGL
- libgtk
+ libc
53. Выберите все правильные утверждения для следующих типов 1) const int * 2) int const * 3) int * const:
- второй тип означает константный указатель на объект типа int
- третий тип идентичен второму
- третий тип означает константный указатель на константу типа int
- все три типа индентичны
- первый тип означает константный указатель на объект типа int
+ первый тип означает указатель на константу типа int
54. Чему равно значения выражения (x =0; --x ? --x : ++x):
- "0"
- "1"
+ "-2"
- "не определено"
55. При возникновении ошибки или по достижении признака окончания файла – значение ####.
+ EOF
56. Что означает флаг "-c" используемый при вызове GCC:
+ Только компиляция, из исходных файлов программы создаются объектные файлы в виде name.o, компоновка не производится
- Поместить в объектный или исполняемый файл отладочную информацию для отладчика gdb
- Вывод сообщений о всех предупреждениях или ошибках, возникающих во время компиляции программы
57. "gcc -o project *.o -L../library -lmy -Wl,-rpath,../library" соотнесите аргументы :=
"-Wl" = обращение к линковщику
"-rpath" = опция линковщика
"../library/" = значение опции
58. Для обновления утилиты bleachbit необходимо ввести команду:
+ sudo apt-get upgrade bleachbit
- sudo aptget upgrade bleachbit
- sudo apt-get update bleachbit
- sudo aptget upgrade bleachbit
59. Какие арифметические операции допустимы в языке С над указателями:
- Деление
+ Суммирование
- Умножение
60. Вычислите следующие выражение 3 | 6, предположите, что значение имеет 8 битов.
+ 7
61. Сопоставьте следующие выражения, предположите, что каждое значение имеет 8 битов:=
О = 255
!О = 1
2 & 4 = 0
2 && 4 = 1
2 | 4 = 6
2 || 4 = 1
5 << 3 = 40
62. #### — это два или большее количество операторов, сгруппированных вместе путем помещения их в фигурные скобки, его также называют блоком.
+ Составной оператор
63. Сопоставьте:=
Оператор объявления = int toes
Оператор присваивания = toes = 12
Оператор вызова функции = printf("%d\n", toes)
Структурированный оператор = while (toes < 20) toes = toes + 2
Оператор возврата = return 0
64. Существуют два вида буферизации — полностью буферированный ввод-вывод и #### буферизированный ввод-вывод.
+ построчно
65. #### — это область памяти, в которой хранится информация, обычно размещается в постоянной памяти определенного вида.
+ Файл
66. Предположим, что имеется следующее объявление многомерного массива указателей int zippo[4][2] (сопоставьте):=
zippo = адрес первого элемента длиной в два значения int
zippo+2 = адрес третьего элемента длиной в два значения int
*(zippo+2) = третий элемент, представляющий собой массив из двух int, следовательно, это адрес его первого элемента, т.е. значения int
*(zippo+2) + 1 = адрес второго элемента в массиве из двух int, также значение int
*(*(zippo+2) + 1) = значение второго int в третьей строке (zippo[2] [1])
67. Предположим, что есть следующие объявления int *pt; int (*ра)[3]; int arl[2][3]; int ar2[3][2]; int **р2; :=
pt = &arl[О][О]; = оба - указатели на int
pt = &arl[О]; = оба - указатели на int
pt = arl; = недопустимо
ра = arl; = оба - указатели на int[3]
ра = ar2; = недопустимо
pt = &pt; = оба - указатели на int
*р2 = ar2[О]; = оба - указатели на int
р2 = ar2; = недопустимо
68. Предположим, что имеются следующие объявления float rootbeer[10], things[10][5], *pf, value = 2.2; int i = 3; укажите, какие из приведенных ниже операторов допустимы, а какие - нет :=
rootbeer[2] = value; = Допустим
scanf("%f", &rootbeer); = Недопустим
rootbeer = value; = Недопустим
printf ("%f", rootbeer); = Недопустим
things[4][4] = rootbeer[3] ; = Допустим
things[5] = rootbeer; = Недопустим
pf = rootbeer; = Допустим
69. В процессе компоновки программы можно отдельно указать каталог, где будет размещаться библиотека, для этого линковщику ld необходимо передать опцию #### при помощи опции -Wl компилятора gcc.
+ "-rpath"
70. Библиотека С предоставляет несколько функций обработки строк; в ANSIС прототипы этих функций содержатся в заголовочном файле ####, пример с наиболее полезными и распространенными функциями strlen(), strcat(), strncat(), strcmp(), strncmp(), strcpy() и strncpy().
+ string.h
71. В действительности gcc вызывает компоновщик #### с опциями для создания совместно используемой библиотеки.
+ ld
72. В языке С #### — это последовательность значений типа char, завершающаяся нулевым символом, '\О'.
+ строка
73. Для копирования файлов в ОС Linux используется команда:
- mkfile
- copy
+ cp
74. Какие клавиши используются для сохранения файла в консольном редакторе Nano:
- Ctrl + S
+ ^O
- Enter
- ^S
75. В о время выполнения программы можно выделять дополнительную память, основным инструментом является функция ####, которая принимает один аргумент, нужное количество байтов памяти, затем эта функция ищет подходящий блок свободной памяти.
+ malloc()
76. Объем статической памяти фиксируется во время компиляции, он не изменяется на протяжении выполнения программы, объем памяти, используемой для автоматических переменных, растет и убывает автоматически по мере выполнения программы, однако, если вы забудете вызывать функцию ####, то объем выделенной памяти будет только расти.
+ free()
77. Квалификатор #### сообщает компилятору, что переменная может иметь значение, которое изменяется действиями, внешними по отношению к программе, он обычно указывается ддя аппаратных адресов и для данных, которые совместно используются с другими про граммами или потоками, выполняющимися одновременно.
+ volatile
78. Ключевое слово #### расширяет вычислительную подлержку, выдавая компилятору разрешение на оптимизацию определенных разновидностей кода оно может быть применено только к указателям и сообщает о том, что тот или иной указатель представляет собой единственное первичное средство доступа к объекту данных.
+ restrict
79. Строки режима для fopen():=
"r" = Открыть текстовый файл для чтения
"w" = Открыть текстовый файл для записи с усечением существующего файла до нулевой длины или созданием файла, если он не существует
"a" = Открыть текстовый файл для записи с добавлением данных в конец существующего файла и ли созданием файла, если он не существует
80. Функция #### позволяет трактовать файл подобно массиву и переходить непосредственно к любому байту в файле, открытом с помощью fopen().
+ fseek()
81. Иногда удобно, чтобы одна структура содержала другую структуру, которая называется ####.
+ вложенной
82. В стандарте #### предлагается новое средство, которое называется членом типа гибкого массива, оно позволяет объявлять структуру, последний член в которой является массивом со специальными свойствами.
+ С99
83. #### структура — это член структуры, который является неименованной структурой.
+ Анонимная
84. #### — это тип, который позволяет хранить данные разных типов в одном и том же месте памяти (но не одновременно).
+ Объединение
85. Перечислимый тип можно использовать для объявления символических имен, представляющих целочисленные константы, ключевое слово #### позволяет создать новый “тип” и указать значения, которые для него допускаются.
+ enum
86. Термин #### в языке С применяется для идентификации частей программы, в которых распознается то или иное имя.
+ пространство имен
87. Сопоставьте Модификатор и его описание:=
* = обозначает указатель
() = обозначает функцию
[] = обозначает массив
88. Сопоставьте:=
Имя функции, используемое в объявлении прототипа = int соmp(int х, int у);
Имя функции, используемое в вызове функции = status = соmp( q, r)
Имя функции, используемое в определении функции = int сотр(intx, inty) { ...
Имя функции, используемое в качестве указателя при присваивании = pfunct = соmp;
Имя функции, используемое в качестве аргумента типа указателя = slowsort(arr,n,соmp)
89. Что означает опция "r" в архиваторе ar:
+ создает архив, а также добавляет или заменяет файлы в существующем архиве, предписывает заменять старые версии объектных файлов новыми, что необходимо для переупаковки библиотеки
- x извлекает файлы из архива
- позволяет создать статическую библиотеку, если та еще не существует
- включает режим подробных сообщений
90. Средства выравнивания #### по своей природе больше ориентированы на манипулирование байтами, чем битами, но они также отражают возможность языка С иметь дело с оборудованием.
+ С11
91. Предположим, что вы определили константу LIMIT как имеющую значение 20, и затем в том же файле определили ее снова, но уже со значением 25, такой процесс называется ####.
+ переопределением константы
92. Сопоставьте:=
#include = поиск в системных каталогах
#include "hot.h" = поиск в текущем рабочем каталоге
93. #### позволяет выполнить подготовительные действия перед компиляцией, указывая необходимые подстановки, выбирая строки кода, подлежащие компиляции, а также устанавливая другие аспекты поведения компилятора.
+ Препроцессор
94. #### — это список, обладающий двумя особыми свойствами, во-первых, новые элементы могут добавляться только в конец списка, во-вторых, элементы мотут удаляться только из начала списка.
+ Очередь
95. Сопоставьте макросы в errno.h и их описание:=
EDOM = Ошибка предметной области в вызове функции (аргумент вышел за допустимые пределы)
ERANGE = Ошибка диапазона возвращаемого значения функции (возвращаемое значение вышло за пределы допустимого диапазона)
EILSEQ = Ошибка трансляции широких символов
96. Сопоставьте макросы категорий и их описание:=
NULL = Оставляет локальную установку неизмененной и возвращает указатель на текущую локальную установку
LC_ALL = Изменяет все локальные значения
LC_COLLATE = Изменяет локальные значения последовательности сопоставления, используемой strcoll() и strxfrm()
LC_СТYPE = Изменяет локальные значения, применяемые символьными функциями и многобайтными функциями
97. Какая команда выведет количество строчек в файле "lab.txt":
+ "wc -l lab.txt"
- "strc lab.txt"
- "cat -str lab.txt"
- "count -str lab.txt"
98. Для чего нужна утилита grep:
+ Для работы с регулярными выражениями
- Для сортировки содержимого файла
- Для перемещения файла
- Для архивации файла
99. Что такое монтирование в OC Linux:
- Слияние файла
- Конвертирование файла в формат mnt
+ Временное подключение файловой системы
- Профилактическое обслуживание диска
100. В языке С функции разрешено вызывать саму себя, этот процесс называется.
+ рекурсией
101. Вычитание указателей друг из друга определено только если:
+ оба указателя указывают на элементы одного и того же массива
- оба указателя одного типа
- оба указателя типа int
102. Makefile является списком правил, каждое правило начинается с указателя, называемого «####».
+ целью |