C#_ основы



Авторы специализируются на тестах по любым дисциплинам! Средний балл по тестам 4,6.
 
Любые вопросы по дистанционному обучению. Тесты, письменные работы, сессия под ключ.
 
Известный интернет сайт, помощь по любым учебным вопросам - от теста до дипломной работы. Личный менеджер.
 
Крупная биржа студенческих работ. Закажи напрямую у преподавателя. Низкие цены, стена заказов.
 
Биржа студенческих работ. Потребуется самостоятельная выгрузка работ.
 

Приведенный фрагмент исходного кода размещен в теле метода Main и разрабатывался для вывода сообщения о том, к какой категории относиться день недели, введенный пользователем:

string day, msg; day = System.Console.ReadLine(); switch (day) { case «»6″»: case «»Суббота»»: msg = «»Выходной»»; break; case «»7″»: case «»Воскресенье»»: msg = «»Выходной»»; break; default: msg = «»Рабочий»»; } System.Console.WriteLine(msg);

Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:

  • не выделена память под хранение значения переменной msg
  • начальное значение переменной msg не определено
  • строка не может использоваться в качестве переключателя
  • ветвь должна иметь только один маркер
  • (Правильный ответ) в ветви с маркером default должен быть указан оператор break

В теле метода Main() содержится следующий программный код:

int a = 5, b = 10, c;c = a+b * a-b / a;System.Console.Write(c);

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • трансляция программы завершается неудачно
  • 0
  • 13
  • (Правильный ответ) 53

Для перестановки элементов массива A в обратном порядке разработан приведенный ниже исходный код, который размещен в методе Main():

short[] A; short[] B; A = new short[] { 1, 2, 3 }; B = new short[2]; B = A; System.Array.Reverse(B,1,3);

При выполнении программы возникло исключение. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:

  • количество элементов в массиве A не определено
  • (Правильный ответ) попытка обратиться ячейке памяти за границами памяти, выделенной для массива A
  • элементы массива B не инициализированы
  • массив B имеет размер, недостаточный для хранения копии массива A
  • ссылки A и B указывают на массивы с разным количеством элементов

Литерал 126m определяет константу типа:

  • (Правильный ответ) decimal
  • float
  • ulong
  • char
  • byte

Проанализируйте программу и определите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

using System;class Program{ static void Main() { int[][] a; int[] b; a = new int[2][]; b = a[0] = new int[] { 1, 2 }; a[1] = new int[] { 3, 4 }; a[0] = a[1]; a[1]= b; Console.Write(«»{0} {1} «», a[0][0], a[0][1]); Console.Write(«»{0} {1} «», a[1][0], a[1][1]); }}

  • (Правильный ответ) 3 4 1 2
  • 4 3 2 1
  • 3 2 1 4
  • программа выдает синтаксическую ошибку, так как ссылки a и b являются ссылками разных типов

Для вывода на консоль сообщения «Проба пера» разработана программа, код которой полностью приведен ниже:

static void Main() { System.Console.Write(«»Проба пера»»); }

Трансляция программы завершена неудачно. Какое из приведенных ниже высказываний раскрывает причину некорректности программы:

  • (Правильный ответ) процедура Main должна быть определена как метод класса
  • в процедуре Main не указаны параметры
  • не указана директива using System для фиксации используемого пространства имен
  • процедура Main обязана возвращать значение в виде целого числа
  • метод Write принадлежит не классу, а объекту, и его вызов должен выполняться через предварительно созданный объект класса Console

Программа предназначена для вывода на консоль значения случайного целого числа в интервале [50,100):

using System;class Program{ static void Main() { Random rnd = new Random(); Console.Write( ___ ); } }

Среди приведенных ниже кодов укажите код, которым необходимо заменить знаки подчеркивания для получения корректной программы, решающей поставленную задачу:

  • (Правильный ответ) rnd.Next(50,100)
  • NextDouble()*50+50
  • Random.Next(50, 100)
  • rnd.Next(50,99)
  • rnd.Next() + 50

В теле метода Main() содержится следующий код:

byte A = new byte(); byte B = 0; System.Console.Write(A == B);

Укажите результат вывода на консоль после выполнения метода Main():

  • (Правильный ответ) True
  • метод Main не выполняется: программа содержит ошибки
  • либо True, либо False, но конкретный результат определить невозможно, так как неизвестно значение переменной A
  • False
  • 1

Приведенные ниже процедуры и функции определены как методы одного класса.

static double Func (int a, int b) { return a * b; } static double Func (double a, double b) { return a — b; } static double Func (short a, float b) { return a + b; } static double Func (short a, int b) { return b % a; } static void Main() { int a = 2; System.Console.Write(F(a, 3.5)); }

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • (Правильный ответ) -1,5
  • 5,5
  • программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
  • 2
  • 7

В теле метода Main() содержится следующий код:

int[,] A, B; A = new int[2, 2]; B = new int[2, 3] { { 11, 12, 13 }, { 14, 15, 16 } }; A = B; B[0,1] = ++B[1, 0]; System.Console.Write(«»{0} {1} «», A[0, 0], A[0, 1]); System.Console.Write(«»{0} {1} «», A[1, 0], A[1, 1]);

Укажите результат вывода на консоль после выполнения метода Main():

  • 11 12 14 15
  • (Правильный ответ) 11 15 15 15
  • 11 12 13 14
  • 11 12 15 15

В теле метода Main() содержится следующий код:

double a=0;string msg=»»не определено»»;if (a > 1) if (a < 4) msg = «»внутри»»;; else msg = «»снаружи»»; System.Console.WriteLine(msg);

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • внутри
  • снаружи
  • программа не выполняется, так как обнаружена синтаксическая ошибка, связанная с лишней точкой с запятой
  • (Правильный ответ) не определено

В теле метода Main() содержится следующий программный код:

short a ,b=4;a = 5%3 + 5 * ++b;System.Console.Write(a);

Укажите результат вывода на консоль после выполнения метода Main():

  • 20
  • (Правильный ответ) метод Main не выполняется: программа содержит ошибки
  • 22
  • 27

Приведенный фрагмент исходного кода размещен в теле метода Main и разрабатывался для проверки цифр телефонного номера на принадлежность некоторому множеству цифр. Укажите результат проверки, который выведет программа, если пользователь ввел с консоли символы 777-45-12 и нажал клавишу ENTER.

string s = System.Console.ReadLine();bool f1,f2,f3;f1 = s[0] > ‘3’ && s[0] < ‘8’;f2 = s[s.Length-1] == ‘3’ || s[s.Length-1] == ‘4’;f3 = !(f1 || f2);System.Console.Write(«»{0} {1} {2}»»,f1,f2,f3);

  • 1 0 0
  • True True True
  • (Правильный ответ) True False False
  • True True False

В теле метода Main() содержится следующий код:

char a = new char();int b = new int();System.Console.Write(a == b);

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • (Правильный ответ) True
  • программа не корректна, так как переменные a и b имеют несовместимые типы
  • False
  • a == b
  • программа не корректна, так как переменные a и b имеют неопределенное значение

В теле метода Main() содержится следующий код:

object box = ‘A’;short original;original = _________;

Среди указанных ниже кодов укажите код, подстановка которого вместо знаков подчеркивания позволяет присвоить переменной original значение 65:

  • (short)box
  • (char)box
  • (Правильный ответ) (short)(char)box
  • box
  • (object)box

Оператор continue используется

  • для выхода из цикла
  • в качестве пустого оператора
  • (Правильный ответ) для перехода к следующей итерации цикла
  • для возврата из процедуры и продолжения программы с точки ее вызова
  • для продолжения перебора case-ветвей в операторе switch

В теле метода Main() содержится следующий код:

string str = «»whfirk»»;char[] chars = str.ToCharArray();chars[1] = ‘o’;str = new string(chars);System.Console.Write(str);

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • (Правильный ответ) wofirk
  • owhfirk
  • whfirk
  • ohfirk
  • программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок

Проанализируйте программу и определите результат вывода.

using System;class Program{ static void Main() { int[][] a; int[] b; a = new int[2][]; a[0] = new int[]{22, 33}; a[1] = new int[]{44, 55}; b = a[0]; b[0] = 77; b = a[1]; b[1] = 88; Console.Write(«»{0} {1}»», a[0][0], a[0][1]); Console.Write(«»{0} {1}»», a[1][0], a[1][1]); }}

  • метод Main не выполняется: программа содержит ошибки
  • 77 33 88 55
  • 22 33 44 55
  • (Правильный ответ) 77 33 44 88

Проанализируйте программу и определите результат вывода.

class Program{ public static void Main() { int[][] A = new int[2][]; int[] B = new int[2]; B[0] = 3; A[0] = B; B[0] = 5; B[1] = 7; A[1] = B; System.Console.Write(«»{0} {1} «», A[0][0], A[0][1]); System.Console.Write(«»{0} {1} «», A[1][0], A[1][1]); }}

  • метод Main не выполняется: программа содержит ошибки
  • 5 5 7 7
  • (Правильный ответ) 5 7 5 7
  • 3 0 5 7

В теле метода Main() содержится следующий код:

string str = «»whfirk»»;str = str.Remove(1, 2);str = str.Insert(1,»»o»»);System.Console.Write(str);

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • (Правильный ответ) woirk
  • whoirk
  • программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
  • hofirk
  • wofirk

Литерал 25E1 определяет константу типа:

  • uint
  • float
  • int
  • decimal
  • (Правильный ответ) double

Среди приведенных ниже кодов укажите все коды, подстановка каждого из которых вместо знаков подчеркивания позволяет получить корректную программу, которая выведет на консоль True:

using System;class Program{ static void Main() { short A = ________ ; Console.WriteLine(A == short.MinValue); }}

  • UInt16.MinValue
  • -256
  • (Правильный ответ) Int16.MinValue
  • (Правильный ответ) -32768
  • 0

Укажите среди перечисленных все варианты операции присваивания, в которых преобразование типа источника (правая часть оператора присваивания) к типу приемника (левая часть оператора присваивания), может быть только явным:

  • (Правильный ответ) long <—- double
  • (Правильный ответ) int <—- uint
  • int <—- byte
  • double <—- float
  • decimal <—- int

В теле метода Main() содержится приведенный ниже программный код:

byte a = 0x8, b, maska =____;b = (byte)(a++ | maska);System.Console.WriteLine(b);

Среди приведенных ниже инициализаторов укажите один инициализатор, подстановка которого вместо знаков подчеркивания позволит получить программу, которая выведет на экран десятичное значение 24:

  • 0x7
  • 0xF
  • (byte)~a
  • (Правильный ответ) 0x10

В теле метода Main() содержится следующий программный код:

int x,y; x = int.Parse(System.Console.ReadLine()); y = x<10 ? 55 : x<20? 35 : 45; System.Console.Write(y);

Укажите результат вывода на консоль после выполнения метода Main(), если пользователь ввел символы 10 и нажал клавишу ENTER:

  • 55
  • 3545
  • (Правильный ответ) 35
  • 45

Из приведенного перечня укажите все истинные утверждения, относящиеся к строкам:

  • (Правильный ответ) строка – это объект класса System.String
  • строка – это значимый тип данных
  • строка – это массив символов типа char
  • строка – это последовательность символов, заканчивающаяся нулем
  • (Правильный ответ) строка – это ссылочный тип данных

Отметьте среди перечисленных одно условие, при выполнении которого осуществляется неявное (автоматическое) преобразование типа переменной при ее присвоении переменной другого типа:

  • тип приемника больше, чем тип источника
  • тип приемника совместим с типом источника
  • обе переменные содержат вещественные данные
  • обе переменные содержат целочисленные данные
  • (Правильный ответ) тип приемника больше, чем тип источника, и эти два типа совместимы

Для хранения значения типа char в C# необходима память, объем которой

  • (Правильный ответ) 2 байта
  • зависит от числа символов в константе
  • 1 байт
  • для ASCII – 1 байт, для Unicode – 2 байта
  • спецификацией языка не определен и зависит от конкретной реализации транслятора

В теле метода Main() содержится следующий код:

Random d1, d2;d1 = new Random(1); d2 = new Random(1);System.Console.Write(d1 != d2);

Укажите результат вывода на консоль после выполнения метода Main():

  • 1
  • d1 != d2
  • (Правильный ответ) True
  • System.Random
  • False

В теле метода Main() содержится код, предназначенный для вычисления меньшего из двух значений:

double d; d = System.Math.Min( _________ );

Среди перечисленных ниже кодов укажите все коды, подстановка кажого из которых вместо знаков подчеркивания позволяет получить корректную программу:

  • 200, 15M
  • (Правильный ответ) 200.0, 15
  • (Правильный ответ) 200F, 15L
  • ‘200’, ’15’
  • (Правильный ответ) 2E2, 15F

В классе Program определен единственный метод, имеющий следующий код:

public static void Main(string[] par){ char[] sep = new char[]{‘:’}; string[] s = par[0].Split(sep); System.Console.Write(s.Length);}

После трансляции исполняемый модуль программы сохранен в файле C:\P.EXE.

C:\P.EXE 10:20::30

Укажите результат вывода на консоль после запуска программы из командной строки:

  • 5
  • 3
  • 2
  • (Правильный ответ) 4

В консольном приложении точкой входа в программу является метод,

  • который может иметь любое имя, а его определение в исходном коде класса Program должно быть первым
  • имя которого указывает пользователь при запуске приложения
  • который имеет имя Main и должен быть определен в классе Program
  • (Правильный ответ) который имеет имя Main и может быть определен в любом классе
  • который имеет имя main и может быть определен в любом классе

Из приведенного перечня операций укажите все операции, определенные для строк:

  • (Правильный ответ) ==
  • (Правильный ответ) +
  • >=
  • sizeof
  • >

Проанализируйте программу и определите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

class Program{ static void Main() { int a=12, b=34; string s = «»Сумма=»»; s += a + b; System.Console.Write(s); }}

  • (Правильный ответ) сумма=46
  • программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
  • сумма=1234
  • 1234
  • сумма=12+34

В теле метода Main() содержится следующий программный код:

int a;float b = 4.5f;a = (int)b++;b = b — a;System.Console.Write(++b);

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • (Правильный ответ) 2,5
  • метод Main() не может быть выполнен: трансляция программы завершается неудачно
  • 0
  • 1,5

Программа Program.exe, исходный код которой указан ниже, запускается на выполнение командой

Program.exe бананclass Program{ static void Main(string[] str) { string s = «»ан»»; int i = 0; i = str[0].IndexOf(«»ан»», 0); System.Console.Write(i + «» «»); i = str[0].IndexOf(s, i + s.Length); System.Console.Write(i + «» «»); i = str[0].IndexOf(s, i + s.Length); System.Console.Write(i); }}

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • 2 4 2
  • программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
  • (Правильный ответ) 1 3 -1
  • 1 3 1
  • 0 0 0

Укажите истинное высказывание из приведенного перечня.

Функция, определяемая как метод класса,

  • должна содержать в заголовке ключевое слово void в качестве типа возвращаемого значения
  • должна содержать в заголовке строго один параметр
  • (Правильный ответ) должна содержать в заголовке тип возвращаемого значения, отличный от void
  • должна содержать в заголовке модификатор function

Приведенные ниже процедуры и функции определены как методы одного класса.

static double F(int a, int b) { return a + b; } //Вариант 1 static double F(double a, double b) { return a + b; } //Вариант 2 static double F(short a, double b) { return a + b; } //Вариант 3 static double F(short a, int b) { return a + b; } //Вариант 4 static void Main() { decimal a = 2m; System.Console.Write(F(a, 3.5)); }

Укажите истинное утверждение, относящееся к вызову функции F:

  • будет вызвана функция: Вариант 2
  • будет вызвана функция: Вариант 4
  • будет вызвана функция: Вариант 3
  • (Правильный ответ) нет ни одного варианта реализации функции F, который соответствует вызову
  • будет вызвана функция: Вариант 1

Программа предназначена для заполнения и вывода элементов матрицы:

using System;class Program{ static void Main() { int[,] a; a = new int[2,2] { {22,33}, {44,55} }; Console.Write( ____ ); }}

Среди приведенных кодов укажите все коды, подстановка каждого из которых вместо знаков подчеркивания приведет к корректной программе, выводящей на консоль значения: 22 44 33 55

  • (Правильный ответ) «{0} {3} {2} {1}», a[0,0], a[1,1], a[0,1], a[1,0]
  • «{0} {1} {3} {2}», a[0,0], a[1,0], a[0,1], a[1,1]
  • (Правильный ответ) «{0} {2} {1} {3}», a[0,0], a[0,1], a[1,0], a[1,1]
  • «{0} {1} {2} {3}», a[0,0], a[0,1], a[1,0], a[1,1]

Оператор goto default используется

  • для перехода на оператор с меткой default, расположенный в другом методе
  • для возврата в метод Main
  • (Правильный ответ) для перехода в операторе switch на ветвь по умолчанию
  • для завершения выполнения программы
  • для возврата в точку вызова

В теле метода Main() содержится следующий программный код:

int a = 2, b;b = (byte)a++ == 3 ? 0 : (a << 1 + 2);System.Console.WriteLine(b);

Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:

  • 3
  • трансляция программы завершается неудачно
  • 0
  • (Правильный ответ) 24

Укажите из приведенного перечня тип, который может использоваться только в небезопасных (unsafe) участках кода на C#:

  • (Правильный ответ) указатели(pointer)
  • ulong
  • void
  • byte

Для вывода на консоль сообщения «Изучаем C#» разработана программа, код которой полностью приведен ниже:

class MyClass{ static int Main() { Console.Write(«»Изучаем C#»»); return 0; }}

Трансляция программы завершена неудачно. Какое из приведенных ниже высказываний раскрывает причину некорректности программы:

  • метод Main может быть определен только в классе Program
  • метод Main не может быть статическим методом
  • метод Main обязан возвращать значение 1
  • (Правильный ответ) не указано пространство имен, в котором определен тип Console
  • метод Main может возвращать только тип void

Приведенный фрагмент исходного кода размещен в теле метода Main:

int[] Массив = { 4, 5, 6, 8, 7 };int i;for (int s=0, i=0; i < Массив.Length; i++){ if (i % 3 == 0) continue; if (Массив [i] % 3 == 0) break; s += Массив[i]; System.Console.WriteLine(s);}

Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:

  • при объявлении массива пропущены ключевые слова new int[]
  • (Правильный ответ) переменная i объявлена дважды
  • имя локальной переменной Массив содержит символы русского алфавита
  • в программе используется локальная переменная s с неопределенным значением
  • в заголовках условных операторов операция == некорректна, вместо нее необходимо использовать операцию =

В теле метода Main() содержится следующий код:

object box = 127; ulong original; original = _________ ;

Среди указанных ниже кодов укажите все коды, подстановка каждого из которых вместо знаков подчеркивания позволяет присвоить переменной original значение 127:

  • (Правильный ответ) (ulong)(int)box
  • box
  • (Правильный ответ) (uint)(int)box
  • (uint)(byte)box
  • (uint)box

Из приведенных ниже фрагментов кода укажите фрагмент, соответствующий объявлению ссылки на двухмерный массив, элементами которого являются строки:

  • string ** a;
  • char[] a;
  • string [][] a;
  • (Правильный ответ) string [,] a;
  • char *a[];

Проанализируйте приведенный код, определенный в методе Main():

int i, смена=3;string d;if ((i = int.Parse(System.Console.ReadLine())) < 6) смена = int.Parse(System.Console.ReadLine());switch (i){ case 6: case 7: d = «»Выходной»»; goto case 8; default: d = «»Работаю»»; switch (смена) { case 1: System.Console.WriteLine(d + «» в первую смену»»); break; case 2: System.Console.WriteLine(d + «» во вторую смену»»); break; default: System.Console.WriteLine(«»Не работаю»»); break; } break; case 8: System.Console.WriteLine(«»Отдыхаю»»); return;}

Укажите результат вывода, если после успешного запуска программы на компиляцию и выполнение пользователь ввел с клавиатуры 1, а затем 2.

  • программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
  • отдыхаю
  • не работаю
  • (Правильный ответ) работаю во вторую смену
  • работаю в первую смену

Проанализируйте программу и определите результат вывода.

class Program{ public static void Main() { int[][] A=new int[2][] {new int[]{}, new int[]{2,3}}; System.Console.Write(A.Length + A[0].Length + A[1].Length); }}

  • 6
  • метод Main не выполняется: программа содержит ошибки
  • (Правильный ответ) 4
  • 5

Функция, определяемая как метод класса,

  • (Правильный ответ) в обязательном порядке должна содержать в теле оператор return
  • должна содержать в заголовке модификатор function
  • (Правильный ответ) может иметь в списке параметров модификатор params
  • должна иметь в списке параметров как минимум один параметр
  • (Правильный ответ) должна содержать в заголовке тип возвращаемого значения, отличный от void

В теле метода Main() содержится код, предназначенный для вычисления площади