игра брюс 2048
Главная / Программирование / Структуры и алгоритмы компьютерной обработки данных / Тест 9

Структуры и алгоритмы компьютерной обработки данных - тест 9

Упражнение 1:
Номер 1
Укажите пример некорректной инициализации строки

Ответ:

 (1) char text[]="Язык программирования"; 

 (2) char text[]={"Язык", "программирования"}; 

 (3) char text[]='Язык программирования'; 

 (4) char text[5]="Язык программирования"; 


Номер 2
Укажите пример корректной инициализации строки

Ответ:

 (1) char text[100]="Редактор"; 

 (2) char text[]={'Р','е','д','а','к','т','о','р','\0'}; 

 (3) char text[]={"Р","е","д","а","к","т","о","р","\0"}; 

 (4) char text[100]='Редактор'; 


Номер 3
Укажите пример некорректной инициализации строки

Ответ:

 (1) char text[]={'Р','е','д','а','к','т','о','р'}; 

 (2) char text[]={'Р','е','д','а','к','т','о','р','\0'}; 

 (3) char text[8]={'Р','е','д','а','к','т','о','р','\0'}; 

 (4) char text[]={"Р","е","д","а","к","т","о","р","\0"}; 


Упражнение 2:
Номер 1
Укажите длину строки char text[]={'Р','е','д','а','к','т','о','р','\0'};

Ответ:

 (1) длина не определена 

 (2) 10 

 (3)

 (4)


Номер 2
Укажите в байтах объем памяти, выделяемой под строку char text[]="Программа";

Ответ:

 (1)

 (2) 10 

 (3) 11 

 (4) объем не определен 


Номер 3
Укажите длину строки char text[]="Программа";

Ответ:

 (1)

 (2) 10 

 (3) 11 

 (4) длина не определена 


Упражнение 3:
Номер 1
Укажите результат выполнения функции сравнения строк в приведенном фрагменте кода (элементы строки – символы латинского алфавита):
		
char ch[]="abcd",sh[]="abc";
int i;
i=strcmp(ch,sh);
printf ("%d",i);
		
		

Ответ:

 (1)

 (2)

 (3) -1 

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


Номер 2
Укажите результат выполнения функции сравнения строк в приведенном фрагменте кода (элементы строки – символы латинского алфавита):
		
char ch[]="aacd",sh[]="abc";
int i;
i=strcmp(ch,sh);
printf ("%d",i);
		
		

Ответ:

 (1)

 (2)

 (3) -1 

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


Номер 3
Укажите результат выполнения функции сравнения строк в приведенном фрагменте кода (элементы строки – символы латинского алфавита):
		
char ch[]="abd",sh[]="abc";
int i;
i=strcmp(ch,sh);
printf ("%d",i);
		
		

Ответ:

 (1)

 (2)

 (3) -1 

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


Упражнение 4:
Номер 1
В каких строках будут выведены одинаковые результаты, если ранее выполнены следующие инициализации:
		
char ch[]="abd",*pch;
pch=ch;
		
		

Ответ:

 (1) printf ("%p %p\n",&ch,&pch); 

 (2) printf ("%p %p\n",ch,pch);  

 (3) printf ("%s %s\n",ch,pch); 

 (4) printf ("%p %p\n",&ch,pch); 


Номер 2
В каких строках будут выведены разные результаты, если ранее выполнены следующие инициализации:
		
char ch[]="abd",*pch;
pch=ch;
		
		

Ответ:

 (1) printf ("%p %p\n",&pch,pch); 

 (2) printf ("%p %p\n",&ch,ch); 

 (3) printf ("%s %s\n",&ch,ch); 

 (4) printf ("%p %p\n",&ch,pch); 


Номер 3
В каких строках будут выведены одинаковые результаты, если ранее выполнены следующие инициализации:
		
char ch[]="abd",*pch;
pch=ch;
		
		

Ответ:

 (1) printf ("%p %s\n",&pch,pch); 

 (2) printf ("%p %s\n",&ch,ch); 

 (3) printf ("%s %s\n",pch,&ch); 

 (4) printf ("%p %p\n",pch,&ch); 


Упражнение 5:
Номер 1
Какие действия со строками происходят в ходе выполнения фрагмента кода:
		
char * str (char *s1, char *s2){
  char *ps1 = s1;
  while ((*s1++ = *s2++) != 0);
  return ps1; 
}
		
		

Ответ:

 (1) из строки s1 удаляются все вхождения строки s2 

 (2) происходит сравнение строк 

 (3) содержимое строки s2 побайтово копируется в строку s1 

 (4) содержимое строки s1 побайтово копируется в строку s2 


Номер 2
Какие действия со строками происходят в ходе выполнения фрагмента кода:
		
char * str (char *s1, char *s2) {
  char *p1, *p2;
  p1 = s1; p2 = s2;
  while ( *p1) p1++;
  while ((*p1++ = *p2++) != 0);
  return s1;
}
		
		

Ответ:

 (1) из строки s1 удаляются все вхождения строки s2 

 (2) конкатенация строк s1 и s2 с сохранением результата в s1 

 (3) содержимое строки s2 побайтово копируется в строку s1 

 (4) содержимое строки s1 побайтово копируется в строку s2 


Номер 3
Какие действия со строками происходят в ходе выполнения фрагмента кода:
		
char * str (char *s) {
int i;
char *p;
  for(i=0; s[i] && s[i]==' '; i++);
  p = &s[i];
  return p;
}
		
		

Ответ:

 (1) из строки s удаляются все левые пробелы 

 (2) из строки s удаляются все правые пробелы 

 (3) к строке s добавляются слева пробелы 

 (4) вычисляется длина строки 


Упражнение 6:
Номер 1
Укажите действия, эквивалентные по значению следующей инициализации: char c='\0';

Ответ:

 (1) char c="0"; 

 (2) char c=0; 

 (3) char c='\n'; 

 (4) char c='\x000'; 


Номер 2
Укажите действия, эквивалентные по значению следующей инициализации: char c='\x000';

Ответ:

 (1) char c="0"; 

 (2) char c='0'; 

 (3) char c='\0'; 

 (4) char c=0; 


Номер 3
Укажите действия, эквивалентные по значению следующей инициализации: char c=0;

Ответ:

 (1) char c="0"; 

 (2) char c='0'; 

 (3) char c[]={'0'}; 

 (4) char c='\0'; 


Упражнение 7:
Номер 1
Укажите корректные способы конкатенации строк s1 и s2 в строку s3. Считать, что размер s3 позволяет выполнить это действие.

Ответ:

 (1) s3=s1+s2; 

 (2) s3=s1; s3=s3+s2; 

 (3) s3= strcat(s1,s2); 

 (4) *s3=*s1+*s2 


Номер 2
Укажите корректное усечение начала строки s на n символов и вывод результата. Считать, что такое действие со строкой s возможно.

Ответ:

 (1) char *p; p=s[n]; printf ("%s",p); 

 (2) char *p; p=&s[n]; printf ("%s",p); 

 (3) char *p; p=*s[n]; printf ("%s",p); 

 (4) char *p; p=s+n; printf ("%s",p); 


Номер 3
Укажите корректное формирование пустой строки в переменной char s[10];.

Ответ:

 (1) strcpy(s, ""); 

 (2) s=""; 

 (3) *s=0; 

 (4) s='\0'; 


Упражнение 8:
Номер 1
Укажите результат вывода на экран после выполнения фрагмента кода, если с клавиатуры введена строка: Я скоро завершу тестирование.
		
char str[100];
cin >> str;
cout << str;
		
		

Ответ:

 (1) Я 

 (2) Я скоро завершу тестирование 

 (3) "Я скоро завершу тестирование" 

 (4) Я скоро завершу тестирование\0 


Номер 2
Укажите результат вывода на экран после выполнения фрагмента кода, если с клавиатуры введена строка: Я скоро завершу тестирование.
		
char str[100];
gets(str);
puts(str);
		
		

Ответ:

 (1) Я 

 (2) Я скоро завершу тестирование 

 (3) "Я скоро завершу тестирование" 

 (4) Я скоро завершу тестирование\n 


Номер 3
Укажите результат вывода на экран после выполнения фрагмента кода, если с клавиатуры введена строка: Я скоро завершу тестирование.
		
char str[100];
scanf("%s", str);
printf("%s", str);
		
		

Ответ:

 (1) Я 

 (2) Я скоро завершу тестирование 

 (3) "Я скоро завершу тестирование" 

 (4) Я скоро завершу тестирование\0 




Главная / Программирование / Структуры и алгоритмы компьютерной обработки данных / Тест 9