C# Курс

Введение в C#

Самоучитель Python 3, собранный из материалов данного сайта.Предназначен в основном для тех, кто хочет изучить язык программирования Python с нуля.

Урок №1: Введение в C# — Знакомство с языком и первой программой

1. Введение: Что такое программирование и зачем нам C#?

Привет, будущий программист! 👋 Сегодня мы начинаем наше путешествие в мир создания программ. Представь, что компьютер — это очень умный, но буквально понимающий всё робот. Он умеет выполнять только те команды, которые записаны на его языке. Наша задача — научиться давать ему такие команды, чтобы он делал то, что нам нужно.

Программирование — это процесс написания инструкций для компьютера. Эти инструкции мы записываем на специальном языке, который называется языком программирования. Сегодня мы познакомимся с одним из самых мощных и популярных языков — C# (читается как "Си Шарп").

Почему C#?

  • Надёжность: На C# пишут банковские системы, игры (например, в Unity), приложения для Windows, веб-сайты и даже программы для космоса! 🚀
  • Понятность: Его синтаксис (правила написания) очень похож на английский язык, поэтому его легко читать.
  • Сообщество: Миллионы программистов по всему миру используют C#. Если у тебя возникнет вопрос, ты всегда найдёшь ответ в интернете.
Аналогия из жизни: Представь, что C# — это язык, на котором ты разговариваешь с очень строгим, но умным другом-роботом. Ты говоришь: "Сделай то-то", и он делает, но только если команда сказана абсолютно правильно. Если ошибиться в слове — робот не поймёт и выдаст ошибку.

2. Теория: Основные понятия

Прежде чем писать код, давай разберёмся с базовыми вещами.

2.1. Что такое программа?

Программа — это набор команд, которые компьютер выполняет одну за другой. Простейшая программа может выглядеть так:

// Вывести на экран приветствие
Console.WriteLine("Привет, мир!");

Здесь Console.WriteLine — это команда "напиши строчку". Всё, что внутри кавычек, будет напечатано на экране.

2.2. Переменные — это коробки для данных

Представь, что тебе нужно хранить число или текст. Для этого используют переменные. Это как коробки с наклейками: у каждой коробки есть имя (название переменной) и содержимое (значение).

В C# переменная должна быть объявлена — то есть мы должны сказать: "Я хочу коробку такого-то типа". Типы бывают разные:

  • int — для целых чисел (например, 5, -10, 0).
  • double — для дробных чисел (например, 3.14, -0.5).
  • string — для текста (например, "Привет", "Москва", "123").
  • bool — для правды или лжи (true/false).
Аналогия из жизни: Переменная int — это коробка, в которую можно положить только целые яблоки (1, 2, 3). double — коробка, куда можно положить половинку яблока (1.5). string — коробка для записок с текстом.

2.3. Как объявить переменную?

Синтаксис (правило) такой: тип имя = значение;

// Объявляем целочисленную переменную
int age = 15;          // возраст — целое число

// Объявляем дробную переменную
double pi = 3.14;      // число Пи — дробное

// Объявляем текстовую переменную
string name = "Аня";   // имя — текст

// Объявляем логическую переменную
bool isStudent = true; // true — правда, false — ложь

Обрати внимание: каждая команда заканчивается точкой с запятой ;. Это как точка в конце предложения — компьютер понимает, что команда закончена.

2.4. Комментарии — твои заметки

Когда пишешь код, полезно оставлять заметки для себя или других программистов. Это называются комментарии. Компьютер их игнорирует, они нужны только людям.

// Это однострочный комментарий — две косые черты

/*
   А это многострочный комментарий.
   Он начинается с /* и заканчивается на */
   Всё внутри — не выполняется.
*/

3. Примеры кода: Пишем первую программу

Теперь самое интересное — напишем настоящую программу! Мы будем использовать консольное приложение — это программа, которая работает в чёрном окошке (консоли) и общается с тобой через текст.

Пример 1: Приветствие

using System;  // Подключаем библиотеку для работы с консолью

class Program  // Объявляем класс (пока просто запомни, что так надо)
{
    static void Main()  // Главный метод — с него начинается программа
    {
        // Выводим текст на экран
        Console.WriteLine("Привет, мир!");
        Console.WriteLine("Добро пожаловать в C#!");
        
        // Ждём, пока пользователь нажмёт Enter
        Console.ReadLine();
    }
}

Разбор:

  • using System; — как будто мы открываем ящик с инструментами. System — это набор готовых команд (библиотека), которые мы можем использовать.
  • class Program — программа состоит из классов. Пока считай, что это просто "обёртка" для нашего кода.
  • static void Main() — это точка входа. Компьютер начинает выполнять программу именно отсюда.
  • Console.WriteLine() — команда "вывести строку и перейти на новую строку".
  • Console.ReadLine() — ждёт, пока пользователь что-то введёт (или просто нажмёт Enter). Это нужно, чтобы окно не закрылось сразу.

Пример 2: Работа с переменными

using System;

class Program
{
    static void Main()
    {
        // Объявляем переменные
        string userName = "Максим";
        int userAge = 14;
        double averageGrade = 4.5;
        
        // Выводим информацию на экран
        Console.WriteLine("Имя: " + userName);
        Console.WriteLine("Возраст: " + userAge);
        Console.WriteLine("Средний балл: " + averageGrade);
        
        Console.ReadLine();
    }
}

Обрати внимание: мы соединяем текст и переменные знаком +. Это называется конкатенация — склеивание строк.

Пример 3: Ввод данных от пользователя

using System;

class Program
{
    static void Main()
    {
        // Спрашиваем имя
        Console.Write("Введите ваше имя: ");  // Write — без перехода на новую строку
        string name = Console.ReadLine();      // Считываем введённый текст
        
        // Спрашиваем возраст
        Console.Write("Введите ваш возраст: ");
        int age = Convert.ToInt32(Console.ReadLine());  // Преобразуем текст в число
        
        // Выводим результат
        Console.WriteLine("Привет, " + name + "!");
        Console.WriteLine("Через год тебе будет " + (age + 1) + " лет.");
        
        Console.ReadLine();
    }
}

Разбор:

  • Console.Write() — выводит текст без перехода на новую строку (курсор остаётся рядом).
  • Console.ReadLine() — считывает то, что ввёл пользователь, как строку (тип string).
  • Convert.ToInt32() — преобразует строку в число. Это нужно, потому что возраст — это число, а ReadLine возвращает текст.
  • (age + 1) — мы можем делать математические операции прямо внутри вывода.

Пример 4: Простая математика

using System;

class Program
{
    static void Main()
    {
        // Объявляем две переменные
        int a = 10;
        int b = 3;
        
        // Выполняем операции
        int sum = a + b;       // Сложение
        int diff = a - b;      // Вычитание
        int product = a * b;   // Умножение
        int quotient = a / b;  // Деление (целое, так как int)
        int remainder = a % b; // Остаток от деления
        
        // Выводим результаты
        Console.WriteLine("Сумма: " + sum);
        Console.WriteLine("Разность: " + diff);
        Console.WriteLine("Произведение: " + product);
        Console.WriteLine("Целое от деления: " + quotient);
        Console.WriteLine("Остаток: " + remainder);
        
        Console.ReadLine();
    }
}

Важно: Если делить целые числа (int), то результат будет целым (без дробной части). 10 / 3 = 3, а не 3.333. Остаток (1) можно получить через %.

4. Практика: Давай попробуем сами!

А теперь представь, что ты — шеф-повар, а компьютер — твой помощник. Ты даёшь ему инструкции, и он их выполняет. Ниже я дам тебе несколько заданий. Попробуй написать код сам, а потом сравни с моим решением.

Задание 1: Калькулятор возраста собаки

Напиши программу, которая спрашивает возраст человека, а потом выводит, сколько лет было бы собаке (считаем, что 1 человеческий год = 7 собачьих).

Подсказка: используй Convert.ToInt32 для ввода возраста и умножение на 7.

Задание 2: Личная визитка

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

*****************
* Имя: Иван     *
* Фамилия: Петров *
* Город: Москва *
*****************

Подсказка: используй Console.WriteLine для каждой строки. Звёздочки можно нарисовать вручную.

Задание 3: Конвертер валют

Пользователь вводит сумму в рублях. Программа выводит эту же сумму в долларах (курс: 1 доллар = 75 рублей) и в евро (1 евро = 85 рублей).

Подсказка: используй double для дробных чисел.

Задание 4: Среднее арифметическое

Программа запрашивает три числа (целых) и выводит их среднее арифметическое. Например, для чисел 5, 10, 15 ответ будет 10.

Подсказка: сложи все числа и раздели на 3. Не забудь, что результат может быть дробным!

Задание 5: Секундомер

Пользователь вводит количество часов, минут и секунд. Программа переводит всё в секунды и выводит общее количество секунд.

Подсказка: 1 час = 3600 секунд, 1 минута = 60 секунд.

5. Итог: Что мы узнали сегодня?

Поздравляю! 🎉 Ты сделал первый шаг в мир программирования на C#. Давай подведём итоги:

  • Мы узнали, что программа — это набор команд для компьютера.
  • Познакомились с переменными — коробками для хранения данных (int, double, string, bool).
  • Научились выводить текст на экран (Console.WriteLine) и считывать ввод пользователя (Console.ReadLine).
  • Поняли, как делать комментарии и математические операции.
  • Написали свою первую программу!
Золотое правило программиста: Не бойся ошибок! Они — твои учителя. Если программа не работает, прочитай сообщение об ошибке (оно обычно подсказывает, что не так) и попробуй снова. Каждый великий программист начинал с "Hello, World!" и сотен ошибок.

Домашнее задание: Попробуй выполнить все 5 практических заданий. Если что-то не получается — напиши код в комментариях к уроку, я помогу разобраться. В следующем уроке мы узнаем, как заставить программу принимать решения (условные операторы) и повторять действия (циклы). Удачи! 🚀