Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технология программирования / Технология программирования.docx
Скачиваний:
19
Добавлен:
09.02.2016
Размер:
103.24 Кб
Скачать

Int main (int argc, char *argv[]) ?

[a] обеспечить связь выполняемой программы с операционной системой и связь с командной строкой, через которую передается информация исполняемой программе.

[a] для передачи в программу всей информации об окружении, в котором выполняется программа

[a] обеспечить связь с командной строкой, из которой запускается программа

[a] обеспечить связь выполняемой программы с программистом

[a] обеспечить связь выполняемой программы с операционной системой

[q]3:1: Укажите правильный вариант использования оператора цикла для вычисления факториала числа N .

[a] for ( i=1, f=1; i <= N; f*=i, i++);

[a] for ( i=1, f=1; i < N; f*=i, i++);

[a] for ( i=1, f=1; i < N; f*=i, ++ i);

[a] for ( i=2, f=1; i < N; f*=i, i++);

[a] for ( i=1, f=1; i <= N; i++, f*=i);

[q]3:1: Укажите правильный вариант использования оператора цикла для вычисления степенного выражения 2N.

[a] for ( i=1, sum=1; i <= N; sum *= 2, i++);

[a] for ( i=0, sum =0; i < N; sum *= 2, i++);

[a] for ( i=0, sum =1; i < =N; sum *= 2, i++);

[a] for ( i=1, sum =1; i < N; sum *= 2, ++i);

[a] for ( i=1, sum =0; i <= N; sum *= 2, i++ );

[q]3:1: Какое значение имеет главная функция main() в программах на языке Си?

[a] для организации работы программы и определения всех необходимых программе ресурсов системы

[a] для контроля правильности работы программы и используемых ею ресурсов системы

[a] для управления алгоритмом работы программы

[a] для ввода исходных данных и вывода результатов работы программы

[a] для определения всех необходимых объектов программы и форматов данных результатов работы программы.

[q]3:1: Выбрать правильный вариант вычисления приближенного значения суммы s ряда с заданной точностью – EPS, при начальном значении s равном 0.

[a] i=1; do { y=1/i * (i+1); s=s+y; i++;} while (y < EPS);

[a] i=1; do { y=1/i (i+1); s=s+y; } while (y < EPS);

[a] do { y=1/i (i+1); s=s+y; } while (y< EPS);

[a] do { y=1/i * (i+1); s=s+y; } while (y> EPS);

[a] i=1; do { y=1/i * (i+1); s=s+y; } while (y> EPS);

[q]3:1: Выберите правильный вариант упорядочения массива по не возрастанию

[a] for ( i = 0; i < 19; i++)

for ( j = i+1; j < 20; j++)

if (ar[i]< ar[j]) {c=ar[i]; ar[i] = ar[j+1]; ar[j] =c; }

[a] for ( i = 0; i < 19; i++)

for ( j = 0; j < 20; j++)

if (ar[i] < ar[j]) {c=ar[i]; ar[i] = ar[j]; ar[j] =c; }

[a] for ( i = 0; i < 19; i++)

for ( j = i+1; j < 20; j++)

if (ar[i] < ar[j]) {c=ar[i]; ar[i] = ar[j]; ar[j] =c; }

[a] for ( i = 0; i < 19; i++)

for ( j = i+1; j < 19; j++)

if (ar[i] > ar[j]) {c=ar[i]; ar[i] = ar[j]; ar[j] =c; }

[a] for ( i = 0; i < 20; i++)

for ( j = i+1; j < 20; j++)

if (ar[i] > ar[j]) {c=ar[i]; ar[i] = ar[j]; ar[j] =c; }

[q]3:1: Какой метод сортировки применен в данном фрагменте программы?

int ar[20], i, k, buf;

for (i=0; i < 19; i++)

{ for ( k=0; k < 19; k++)

if (ar[k] > ar[k+1]) { buf = ar[k]; ar[k] = ar[k+1]; ar[k+1] = buf;}

}

[a] стандартный обмен (метод «пузырька»)

[a] челночная сортировка,

[a] линейная (простая) вставка.

[a] линейный выбор с обменом,

[a] линейный выбор

[q]3:1: В каком месте программы находится точка ее входа?

[a] в месте, где находится заголовок функции main()

[a] с функции main(), если в ней задаются параметры командной строки

[a] в месте, где находится главная функция программы main(), при условии, что она возвращает тип int.

[a] при первом вызове любой пользовательской функции программы

[a] при первом вызове любой стандартной функции

[q]3:1: Какая функция выводит на экран строку символов и переводит курсор в начало следующей строки экрана?

[a] puts();

[a] gets();

[a] printf(“%s”, …);

[a] putch();

[a] putchar();

[q]3:1: Какая функция вводит с клавиатуры строку символов, при этом, строка может содержать пробелы?

[a] gets();

[a] scanf (“%s”, …);

[a] puts();

[a] getch();

[a] getchar();

[q]3:1: Чем отличаются функции printf() и puts() при консольном выводе информации?

[a] после вывода информации функцией puts() происходит перевод курсора в начало следующей строки экрана, а после printf() - нет

[a] ничем не отличаются

[a] после вывода информации функцией printf() происходит перевод курсора в начало следующей строки экрана, а после puts() – нет

[a] после вывода информации обеими функциями происходит перевод курсора в начало следующей строки экрана

[a] после вывода информации обеими функциями не происходит перевод курсора в начало следующей строки

[q]3:1: Что собой представляет понятие «блок» в языке Си?

[a] блок – это набор операторов языка Си вместе с определением дополнительной локальной переменной, используемой в операторах блока

[a] блок – это набор любых операторов языка Си

[a] блок – это набор пользовательских функций с определениями локальных переменных блока

[a] блок – это синоним понятия «составной» оператор языка Си

[a] блок – это набор операторов, объединенных одним функциональным смыслом

[q]3:1: Какой формат записи должен иметь тернарный оператор условия ?

[a] переменная = (условие)? выражение1: выражение2;

[a] переменная = (условие)? выражение1; выражение2;

[a] переменная = if (условие)? выражение1; else выражение2;

[a] if (условие1) оператор1; else оператор2;

[a] if (условие1) оператор1; else if (условие2) оператор2; else оператор3;

[q]3:1: В каких случаях может произойти зацикливание при использовании оператора цикла с постусловием?

[a] в случаях, когда в теле цикла отсутствует оператор по изменению значения выражения постусловия

[a] в случаях, когда выражением постусловия будет оператор отношения

[a] в случаях, когда выражением постусловия будет логическое выражение

[a] в случаях, когда значение постусловия будет истинно

[a] в случаях, когда значением постусловия будет ложь

[q]3:1: В каком случае в функции scanf() не используется операция &?

[a] при сканировании массива символов, то есть при вводе строки

[a] при сканировании элемента массива символов

[a] при сканировании чисел типа double

[a] при сканировании одиночных символов

[a] при сканировании целых чисел

[q]3:1: В каких случаях может произойти зацикливание при использовании оператора цикла с предусловием?

[a] в случаях, когда в теле цикла отсутствует оператор по изменению значения выражения предусловия

[a] в случаях, когда выражением предусловия будет оператор отношения

[a] в случаях, когда выражением предусловия будет логическое выражение

[a] в случаях, когда значение предусловия будет истинно

[a] в случаях, когда значением предусловия будет ложь

[q]3:1: Какое различие в операторах цикла между префиксным и постфиксным инкрементированием параметра цикла?

[a] различия между префиксным и постфиксным инкрементированием параметра цикла нет

[a] различие между ними – в одном лишнем цикле

[a] различие между ними – в лишних двух циклах

[a] постфиксное инкрементирование уменьшает количество циклов на один

[a] префиксное инкрементирование увеличивает количество циклов на один.

[q]3:1: Пусть int ar[10]; Компилятор языка Си рассматривает ar - имя массива без индекса как:

[a] константный указатель, содержащий адрес первого байта первого элемента массива

[a] указатель на переменную типа int

[a] адрес первого элемента (элемента, имеющего нулевой индекс)

[a] константный указатель, содержащий адрес какого – либо элемента массива

[a] переменную типа int

[q]3:1: Какая из следующих функций записывает строку в файл?

[a] fputs()

[a] puts()

[a] fgets()

[a] fprintf();

[a] fscanf()

[q]3:1: Укажите операции, не разрешенные над структурами:

[a] суммирование двух структур

[a] копирование и присваивание структуры как целого

[a] взятие адреса структуры операцией &

[a] передача полей структуры функциям и передача целых структур функциям

[a] передача структуры как результат работы функции

[q]3:1: Задана переменная int *p; Какой из следующих вариантов выделения памяти в “куче” под массив размера n будет правильным?

[a] p = (int *)malloc(n * sizeof(int));

[a] p = (int )malloc(n * sizeof(int));

[a] p = (int *)calloc(n * sizeof(int));

[a] p = (int)calloc(n * sizeof(int));

[a] int p[n];

[q]3:1: Что произойдет, если в операторе switch после метки case не использовать оператор break?

[a] будет происходить выполнение операторов всех следующих вариантов, пока не появится оператор перехода break или не закончится оператор переключатель switch.

[a] будет происходить выполнение очередного оператора после метки case

[a] произойдет аварийный выход из переключателя

[a] будет определен следующий вариант в операторе switch

[a] не будет определен вариант в операторе switch

[q]3:1: Что произойдет, если в операторе switch не поставить метку default и условие переключения не совпадет ни с одной меткой после case.

[a] переключатель не выполнит никаких действий

[a] переключатель не выполнит никаких действий и произойдет его аварийное завершение

[a] выполняются операторы всех предыдущих вариантов

[a] выполнится только первый оператор

[a] произойдет альтернативный выбор, реализованный при помощи перехода exit() либо break.

[q]3:1: Если в качестве параметра функции используется имя массива с квадратными скобками, то фактически в функцию передается

[a] адрес первого байта первого элемента массива

[a] копия всего массива

[a] значение индекса первого элемента массива

[a] значение операции []

[a] значение операции индексирования первого элемента массива

[q]3:1: Для массива, передаваемого в функцию, обычно задается параметр, определяющий длину этого массива, а если передается строка, то в этом случае нет необходимости явно указывать ее длину. С помощью какого признака, в этом случае, определяется длина строки?

[a] с помощью признака ‘\o’

[a] с помощью признака ‘\n’

[a] с помощью признака ‘\t’

[a] с помощью точки в конце строки

[a] с помощью пробела в конце строки

[q]3:1: Что делает следующая функция, в качестве параметра которой задается строка -массив