Главная / Программирование /
Основы программирования на C# / Тест 8
Основы программирования на C# - тест 8
Упражнение 1:
Номер 1
Чему будет равно x
в результате выполнения следующего фрагмента: int x=5; for(int i =1; i<5; i++); x+=5;
Ответ:
 (1) 5 
 (2) 10 
 (3) 25 
 (4) 30 
 (5) 20 
Номер 2
Чему будет равно x
в результате выполнения следующего фрагмента int a=2, b=3,c=5, x=0;
if(a>b)if(c>a)if(c>a+b) x=a+b+c; else x=7;else x=12;
Ответ:
 (1) 0 
 (2) 7 
 (3) 10 
 (4) 12 
Номер 3
Тело цикла for (int i = 1, j=-10; j<10; i--) j++;
Ответ:
 (1) ни разу не выполнится 
 (2) выполнится 3 раза 
 (3) произойдет зацикливание 
 (4) выполнится конечное число раз, большее 3-х 
Упражнение 2:
Номер 1
Отметьте истинное высказывание:
Ответ:
 (1) присваивание является операцией языка C# 
 (2) в теле оператора foreach
текущий элемент позволяет получать и изменять значения элементов, хранящихся в контейнере 
 (3) в операторе if
число ключевых слов if
должно совпадать с числом слов else
 
 (4) case-выражение в операторе switch
может задавать диапазон значений 
Номер 2
Отметьте истинное высказывание:
Ответ:
 (1) любое выражение может использоваться в качестве оператора 
 (2) оператор if
может быть эквивалентен по своему действию пустому оператору 
 (3) оператор foreach
не применим при работе с массивами 
 (4) каждая case-ветвь оператора switch
должна заканчиваться оператором break
 
Номер 3
Отметьте истинные высказывания:
Ответ:
 (1) некоторые выражения могут использоваться в качестве оператора 
 (2) оператор switch
по своему действию может быть эквивалентен пустому оператору 
 (3) в заголовке операторе цикла for
всегда требуется объявлять переменную, задающую счетчик цикла 
 (4) в теле оператора foreach
не допускается присваивание значения текущему элементу 
Упражнение 3:
Номер 1
В каких фрагментах возникнет ошибка компиляции:
Ответ:
 (1) int x=5, y =2*2+1, z; if (y=x) z=2*x; else z=x+y
; 
 (2) int a=2, b=3,c=5, x;if(a<b)if(c>a)if(c>a+b) x=a+b+c;
 
 (3) int x, y, z; if (5 >4) x=5; y=x; z=y;
 
Номер 2
В каких фрагментах возникнет ошибка:
Ответ:
 (1) int x=5, y = 2*2+1, z; if(y >=x) z=2*x; else z=x+y;
 
 (2) int x=5; {int y = 7;} int z = x+y;
 
 (3) string s, s1, s2, s3; s=s1=s2=s3="око"; switch(s) { case s1: x=3; break; case s2: case s3: x=5; break; } 
 (4) for (int Sum=0, i=0; i<N; i++) Sum += Arr[i];
( N
и Arr
определены должным образом) 
Номер 3
В каких фрагментах возникнет ошибка:
Ответ:
 (1) x=;; y=7
 
 (2) int x=5, z; {int y=7; z=y+1;} int w = x+z;
 
 (3) string s="кок"; switch(s) { case "око": break; case "кок": case "рок": s="тук"; s=s+s; break; } 
 (4) int x=5, y, z; if(x>4) y=x; else y=4; z=y;
 
Упражнение 4:
Номер 2
Оператор return
Ответ:
 (1) обязателен в функциях 
 (2) возможен в процедурах 
 (3) завершает выполнение функции или процедуры 
Номер 3
Операторами цикла в C# являются:
Ответ:
 (1) оператор for
 
 (2) оператор foreach
 
 (3) оператор while
с проверкой условия в начале цикла 
 (4) оператор do
– while
с проверкой условия в конце цикла 
 (5) оператор loop
с проверкой условия в середине цикла 
Упражнение 5:
Номер 1
Отметьте верное утверждение:
Ответ:
 (1) фрагмент кода if (x = y)
всегда приводит к появлению ошибки еще на этапе трансляции 
 (2) удаление пустого оператора никогда не меняет семантику программы 
 (3) доказано, что без оператора перехода goto
можно обойтись 
Номер 2
Правда ли, что:
Ответ:
 (1) оператор break
должен присутствовать в каждой ветви оператора разбора случаев switch
 
 (2) можно написать программу с бесконечным циклом 
 (3) еще на этапе компиляции возникнет ошибка в следующем фрагменте кода <int x=1, y =1; if (x=y) {…};>
 
Номер 3
Правда ли, что:
Ответ:
 (1) цикл foreach применим к массивам 
 (2) допустима такая конструкция <if (a>0) if (b>0) if(c>0) …>
 
 (3) каждый блок должен завершаться символом точка с запятой