1. Основы языка C#: синтаксис, типы данных и управляющие конструкции
Основы языка C#: синтаксис, типы данных и управляющие конструкции
Добро пожаловать в первую статью курса «Полный курс C#: от новичка до профессионала». Если вы читаете эти строки, значит, вы решили освоить один из самых мощных, востребованных и элегантных языков программирования в мире. C# (произносится как «си-шарп») — это универсальный язык, созданный компанией Microsoft, который позволяет разрабатывать всё: от простых консольных приложений до сложных веб-сервисов, мобильных игр и систем искусственного интеллекта.
В этой статье мы не будем просто копировать код. Мы разберем фундамент, на котором строится любая программа: как писать код так, чтобы компьютер нас понял (синтаксис), как хранить информацию (типы данных) и как заставить программу принимать решения (управляющие конструкции).
Структура программы на C#
Любой язык, будь то русский, английский или C#, имеет свои правила грамматики и пунктуации. В программировании это называется синтаксисом. Если вы нарушите правила, компилятор (программа-переводчик, превращающая ваш код в понятный машине язык) выдаст ошибку.
Давайте взглянем на минимальную структуру программы:
!Структура вложенности элементов в программе на C#
Разберем этот код по кирпичикам:
using System; — это подключение библиотеки. Представьте, что вы хотите использовать сложные инструменты, например, молоток. Вместо того чтобы создавать молоток с нуля, вы просто открываете ящик с инструментами. System — это стандартный ящик инструментов C#.namespace MyFirstApp — пространство имен. Это как фамилия для вашего кода, чтобы он не перепутался с чужим кодом, если классы будут называться одинаково.class Program — класс. В C# весь код живет внутри классов. Это контейнер для данных и методов.static void Main(string[] args) — это точка входа. Когда вы запускаете программу, компьютер ищет именно метод Main и начинает выполнение команд с него.{ } (фигурные скобки) — они обозначают начало и конец блока кода. Все, что внутри, относится к заголовку перед скобкой.; (точка с запятой) — это как точка в конце предложения. Каждая команда должна заканчиваться этим символом.> C# — регистрозависимый язык. Это значит, что Main, main и MAIN — это три разных слова. Если вы напишете console.writeline вместо Console.WriteLine, программа не заработает.
Переменные и типы данных
Программам нужно где-то хранить информацию: возраст пользователя, цену товара, текст сообщения. Для этого используются переменные.
Переменная — это именованная область в памяти компьютера. Представьте себе коробку, на которой написано название (имя переменной), и в которую можно положить определенный предмет (значение).
C# — язык со строгой типизацией. Это значит, что каждая коробка предназначена для определенного типа вещей. Вы не можете положить кота в коробку для обуви, а текст — в переменную для целых чисел.
!Метафора переменных как коробок для разных типов данных
Основные типы данных
Вот самые часто используемые типы, которые вам понадобятся в 99% случаев:
* int (от integer) — целые числа. Например: 10, -5, 42000.
* double — дробные числа (числа с плавающей точкой). Например: 3.14, -0.001, 5.0.
* string — строка (текст). Текст всегда заключается в двойные кавычки. Например: "Привет", "C# - это круто".
* char — один символ. Заключается в одинарные кавычки. Например: 'A', '7', '!'.
* bool (от boolean) — логический тип. Имеет всего два значения: true (истина) или false (ложь).
Объявление и инициализация
Чтобы создать переменную, мы сначала пишем тип, потом имя, а затем (необязательно) присваиваем значение через знак равно =. Знак = в программировании — это не равенство, а команда «присвоить».
Арифметика
С числами можно производить математические операции. Основные операторы:
* + (сложение)
* - (вычитание)
(умножение)
* / (деление)
* % (остаток от деления)
Важный нюанс с делением: если вы делите два целых числа (int), результат тоже будет целым. Дробная часть просто отбрасывается.
Управляющие конструкции: Ветвление
Код, который выполняется просто сверху вниз, скучен. Умная программа должна уметь принимать решения. Для этого используется конструкция if (если) и else (иначе).
Представьте, что вы подходите к развилке на дороге. Если горит зеленый свет — идем, иначе — стоим.
!Блок-схема работы условного оператора if-else
Синтаксис выглядит так:
Операторы сравнения
Чтобы задать условие внутри скобок if (...), мы используем операторы сравнения:
* == — равно (два знака равно, так как один — это присваивание!)
* != — не равно
* > — больше
* < — меньше
* >= — больше или равно
* <= — меньше или равно
Также можно объединять условия с помощью логических операторов:
* && (И) — оба условия должны быть верны.
* || (ИЛИ) — хотя бы одно условие должно быть верно.
Пример:
Циклы: Повторение действий
Часто нам нужно выполнить одно и то же действие много раз. Например, вывести на экран фразу «Я не буду болтать на уроках» 100 раз. Писать 100 строк кода глупо. Для этого есть циклы.
Цикл for
Используется, когда мы точно знаем, сколько раз нужно повторить действие.
Разберем заголовок цикла:
int i = 0 — создаем счетчик i и ставим его в 0.i < 5 — условие: пока i меньше 5, цикл работает.i++ — шаг: после каждого выполнения увеличиваем i на 1 (запись i++ аналогична i = i + 1).Цикл while
Используется, когда мы не знаем точное число повторений, но знаем условие, при котором нужно продолжать.
!Циклический процесс выполнения программы
Ввод данных с консоли
Чтобы программа стала интерактивной, она должна уметь читать то, что пишет пользователь. Для этого используется команда Console.ReadLine().
Важно помнить: Console.ReadLine() всегда возвращает строку (string). Если вы хотите ввести число, вам нужно превратить строку в число (распарсить её).
Заключение
Сегодня мы заложили первый камень в фундамент вашего мастерства C#. Мы узнали:
if.for и while.Это база, без которой невозможно написать даже самую простую игру или приложение. В следующей статье мы углубимся в более сложные концепции и научимся создавать свои собственные методы, чтобы наш код стал еще чище и профессиональнее.