игра брюс 2048
Главная / Программирование / Основы разработки программного обеспечения на примере языка С / Тест 4

Основы разработки программного обеспечения на примере языка С - тест 4

Упражнение 1:
Номер 1
В тексте программы задана следующая последовательность директив:

#include "stdafx.h"
#include <string.h>
#include "general/errors/errors.h"

Поиск какого файла будет вестись в стандартных каталогах включаемых библиотек? 

Ответ:

 (1) stdafx.h 

 (2) string.h 

 (3) errors.h 


Номер 2
В тексте программы задана следующая последовательность директив:

#include "stdafx.h"
#include <string.h>
#include "general/errors/errors.h"


Поиск какого файла будет вестись в каталоге, содержащем исходный файл? 

Ответ:

 (1) stdafx.h 

 (2) string.h 

 (3) errors.h 


Номер 3
В каком случае поиск заголовочного файла будет вестись в стандартных каталогах включаемых библиотек?

Ответ:

 (1) #include "stdafx.h" 

 (2) #include <string.h> 

 (3) #include "general/errors/errors.h" 


Упражнение 2:
Номер 1
В программе используется следующее определение: #define VERSION 1.0. Какие утверждения являются верными?

Ответ:

 (1) все вхождения имени VERSION будут заменяться на значение 1.0 

 (2) все вхождения значения 1.0 будут заменяться на строку VERSION 

 (3) переменной VERSION присвоено значение 1.0 


Номер 2
В программе используется следующее определение #define VERSION 1.0. Каково имя макроподстановки?

Ответ:

 (1) define 

 (2) VERSION 

 (3) 1.0 


Номер 3
В программе используется следующее определение #define VERSION 1.0. Каково значение текста макроподстановки?

Ответ:

 (1) define 

 (2) VERSION 

 (3) 1.0 


Упражнение 3:
Номер 1
Для чего используется директива #define?

Ответ:

 (1) для вставки текста из указанного файла 

 (2) для определения макросов 

 (3) для определения символьных констант 

 (4) для определения символов, управляющих условной компиляцией 


Номер 2
Для чего используется директива #include?

Ответ:

 (1) для вставки текста из указанного файла 

 (2) для определения макросов и символьных констант 

 (3) для осуществления условной компиляции 


Номер 3
Какая директива препроцессора используется для определения макросов и символьных констант?

Ответ:

 (1) #define 

 (2) #undef 

 (3) #include 


Упражнение 4:
Номер 1
В программе следующим образом задан макрос и обращение к нему:

#define sqr(x)	(x*x)
...
int i, y=2;
i = sqr(y+1);

Чему будет равно значение i после обращения к макросу? 

Ответ:

 (1)

 (2)

 (3)


Номер 2
Каким образом должен быть задан макрос sqr, чтобы в результате выполнения приведенного фрагмента кода значение переменной i было равно 9? 

int i, y=2;
i = sqr(y+1);


Ответ:

 (1) #define sqr(x) (x*x) 

 (2) #define sqr(x) ((x)*x) 

 (3) #define sqr(x) ((x)*(x)) 


Номер 3
В программе следующим образом задан макрос и обращение к нему:

#define sqr(x)	((x)*x))
...
int i, y=2;
i = sqr(y+1);

Чему будет равно значение i после обращения к макросу? 

Ответ:

 (1)

 (2)

 (3)


Упражнение 5:
Номер 1
Сколько стандартных потоков/файлов предусмотрено для ввода/вывода?

Ответ:

 (1) один - входной/выходной 

 (2) два - входной и выходной 

 (3) три - входной, выходной, поток ошибок 


Номер 2
Какой файл, связанные с терминалом пользователя, является входным файлом?

Ответ:

 (1) stdin 

 (2) stdout 

 (3) stderr 


Номер 3
Какой файл, связанные с терминалом пользователя, является выходным файлом?

Ответ:

 (1) stdin 

 (2) stdout 

 (3) stderr 


Упражнение 6:
Номер 1
Что будет находиться в переменной str после выполнения следующего кода, если пользователь введет строку "abc de"?

char str[100];
scanf("%s", str); 



Ответ:

 (1) символ "a" 

 (2) строка "abc" 

 (3) строка "abc de" 


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

char str[100];
scanf("%2s", str);



Ответ:

 (1) символ "a" 

 (2) строка "abc" 

 (3) строка "ab" 

 (4) строка "abc de" 


Номер 3
После выполнения какого фрагмента кода в переменной str будет находится строка "ab", если пользователь введет сроку "abc de"?

Ответ:

 (1) char str[100]; scanf("%s", str);  

 (2) char str[100]; scanf("%2s", str);  

 (3) char str[100], str1[100]; scanf("%s%s", str, str1);  


Упражнение 7:
Номер 1
Какая ошибка может возникнуть при выполнении следующих двух строк?

char c[30];
scanf("%s",c);


Ответ:

 (1) обращение к невыделенной памяти 

 (2) ошибка ввода недопустимых символов строки в массив 

 (3) код не будет выполнен, так как возникнет ошибка компиляции 


Номер 2
Что определяет значение переменной Count в приведенном коде?

int A, B, C, Count;
Count = scanf("%d%d%d", &A, &B, &C) ;


Ответ:

 (1) сколько параметров ввел пользователь с клавиатуры 

 (2) были ли введены только целые числа 

 (3) были ли введены целые числа в одну строку без пробелов 


Номер 3
При выполнении какого фрагмента кода может возникнуть ошибка обращения к невыделенной памяти?

Ответ:

 (1) char c[30]; scanf("%s",c);  

 (2) char c[30]; scanf("%30s",c);  

 (3) char c[30]; scanf("%29s",c);  


Упражнение 8:
Номер 1
Чем функция fgets отличается от функции scanf?

Ответ:

 (1) fgets читает строку до разделителя, scanf читает строку до символа конца строки 

 (2) fgets читает строку до символа конца строки, scanf читает строку до разделителя 

 (3) fgets требует иного формата ввода строки, нежели scanf 

 (4) для использования fgets необходимо подключить дополнительный заголовочный файл 


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

char str[100];
fgets(str, 99, stdin);

Ответ:

 (1) строка "abc de" 

 (2) строка "abc" 

 (3) символ "a" 


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

char str[4];
fgets(str, 3, stdin);


Ответ:

 (1) строка "abc de" 

 (2) строка "abc" 

 (3) символ "ab" 


Упражнение 9:
Номер 1
Для чего в Си используются .h файлы?

Ответ:

 (1) для описания прототипов процедур, пользовательских типов и констант 

 (2) для описания кода программного модуля 

 (3) для задания директив препроцессора, управляющих использованием модулей 


Номер 2
Есть ли в языке в Си собственные средства ввода/вывода?

Ответ:

 (1) да, есть минимальный набор средств, остальные функции доступны из библиотек 

 (2) нет, необходимо самостоятельно реализовывать эти функции 

 (3) нет, используются библиотеки 


Номер 3
Какие цели не подходят для использования .h файлов в языке Си?

Ответ:

 (1) для описания прототипов процедур, пользовательских типов и констант 

 (2) для описания кода программного модуля 

 (3) для задания директив препроцессора, управляющих использованием модулей 


Упражнение 10:
Номер 1
В каком случае выполняется чтение символа из потока?

Ответ:

 (1) char str[100]; fgets(str, 99, stdin);  

 (2) char ch; ch=getchar();  

 (3) char c[30]; scanf("%29s",c);  


Номер 2
В каком случае выполняется чтение строки из потока?

Ответ:

 (1) char str[100]; fgets(str, 99, stdin);  

 (2) char ch; ch=getchar();  

 (3) char c[30]; scanf("%29s",c);  


Номер 3
В каком случае выполняется форматированный ввод из потока?

Ответ:

 (1) char str[100]; fgets(str, 99, stdin);  

 (2) char ch; ch=getchar();  

 (3) char c[30]; scanf("%29s",c);  


Упражнение 11:
Номер 1
Что могут содержать заголовочные файлы?

Ответ:

 (1) определение типов 

 (2) реализацию функций 

 (3) директивы препроцессора 

 (4) пространства имен 


Номер 2
Для чего применяются директивы условной компиляции (#if, #ifdef, #ifndef)?

Ответ:

 (1) для вставки текста из указанного файла 

 (2) для исключения компиляции отдельных частей программы 

 (3) для выполнения действий, зависящих от конкретной реализации компилятора 


Номер 3
Какие директивы применяются для исключения компиляции отдельных частей программы?

Ответ:

 (1) #define 

 (2) #undef 

 (3) #if, #ifdef, #ifndef 


Упражнение 12:
Номер 1
Какие функции  обеспечивают выполнение форматных преобразований при выводе в файл?

Ответ:

 (1) printf 

 (2) fprintf 

 (3) sprintf 


Номер 2
Какие функции  производит преобразование в форму выходной строки (своего параметра)?

Ответ:

 (1) printf 

 (2) fprintf 

 (3) sprintf 


Номер 3
Каковы преимущества использования заголовочных файлов?

Ответ:

 (1) уменьшение необходимого количества разработчиков 

 (2) снижение количества ошибок в коде 

 (3) возможность распараллелить написание модулей большой системы между несколькими разработчиками 




Главная / Программирование / Основы разработки программного обеспечения на примере языка С / Тест 4