Какие операции допустимы для указателей p1 и p2, объявленных как:
int *p1, *p2;
Какие операции допустимы для указателей p1 и p2, объявленных как:
int *p1, *p2;
Укажите строки, в которых содержатся ошибки:
void Test(const int **a) {
a = 0; // 1
*a = 0; // 2
**a = 0; // 3
}
Укажите строки, в которых содержатся ошибки:
void Test(const int **a) {
a = 0; // 1
*a = 0; // 2
**a = 0; // 3
}
Как объявить переменную a, являющуюся указателем на константный указатель типа T?
Как объявить переменную a, являющуюся указателем на константный указатель типа T?
Что произойдет, если попытаться скомпилировать и запустить следующую программу?
#include <stdio.h>
int main(int argc, char *argv[]) {
int a = 2;
switch(a) {
default:
printf("default");
break;
case 1:
printf("1");
break;
}
return 0;
}
Варианты ответов:
1) Произойдет ошибка компиляции
2) Произойдет ошибка времени выполнения
3) На экран будет выведено "default"
4) На экран будет выведено "1"
5) Программа будет успешно скомпилирована и ничего не выведет на экран
Что произойдет, если попытаться скомпилировать и запустить следующую программу?
#include <stdio.h>
int main(int argc, char *argv[]) {
int a = 2;
switch(a) {
default:
printf("default");
break;
case 1:
printf("1");
break;
}
return 0;
}
Варианты ответов:
1) Произойдет ошибка компиляции
2) Произойдет ошибка времени выполнения
3) На экран будет выведено "default"
4) На экран будет выведено "1"
5) Программа будет успешно скомпилирована и ничего не выведет на экран
Как объявить макрос, заменяющий SIZE на значение 5 на этапе прекомпиляции?
Как объявить макрос, заменяющий SIZE на значение 5 на этапе прекомпиляции?
Выберите все правильные утверждения для следующих типов:
1) const int *
2) int const *
3) int * const
Варианты ответов:
1) Первый тип означает константный указатель на объект типа int
2) Второй тип означает константный указатель на объект типа int
3) Третий тип означает константный указатель на константу типа int
4) Первый тип означает указатель на константу типа int
5) Третий тип идентичен второму
6) Все три типа идентичны
7) Второй тип идентичен первому
Выберите все правильные утверждения для следующих типов:
1) const int *
2) int const *
3) int * const
Варианты ответов:
1) Первый тип означает константный указатель на объект типа int
2) Второй тип означает константный указатель на объект типа int
3) Третий тип означает константный указатель на константу типа int
4) Первый тип означает указатель на константу типа int
5) Третий тип идентичен второму
6) Все три типа идентичны
7) Второй тип идентичен первому
Какие символы могут использоваться для комментариев?
Какие символы могут использоваться для комментариев?
-
-
-
-
Что выведет эта программа?
#include <stdio.h>
#define A(b) "" #b "" "c"
int main() {
printf("%s", A(a)A(A(a)));
return 0;
}
Варианты ответов:
1) возникнет ошибка во время выполнения
2) другой ответ
3) acacc
4) acA(a)c
5) она не скомпилируется
6) " #b "" "c
Что выведет эта программа?
#include <stdio.h>
#define A(b) "" #b "" "c"
int main() {
printf("%s", A(a)A(A(a)));
return 0;
}
Варианты ответов:
1) возникнет ошибка во время выполнения
2) другой ответ
3) acacc
4) acA(a)c
5) она не скомпилируется
6) " #b "" "c
Являются ли структуры (struct) и объединения (union) взаимозаменяемыми?
Являются ли структуры (struct) и объединения (union) взаимозаменяемыми?
В каких строчках кода содержатся ошибки?
struct A {
char a[]; // 1
};
struct B {
char a;
char b[]; // 2
};
struct C {
char a[]; // 3
char b;
};
int main() {
char a[]; // 4
return 0;
}
void test(char a[]) { // 5
}
В каких строчках кода содержатся ошибки?
struct A {
char a[]; // 1
};
struct B {
char a;
char b[]; // 2
};
struct C {
char a[]; // 3
char b;
};
int main() {
char a[]; // 4
return 0;
}
void test(char a[]) { // 5
}
Что означает следующее объявление?
typedef int (* A)( )
Варианты ответов:
1) Объявляется тип, который представляет собой указатель на переменную типа int
2) Объявляется тип, который представляет собой указатель на функцию, возвращающую значение типа int
3) Объявляется указатель на переменную A целого типа
4) Объявляется константный указатель на переменную A типа int
Что означает следующее объявление?
typedef int (* A)( )
Варианты ответов:
1) Объявляется тип, который представляет собой указатель на переменную типа int
2) Объявляется тип, который представляет собой указатель на функцию, возвращающую значение типа int
3) Объявляется указатель на переменную A целого типа
4) Объявляется константный указатель на переменную A типа int
Что произойдет в результате компиляции и выполнения данного кода?
#include <stdio.h>
void f() { printf("%d", 1); }
int main() {
void (*a)() = f; // 1
a(); // 2
return 0;
}
Что произойдет в результате компиляции и выполнения данного кода?
#include <stdio.h>
void f() { printf("%d", 1); }
int main() {
void (*a)() = f; // 1
a(); // 2
return 0;
}
Что будет выведено на консоль при выполнении?
<stdio.h>
int main()
{
int a, c = 0;
a = c++ + ++c;
printf(" %d %d ", a, c);
c += --a + a--;
printf(" %d %d ", a, c);
return 0;
}
Что будет выведено на консоль при выполнении?
<stdio.h>
int main()
{
int a, c = 0;
a = c++ + ++c;
printf(" %d %d ", a, c);
c += --a + a--;
printf(" %d %d ", a, c);
return 0;
}
Каким будет результат компиляции и выполнения следующего кода?
#include <stdio.h>
int main() {
int a = 3;
switch (a) {
default: {
int b = 0;
a = b;
break;
}
case 0: {
int b = 3;
a = b;
break;
}
}
printf("%d", a);
return 0;
}
Варианты ответов:
1) Код скомпилируется и напечатает число 0
2) Код скомпилируется и напечатает число 3
3) Код скомпилируется, но во время выполнения возникнет ошибка
4) Код не скомпилируется, так как default должен быть последней меткой в операторе switch
5) Код не скомпилируется, так как переменная b объявлена дважды
Каким будет результат компиляции и выполнения следующего кода?
#include <stdio.h>
int main() {
int a = 3;
switch (a) {
default: {
int b = 0;
a = b;
break;
}
case 0: {
int b = 3;
a = b;
break;
}
}
printf("%d", a);
return 0;
}
Варианты ответов:
1) Код скомпилируется и напечатает число 0
2) Код скомпилируется и напечатает число 3
3) Код скомпилируется, но во время выполнения возникнет ошибка
4) Код не скомпилируется, так как default должен быть последней меткой в операторе switch
5) Код не скомпилируется, так как переменная b объявлена дважды
Какие из следующих конструкций корректны?
1)
/* 1 */
int i = 0;
do {
i++;
} while (i < 10);
2)
/* 2 */
int i = 0;
while (i < 10) {
i++;
}
3)
/* 3 */
int i = 0;
do {
i++;
} do (i < 10);
4)
/* 4 */
int i = 0;
while(i < 10) {
i++;
} while (i < 10);
5)
/* 5 */
int i = 0;
do(i < 10) {
i++;
}
Какие из следующих конструкций корректны?
1)
/* 1 */
int i = 0;
do {
i++;
} while (i < 10);
2)
/* 2 */
int i = 0;
while (i < 10) {
i++;
}
3)
/* 3 */
int i = 0;
do {
i++;
} do (i < 10);
4)
/* 4 */
int i = 0;
while(i < 10) {
i++;
} while (i < 10);
5)
/* 5 */
int i = 0;
do(i < 10) {
i++;
}
Что будет выведено на экран?
#include <stdio.h>
void mystery(int a, int b) {
(!(a<b))?printf("First"):printf("Second");
}
int main() {
int a = 5, b = 4;
mystery(a, b);
return 0;
}
Что будет выведено на экран?
#include <stdio.h>
void mystery(int a, int b) {
(!(a<b))?printf("First"):printf("Second");
}
int main() {
int a = 5, b = 4;
mystery(a, b);
return 0;
}
Какой символ означает операцию взятия адреса?
Какой символ означает операцию взятия адреса?
Что выведет программа?
int a;
double b = 2;
a = 2 * (b * 5/2) / (5/2);
printf("%d", a);
Что выведет программа?
int a;
double b = 2;
a = 2 * (b * 5/2) / (5/2);
printf("%d", a);
Что будет напечатано?
printf("Что ?\n мешает/n вам работать \n");
1)
Что ?
мешает/n вам работать
2)
Что ? мешает вам работать
3)
Что ?
мешает
вам работать
4)
Что ? мешает/n вам работать
Что будет напечатано?
printf("Что ?\n мешает/n вам работать \n");
1)
Что ?
мешает/n вам работать
2)
Что ? мешает вам работать
3)
Что ?
мешает
вам работать
4)
Что ? мешает/n вам работать
Укажите корректный вариант объявления массива:
Укажите корректный вариант объявления массива: