Главная / Программирование /
Основы программирования на 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) каждый блок должен завершаться символом точка с запятой