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

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

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
131
24. Установите соответствие между началом предложения и его за-
вершением:
Если структуры объявлена
то в любом месте программы можно создавать объекты данного типа таким же образом, как
создаются объекты любого другого типа
Список определений состоит
из имен переменных указанного типа, перечисленных через запятую
Поля структуры могут
иметь любой тип, кроме типа этой же структуры
В описании структуры
допускается
опускать имя_типа при условии, что присутствует список определений
Если список определений
отсутствует
то описание структуры представляет собой
объявление, но не определение данных, и память ни под какие переменные не выделяется
25. Установите соответствие между номером строки и ее содержимым
в синтаксисе структуры:
1.
struct [имя типа]
2.
{
3.
тип_1 имя_поля_1;
4.
тип_2 имя_поля_2;
5.
...
6.
тип_n имя_поля_n;
7.
}[список определений];
26. Как осуществить доступ к элементам массива структур?
a[0].age; a[1].name; a[0].sex.
27. Может ли функция входить в структуру?
нет.
28. Какие данные объединяет структура?
последовательность именованных полей различных или одинаковых типов.
29. Как обратиться к полям структуры student?
student.id.
30. Какие из следующих высказываний верны?
все поля объединения располагаются по одному и тому же адресу;
объединение представляет собой частный случай структуры;
формат описания объединения такой же, как у структуры, но используется
ключевое слово union.
132
ТЕМА 12. РАБОТА С ФАЙЛАМИ
1. Какую из функций безопасно использовать?
gets();
fgets().
2. Какие файлы будут закрыты с помощью функции fclose() в следу-
ющей программе?
#include<stdio.h>
int main()
{
FILE *fs, *ft, *fp;
fp = fopen("A.C", "r");
fs = fopen("B.C", "r");
ft = fopen("C.C", "r");
fclose(fp, fs, ft);
return 0;
}
ошибка в fclose();
A.C;
B.C, C.C;
A.C, B.C, C.C.
3. Какие из следующих операций выполнятся над файлом "data.txt"
с помощью приведенного кода?
FILE *fp;
fp = fopen("data.txt", "r+");
чтение и запись;
добавление;
запись;
чтение.
133
4. Что означает fp в программе?
int main()
{
FILE *fp;
fp=fopen("data.txt", "r");
return 0;
}
последний символ в файле;
имя файла;
структура, содержащая указатель char, который указывает на первый
символ файла;
первый символ в файле.
5. Каково назначение "rb" в функции fopen(), используемой ниже
в коде?
FILE *fp;
fp = fopen("data.txt", "rb");
создать новый файл "data.txt" для чтения и записи;
открыть "data.txt" в двоичном режиме для чтения и записи;
открыть "data.txt" в двоичном режиме для чтения.
6. Какими функциями можно записать строку в стандартный поток
вывода stdout?
puts();
fputs();
gets();
fgets().
7. Какими функциями можно прочитать строку из входного потока?
puts( );
fputs( );
gets( );
fgets( ).
134
8. Каково назначение потоковой функции fwrite( )?
записывает форматированные данные в поток;
записывает блок данных в поток;
закрывает поток;
читает блок данных из потока.
9. Какие функции объявляются в заголовочном файле <string.h>?
функции для вызова системных параметров времени;
функции для манипулирования байтовым потоком;
функции для манипулирования символьными строками.
10. Каково назначение функции fseek( )?
открывает поток для чтения;
повторно использует указатель потока для ссылки на новый файл;
открывает потоковый файл с указанным дескриптором;
перемещает указатель чтения или записи в потоке.
11. Файл открыт командой s = fopen (“f.txt”, ”r”). Какой командой сле-
дует закрыть этот файл?
fclose(s,”r”);
fclose(f);
fclose(“f.txt”);
fclose(s);
12. Дана команда s = fopen(“data.txt”, ”w”). Какой тип имеет пере-
менная s?
FILE
FILE *
struct
int *
13. Если по какой-либо причине файл не может быть открыт, то функ-
ция fopen возвращает значение:
EOF;
NULL;
FALSE;
TRUE.
135
14. Предположим, что открыт текстовый файл. Что выполняет сле-
дующий код?
do
{
ch=fgetc(fp);
}
while(ch!=EOF)
посимвольно записывает символы в файл;
посимвольно читает файл;
построчно читает файл;
находит позицию заданного символа в файле.
15. Какое высказывание является верным для функции fgets, имеющей
прототип char*fgets(char*str, intlength, FILE *fp) ?
возвращает указатель на считанную строку, если только количество про-
читанных символов intlength-1;
возвращает указатель NULL, если количество прочитанных символов
меньше intlength;
возвращает указатель на считанную строку, если чтение было успешным,
или указатель NULL, если произошла ошибка.
16. Дан код:
FILE *fp1, *fp2
fp1=fopen(“data.txt”,”r”);
fp2=fopen(“data.txt”,”w”);
char ch;
fscanf(fp1, "%c", ___); //чтение символа из файла
fprintf(fp2, "%c", ch); //запись символа в файл
Добавьте недостающий аргумент в вызов функции fscanf(fp1, "%c", ___);
17. При помощи какого режима можно открыть бинарный файл для
чтения и записи в режиме добавления?
a;
a+b;
136
w+b;
rb;
ab.
18. При помощи какого режима можно открыть бинарный файл для
чтения?
r;
r+b;
rb;
w+b;
ab.
19. В каком режиме следует открыть файл, чтобы подсчитать число
символов табуляции в файле?
бинарном;
текстовом;
комбинированном.
20. Дан файл, в котором содержатся пять символов перевода на новую
строку. При открытии файла в текстовом режиме выполнен подсчет коли­чества содержащихся в нем символов перевода строки. Что будет получено в результате?
5;
52;
0;
будет выдано сообщение об ошибке.
21. Что выполняет функция feof()?
возвращает значение, отличное от 0, если достигнут конец файла;
возвращает значение, отличное от 0, если не достигнут конец файла;
возвращает значение, отличное от 0, если произошла ошибка чтения или
записи;
возвращает значение 0, если произошла ошибка чтения или записи.
137
22. Что выполняет функция ferror()?
возвращает значение, отличное от 0, если достигнут конец файла;
возвращает значение, отличное от 0, если не достигнут конец файла;
возвращает значение, отличное от 0, если произошла ошибка чтения или
записи;
возвращает значение 0, если произошла ошибка чтения или записи.
23. Что будет выведено на экран в результате работы следующей
программы при условии, что в файле demo1.txt содержится фраза "you are a good programmer"?
int main(){
FILE *fp;
char str[20];
if((fp=fopen("demo1.txt","r"))==NULL) printf("File not exist");
while(fgets(str,6,fp)!=NULL)
puts(str);
fclose(fp);
return 0;
}
you a
re a
good
progr
ammer;
you a;
you are a good programmer;
возникнет ошибка компиляции.
24. Что будет выведено на экран в результате работы следующей
программы при условии, что в файле demo1.txt содержится фраза "you are a good programmer"?
int main(){
char c;
FILE *fp;
138
fp=fopen("demo.txt","r");
while((c=fgetc(fp))!=EOF)
printf("%c",c);
fclose(fp);
return 0; }
you a
re a
good
progr
ammer;
you a;
you are a good programmer.
25. Что будет выведено на экран в результате работы следующей
программы при условии, что в файле demo1.txt содержится фраза "you are a good programmer"?
int main(){
char c;
FILE *fp;
fp=fopen("demo1.txt","a+");
fprintf(fp,"demo");
fclose(fp);
fp=fopen("demo1.txt","r");
while((c=fgetc(fp))!=EOF)
printf("%c",c);
fclose(fp);
return 0; }
you are a good programmer demo;
demo you are a good programmer;
you are a good programmer;
you are a good programmerdemo.
139
26. Что будет выведено на экран в результате работы следующей
программы?
int main()
{
int EOF = 0;
printf("%d", EOF);
return 0;
}
ошибка компиляции;
-1;
1;
0.
27. Что будет выведено на экран в результате работы следующей
программы?
int main()
{
printf("%d", EOF);
return 0;
}
ошибка компиляции;
-1;
1;
0.
28. Что будет выведено на экран в результате работы следующей
программы?
int main() {
EOF++;
printf("%d", EOF);
return 0; }
ошибка компиляции;
-1;
1;
0.
140
29. Что выполняет следующая программа?
int main (void)
{
char a[100];
FILE *GT;
GT=fopen("C:\\Lang\\bc_31\\bin\\GTR.txt","r");
if (GT==NULL)
{
printf("Errors,files not opened");
}
else
{
while(fgets(a,100,GT)!=NULL)
puts(a);
}
return 0;
}
считывание из файла построчно;
считывание из файла посимвольно;
запись в файл построчно;
запись в файл посимвольно.
30. В каком режиме необходимо открыть файл для дозаписи в него ,
а не для его повторного создания?
a;
r;
w;
w+.
ОТВЕТЫ К ВОПРОСАМ И ЗАДАЧАМ ТЕМЫ 12
1. Какую из функций безопасно использовать?
fgets.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]