9. Верны ли следующие утверждения:
a) «цикл for ( ; ; ) является бесконечным циклом, и поэтому его использование в Си запрещено»
b) «семантика операторов цикла while и do-while в Си различается только тем, что тело цикла while может не выполниться ни разу, а тело цикла do-while выполнится хотя бы один раз.»
c) «каждая ветвь в операторе switch должна быть помечена одной или несколькими различными целочисленными константами или константными выражениями»
d) «если в операторе switch нет ветви default, то значение выражения выбора должно совпадать с одной из констант ветвей case»
e) «в операторе switch ветви case и ветвь default можно располагать в любом порядке»
10. Верно ли решена задача: «найти сумму первых 100 натуральных чисел»?
a) i = 1; sum = 0;
for ( ; i <= 100; i++) sum += i;
b) sum = 0;
for ( i = 1; i <= 100;) sum += i++;
c) for ( i = 1, sum = 0; i <= 100; sum += i+, i++);
d) for ( i = 1, sum = 0; i <= 100; sum += i++);
e) for ( i = 0, sum = 0; i++, i <= 100; sum += i);
11. Верно ли утверждение: « действие оператора break; в приведенных ниже примерах эквивалентно действию оператора go to next; ».
a) while ( E ) { S; ... break; ... S; next: ; }
b) while ( E ) { S; ... break; ... S; } next: ; ...
c) do { S; ... break; ... S; } while ( E ); next: ; ...
d) for ( E1; E2; E3) { S; ... break; ... S; next: ; }
e) while ( E) { S; ... for ( E1; E2; E3) { S; ... break; ... S; } next: ; ... S; }
f) while ( E ) { S; ... for ( E1; E2; E3) { S; ... break; ... S; } ... S; next: ; }
g) while ( E) { S; ... for ( E1; E2; E3) { S; ... break; ... S; } ... S; } next: ;
12. Что напечатает следующая программа?
# include <stdio.h>
main()
{ int x, y;
x = y = 0;
while ( y < 10 ) ++y; x += y;
printf ("x = %d y = %d\n", x, y);}
x=9 y=10
x=10 y=9
x=10 y=10
x=11 y=10
13. Эквивалентны ли следующие объявления функций:
a) double f ( ); и double f (void);
b) char g ( int i, char c); и char g ( int, char);
c) h ( double x); и int h ( double x);
d) void h ( int ); и h ( int );
e) extern int q ( int ); и int q ( int);
f) static void s ( char c); и void s ( char c);
14. Определить, какие конструкции являются определениями, а какие описаниями
int i;
char c = ‘a’;
extern int f ( int, char );
static int j;
register int b;
double g( ) { return 3.141592; };
extern long k;
int h ( int i );
static char q( int, double );
auto short n;
s();
static void p( int i ) { };
15. Определить какие из перечисленных выражений являются верными.
Функция getchar() считывает один символ из стандартного входного потока.
При успешном завершении putchar() возвращает 1, а при ошибке - 0.
Управляющие символы таблицы ASCII выводятся на экран функцией getche() в виде специальных обозначений.
Функция getch() получает символ непосредственно с клавиатуры с эхо-печатью и буферизацией.
Функция getchar() осуществляет буферизованный ввод символа с отображением на экране (эхо-печатью).
При успешном завершении функция getchar() возвращает символ, преобразованный в целочисленный тип int
