Как объявить переменную a, являющуюся указателем на константный указатель типа T?
Как объявить переменную a, являющуюся указателем на константный указатель типа T?
Какие операции допустимы для указателей p1 и p2, объявленных как:
int *p1, *p2;
Какие операции допустимы для указателей p1 и p2, объявленных как:
int *p1, *p2;
Что произойдет в результате компиляции и выполнения данного кода?
#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;
}
Укажите строки, в которых содержатся ошибки:
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
}
Какой символ означает операцию взятия адреса?
Какой символ означает операцию взятия адреса?
Какие символы могут использоваться для комментариев?
Какие символы могут использоваться для комментариев?
-
-
-
-
В каких строчках кода содержатся ошибки?
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
}
Как объявить макрос, заменяющий SIZE на значение 5 на этапе прекомпиляции?
Как объявить макрос, заменяющий SIZE на значение 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>
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) Программа будет успешно скомпилирована и ничего не выведет на экран
Что будет выведено на консоль при выполнении?
<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;
}
Являются ли структуры (struct) и объединения (union) взаимозаменяемыми?
Являются ли структуры (struct) и объединения (union) взаимозаменяемыми?
Что будет напечатано?
printf("Что ?\n мешает/n вам работать \n");
1)
Что ?
мешает/n вам работать
2)
Что ? мешает вам работать
3)
Что ?
мешает
вам работать
4)
Что ? мешает/n вам работать
Что будет напечатано?
printf("Что ?\n мешает/n вам работать \n");
1)
Что ?
мешает/n вам работать
2)
Что ? мешает вам работать
3)
Что ?
мешает
вам работать
4)
Что ? мешает/n вам работать
Выберите все правильные утверждения для следующих типов:
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) Второй тип идентичен первому
Какие из следующих конструкций корректны?
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>
#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
Каким будет результат компиляции и выполнения следующего кода?
#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 объявлена дважды
Укажите корректный вариант объявления массива:
Укажите корректный вариант объявления массива:
Что будет выведено на экран?
#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);