C# для начинающих: основы программирования

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

Процесс программирования

Процесс программирования включает:

  1. Написание исходного кода (включая визуальное программирование).
  2. Компиляцию (или трансляцию).
  3. Отладку.

C# имеет строгие правила; большинство ошибок обнаруживаются на этапе компиляции. Компиляция преобразует исходный код в другой язык (например, ассемблер или JavaScript). C# обычно транслируется в промежуточный код (IL), выполняемый виртуальной машиной.

Императивное программирование

Курс начинается с императивного программирования — написания последовательно выполняемых инструкций. В дальнейшем будут рассмотрены другие парадигмы, например, функциональное программирование.

Основные черты императивных языков:

  • Именованные переменные.
  • Оператор присваивания.
  • Составные выражения.
  • Подпрограммы.
  • Операторы ветвления и циклы.

В курсе будут изучены:

  • Переменные, типы и выражения.
  • Массивы.
  • Функции.

Простейший алгоритм

Алгоритм:

  1. Получить число от пользователя и записать его в переменную numberOne.
  2. Получить число от пользователя и записать его в переменную numberTwo.
  3. Применить оператор + к numberOne и numberTwo; сохранить результат в переменную result.
  4. Вывести значение переменной result.

Этот алгоритм демонстрирует именованные переменные (numberOne, numberTwo, result) и оператор присваивания.

Переменные и типы данных в C#

Переменная — именованная область памяти для хранения данных. Имя позволяет переменной менять своё значение в отличие от литерала (например, число 12 всегда равно 12). Переменные хранят промежуточные данные и влияют на поведение программы. C# использует сильную статическую типизацию: каждая переменная имеет конкретный тип, известный на этапе компиляции, и не может быть изменен.

Интегрированная среда разработки (IDE)

Работа будет вестись в IDE (например, Visual Studio), включающей текстовый редактор, обозреватель решений, компилятор, отладчик и другие инструменты. В курсе используется консольное приложение для Windows с кодом в файле Program.cs. Программа выполняется сверху вниз, начиная с метода Main.

Создание проекта в Visual Studio

Для создания проекта:

  1. Выберите «Файл» -> «Создать» -> «Проект».
  2. Выберите шаблон «Консольное приложение» (Visual C# -> Классический рабочий стол).
  3. Укажите имя проекта и папку.
  4. Нажмите «ОК».

Работа с переменными в C#

Объявление переменной:

int numberOne;

Типы данных для чисел:

  • int: 32-разрядное целое число.
  • byte: 8-разрядное целое число без знака (0-255).
  • sbyte: 8-разрядное целое число со знаком (-128-127).
  • short: 16-разрядное целое число со знаком.
  • ushort: 16-разрядное целое число без знака.
  • long: 64-разрядное целое число со знаком.
  • ulong: 64-разрядное целое число без знака.

Оператор присваивания (=):

numberOne = 12;

Комментарии:

// Однострочный комментарий
/* Многострочный
комментарий */

Хранение чисел со знаком: старший бит — знак числа.

Литералы и операторы в C#

Литералы:

  • Целые числа: 12, -5
  • Числа с плавающей точкой: 3.14f (float), 3.14 (double)
  • Символы: ‘A’
  • Строки: "Hello"
  • Булевы значения: true, false

Объявление нескольких переменных:

int numberOne, numberTwo, numberThree;

Операторы:

  • Арифметические: +, -, *, /, % (остаток от деления).
  • Логические: && (И), || (ИЛИ), ! (НЕ).
  • Операторы сравнения: (будут рассмотрены позже).
  • Составные операторы: +=, -=, *=, /=, %=.
  • Операторы инкремента (++) и декремента (—): префиксная и постфиксная формы.

Типы данных: значения и ссылки

C# имеет типы значений и ссылочные типы. Типы значений хранят сами значения, ссылочные — ссылки на значения. На данном этапе рассматриваются типы значений (простые типы, перечислимые типы, структуры).

Правила именования переменных

  • Имя не может начинаться с цифры.
  • Регистр символов имеет значение.
  • Часто используется нижнее подчёркивание в начале имени (но не внутри).
  • Использование Unicode, включая русские символы, не рекомендуется.

Что будем искать? Например,программа