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