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

Сборник тестовых вопросов и задач по языку программирования Си. В 2 частях. Ч. 1. Практикум

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
31
1 Hello 1;
0 Hello 0;
«мусорное значение» Hello «мусорное значение»;
ничего из перечисленного.
23. Что будет выведено в результате выполнения следующей про-
граммы?
int main(void) { printf("%d ", 1.9); return 0; }
1.9;
1;
«мусорное значение»;
ничего из перечисленного.
24. Что будет выведено в результате выполнения следующей про-
граммы?
int main(void) { printf("%d ", (int)1.9); return 0; }
1.9;
1;
2;
«мусорное значение»;
ничего из перечисленного.
25. Что будет выведено в результате выполнения следующей про-
граммы?
int main(void) { printf("%f ", 10); return 0; }
32
0.000000;
10;
ошибка;
10.000000.
26. Что будет выведено в результате выполнения следующей про-
граммы?
int main(void) { printf("%f ",(float) 10); return 0; }
0.000000;
10;
ошибка;
10.000000.
27. Что будет выведено в результате выполнения следующей про-
граммы?
int main(void) { printf("%f ", float(10)); return 0; }
0.000000;
10;
ошибка;
10.000000.
28. Что будет выведено в результате выполнения следующей про-
граммы?
int main(void) { printf("%d+%d=%d ", 1, 2, 3); return 0; }
33
123;
1+2=3;
1+2=«мусорное значение»;
«мусорное значение»+ «мусорное значение»= «мусорное значение».
29. Что будет выведено в результате выполнения следующей про-
граммы?
int main(void) { printf("%d+%d=%d ", 1, 2); return 0; }
123;
1+2=3;
1+2=«мусорное значение»;
«мусорное значение»+ «мусорное значение»= «мусорное значение».
30. Что будет выведено в результате выполнения следующей про-
граммы?
int main(void) { printf("%d+%d=%d ", ’1’,’ 2’,’3’); return 0; }
49+50=51;
ошибка;
1+2=3;
«мусорное значение»+ «мусорное значение»= «мусорное значение».
ОТВЕТЫ К ВОПРОСАМ И ЗАДАЧАМ ТЕМЫ 3
1. Установите соответствие между стандартными потоками и их обо-
значениями:
стандартный поток ввода (stdin);
стандартный поток вывода (stdout);
34
стандартный поток ошибок (stderr);
стандартный последовательный порт (stdaux);
стандартное устройство печати (stdprn).
2. Укажите функции форматного ввода/вывода:
printf() и scanf().
3. В каком заголовочном файле определена функция форматного
ввода-вывода
stdio.h.
Для доступа к функциям библиотеки, реализующим операции ввода-вы­вода, используется заголовочный файл stdio.h. Название данного файла является акронимом словосочетания “STanDard Input/Output”.
4. Выберите правильное значение i из приведенных вариантов
i=scanf("%d %d", &a, &b):
2.
i сохраняет количество прочитанных данных из потока. Это полезно для обнаружения ошибки при вводе данных.
5. Что определяет форму, в которой выводится на экран значение пе-
ременной?
форматный спецификатор.
6. Что используется для обозначения спецификаторов в функциях
форматного ввода-вывода?
%.
7. Установите соответствие между вызовом функции scanf() и типом
ошибки или ее отсутствием для следующих типов данных:
scanf ( "%d%d", &a ) (Не заданы переменные для всех вводимых чисел);
scanf ( "%d%d", &a, &b, &c) (Не задан формат ввода для переменной c);
scanf ( "%f%f", &a, &b ) (Нельзя вводить целые переменные по веще-
ственному формату);
scanf("%с%d%f",&ch, &dc, &fl; (Ошибка отсутствует).
35
8. С каким типом аргументов работает функция scanf()?
адреса переменных.
scanf() использует адреса переменных, в то время как printf работает с пе-
ременными, константами и выражениями.
9. Что означает форматный спецификатор %-+7.2f для функции printf()?
спецификатор %-+7.2f: выравнивание выводимого значения по левому
краю;
выводимое значение как действительное; ширина поля вывода 7;
количество цифр после запятой 2.
10. Что выведет данная функция?
ничего не выведет.
scanf() для ввода использует адреса переменных, т.е. должно быть scanf("%d", &n).
11. Используя printf(), выведите на экран текст «Здравствуйте!» со сле-
дующим за ним переходом на новую строку.
printf("Здравствуйте!\n").
12. Используя printf(), выведите на экран значение вещественной пе-
ременной f1 со следующим за ним переходом на новую строку.
printf("%f",f1).
13. Используя printf(), выведите на экран значение вещественной пе-
ременной f2 c двумя знаками после запятой.
printf("%.2f",f2).
14. Используя printf(), выведите на экран значение вещественной пе-
ременной f3 в экспоненциальной форме.
printf("%e",f3).
15. Используя printf(), выведите на экран значение целой переменной
d1 в 5 позициях с ведущими нулями.
printf("%05d",d1).
36
16. Что будет выведено в результате выполнения следующей про-
граммы?
1.
17. Что будет выведено в результате выполнения следующей про-
граммы?
ошибка компиляции.
18. Переменная price вещественного типа используется для хранения
цены в рублях. Какой из вариантов printf() корректно отобразит ее значение
в стандартном денежном формате (например, 5.45 руб.)?
printf("Price: %f руб. ", price).
19. Какой фрагмент кода не содержит ошибок?
char answer, strCourseName[100];
printf("Какую лекцию Вы изучаете?\n ");
scanf("%s", strCourseName);
printf("Есть ли у вас вопросы по лекции\"%s\" (y/n)?\n", strCourseName);
scanf("%с", &answer);
20. Что будет выведено в результате выполнения следующей про-
граммы?
«Мусорное значение» Hello «мусорное значение».
21. Что будет выведено в результате выполнения следующей про-
граммы?
0.000000 Hello 0 .000000.
22. Что будет выведено в результате выполнения следующей про-
граммы?
«Мусорное значение» Hello «мусорное значение».
23. Что будет выведено в результате выполнения следующей про-
граммы?
«Мусорное значение».
37
24. Что будет выведено в результате выполнения следующей про-
граммы?
1.
25. Что будет выведено в результате выполнения следующей про-
граммы?
0.000000.
26. Что будет выведено в результате выполнения следующей про-
граммы?
10.000000.
27. Что будет выведено в результате выполнения следующей про-
граммы?
ошибка.
28. Что будет выведено в результате выполнения следующей про-
граммы?
1+2=3.
29. Что будет выведено в результате выполнения следующей про-
граммы?
1+2=«мусорное значение».
30. Что будет выведено в результате выполнения следующей про-
граммы?
49+50=51.
38
ТЕМА 4. ОПЕРАЦИИ И ВЫРАЖЕНИЯ
1. Какого типа скобки используются для изменения порядка выпол-
нения операторов?
квадратные скобки;
круглые скобки;
фигурные скобки.
2. Какие операторы являются битовыми?
&, |, ^
!, ], &, *
%, ^, *, @
3. Что используется для комбинирования операторов сравнения?
условная трехместная операция;
логические операции;
битовые операции.
4. Тип выражения может быть изменен за счет использования:
приоритетов;
операторов;
приведения типов.
5. Что используется для задания порядка вычисления операторов?
приоритеты;
операторы;
операнды.
6. Какая последовательность операций соответствует иерархии ариф-
метических операций в языке Cи?
* - / +
/ * + -
+ - / *
/ + * -
39
7. Какова иерархия групп операций в языке Cи:
1) сравнения;
2) арифметические;
3) логические;
4) присваивания?
4–2–1–3;
1–4–2–3;
2–1–3–4;
3–1–4–2.
8. Как называется комбинация операторов и операндов?
указателем;
функцией;
выражением;
другое.
9. Дана последовательность операторов:
int a=10, c=20, d=0;
printf ("%d %d %d", ++a, c||d, !d);
Что будет выведено на экран после ее выполнения?
11 1 0;
11 1 1;
11 0 1;
10 20 0;
10 0 1;
10 1 1.
10. Дана последовательность операторов:
int a=10,b=8, c=20, d=0;
printf (“%d %d %d”, a%b, c&&d,!c);
Что будет выведено на экран после ее выполнения?
1.25 20 0;
1 20 20;
40
2 0 0;
1.25 0;
2 0 1;
2 20 0.
11. Дана последовательность операторов:
int a=10, b=8, c=10, d=0;
printf (“%d %d”, a/b, c||d);
a-=b;
printf (“%d”, a);
Что будет выведено на экран после ее выполнения?
1.25 1 -2;
1 1 -2;
1.25 1 2;
1.25 0 2;
1 1 2;
12. Дана последовательность операторов:
int a=10,b=8, c=10, d=0;
printf (“%d %d”, a/b, c&&d);
a*=b;
printf (“%d”, a);
Что будет выведено на экран после ее выполнения?
1.25 10 10;
1.25 1 8;
1 0 80;
1 0 10.
13. Какие из операторов могут быть и унарным, и бинарным?
*
%
++
• ––
• –
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]