Результаты прохождения теста C основы пользователем Rodion Kochetkov

Результат прохождения теста "C основы" - Не пройден

+36

  • Кто проходил: Rodion Kochetkov
  • Дата прохождения: 26.02.2018
Какие символы могут использоваться для комментариев?
Ваши ответы
/* comment */
Какой тип указателя может указывать на любой тип данных?
Ваши ответы
void *ptr;
Объяснение:

Правильный ответ: void *ptr. Такие указатели существуют для использования в определенных случаях, например передача указателей в функции, которые работают независимо от типа данных, на который указывает указатель.

Что будет выведено на экран?
#include <stdio.h> 
 
#define A 1 
#define B 
 
#ifdef A 
 
int Print1() { 
  printf("A1"); 
  return 0; 
} 
 
#ifndef B 
 
float Print1() { 
 printf("B1"); 
 return 0.0; 
} 
 
#else 
 
void Print2() { 
 printf("B2"); 
} 
 
#endif 
 
void Print3() { 
 printf("AB"); 
} 
 
#else 
 
void Print2() { 
 printf("A2"); 
} 
 
void Print3() { 
printf("BA"); 
} 
 
#endif 
 
int main(void) { 
  Print1(); 
  Print2();  
  Print3(); 
  return 0; 
} 
Ваши ответы
A1B2AB
Как в прототипе функции func() можно объявить параметр - одномерный целочисленный массив с именем х, чтобы следующий код скомпилировался?
int main(void) 
{ 
 int i[10]; 
 
 func(i); 
 
 return 0; 
} 
Ваши ответы
int *x
int x[10]
int x[]
Объяснение:

Все три варианта можно использовать - первый, как указатель, второй как массив определенного размера и третий, как массив без определенного размера.

Как выглядит восьмибитовая маска в шестнадцатеричной форме с установленными битами в нечетных позициях (порядок битов - от младшего к старшему, нумерация начинается с нуля)?
Ваши ответы
0xAA
Корректно ли следующее объявление: void* var;
Ваши ответы
Да
Объяснение:

Да, такая переменная может использоваться для указания на объект любого типа

Как правильно в данном случае передать массив в описанную ниже функцию?
void func(int** array); 
 
int main() 
{ 
 // массив 
 int array[50]; 
 ... 
Ваши ответы
func(&array);
Объяснение:

Массив представляет собой указатель на первую переменную массива в памяти.

Что напечатает данный программный код?
int c = 061; 
printf( "%c %d\n", (char)c, c); 
Ваши ответы
a 61
Объяснение:

061 - число в восьмеричной системе счисления, что равняется 49 в десятичной системе счисления и символом '1'.

Какие из ниже перечисленных объявлений корректны?
Ваши ответы
int b[255];
int c[];
Объяснение:

Массивы нулевой длины разрешены стандартом. int с[] разрешен в объявлении функции, а int d[*] только в объявлении прототипа функции.

что выведет эта программа?
#include <stdio.h> 
 
#define A(b) "" #b "" "c" 
 
int main() { 
 printf("%s", A(a)A(A(a))); 
 return 0; 
} 
Ваши ответы
она не скомпилируется
Что выведет следующая программа?
double a; 
double b = 2; 
a = b * 5 / 2 + 5 / 2 * b; 
printf ("% f", a); 
Ваши ответы
10.000000
Объяснение:

b = 2.0 b * 5 / 2 = (2.0 * 5) / 2 = 10.0 / 2 = 5.0 5 / 2 * b = (5 / 2) * 2.0 = 2 * 2.0 = 4.0 a = 5.0 + 4.0 = 9.0

Выберите все правильные утверждения для следующих типов
1) const int * 
2) int const * 
3) int * const 
Ваши ответы
второй тип означает константный указатель на объект типа int
третий тип идентичен второму
первый тип означает указатель на константу типа int
Что выведется на экран в результате выполнения?
#include <stdio.h> 
main(void) 
{ 
 int a=5; 
 int b=7; 
 a^=b^=a^=b; 
 printf("%d%d",a,b); 
} 
Является ли тип char целочисленным?
Чему будет равно значение x: int x = (3, --x + 2);