- •1.Структура программы
- •1.1. Типы данных
- •1.1.1. Целые типы
- •1.1.2. Дробные (вещественные) типы
- •1.1.3. Логический тип
- •1.1.4. Строковый тип
- •1.1.5. Арифметические операторы
- •1.1.6. Нечисловые простые типы
- •1.1.7. Текстовые типы
- •2. Операторы ввода/вывода
- •2.1. Операторы ввода
- •2.2. Операторы вывода
- •2.3. Форматированный вывод
- •3. Логические выражения
- •3.1. Операции сравнения
- •3.2.1.Поразрядные операции » и «
- •3.2.2.Булевские операции присваивания
- •4.Ветвления
- •4.1. Тернарная операция
- •4.2.1. Оператор if
- •4.2.1. Внутристроковый условный оператор
- •4.3.1. Оператор switch
- •5. Организация циклов
- •5.1.Циклы do
- •5.2. Циклы while
- •5.3. Циклы for
- •5.4. Прерывание циклов
- •5.5. Бесконечные циклы
- •6. Преобразование типов
- •6.1. Неявное преобразование
- •6.2. Явное преобразование
- •6.3. Явные преобразования с помощью команд Convert
- •7. Массивы
- •7.1. Объявление массива
- •7.2 Циклы foreach
- •7.3. Многомерные массивы
- •7.4. Массивы массивов
- •8.Строки
- •8.Структуры (доделать)
- •9.Функции и процедуры
- •10.Метод Main()
- •11.Работа с файлы
- •12.Обработка ошибок и исключений(try.. .Catch.. .Finally)
1.Структура программы
Идентификаторы в C# могут состоять из символов латинского алфавита, цифр и знака подчѐркивания. Первым символом идентификатора не может быть цифра. В некоторых случаях идентификатор может начинаться со знака «@», который игнорируется, но позволяет использовать зарезервированные слова в качестве имѐн.
Рассмотрите структуру программы на основе пустого шаблона консольного проекта Visual Studio: запустите Visual Studio, создайте проект.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
}
}
}
Программа начинается с блока директив using, которые разрешают использование типов впространстве имѐн, поэтому уточнение использования типа в этом пространстве имѐн не требуется. Так как современные проекты и библиотеки имеют большой объѐм, удобно группировать код и типы в пространства имѐн. Разные пространства имѐн могут содержать объекты с совпадающими именами, но при обращении в программе к этим объектам имя объекта пишется с предшествующим именем содержащего его пространства имѐн, связанное точкой. Таким образом, даже при совпадении имѐн объектов, образуются уникальные идентификаторы. При использовании директивы using, предваряющее имя объекта название пространства имѐн можно не писать. Также директивуusing можно использовать для создания псевдонимов пространств имѐн или типов.
Пространство имѐн создаѐтся ключевым словом namespace. В пространстве имен можно объявить один или несколько из следующих типов: другое пространство имен;class;interface;struct;enum;delegate. В шаблоне, внутри пространства имѐн находится классProgram.
Класс Program содержит статический метод (функцию)Main(), являющийся точкой старта программы. Пространство после определения метода, заключѐнное в фигурные скобки, называется телом метода.Все изменения при проведении ряда работ вы будете производить в теле этого метода.
1.1. Типы данных
Для оперирования данными используются переменные.
Переменная – это именованная область памяти, для которой может быть установлено значение. Содержание переменной может изменяться операторами по ходу выполнения программы. Переменные должны быть объявлены до их применения. Для объявления переменной (переменных) сначала указываетсятип, а затемимя (имена, разделенные запятой). Завершается определение точкой с запятой, например «int i;».
Литералами называются постоянные значения (константы), представленные в удобной для восприятия форме.
1.1.1. Целые типы
Тип |
Диапазон |
Размер |
Значение |
sbyte
|
От –128 до 127
|
8-разрядное знаковое целое число
|
0 |
byte
|
От 0 до 255
|
8-разрядное целое число без знака
|
0 |
char
|
от U+0000 до U+ffff
|
16-разрядный символ Юникода
|
‘\0’
|
short
|
От –32 768 до 32 767
|
16-разрядное знаковое целое число
|
0 |
ushort
|
От 0 до 65 535
|
16-разрядное целое число без знака
|
0 |
int
|
От –2 147 483 648 до 2 147 483 647
|
32-разрядное знаковое целое число
|
0 |
uint
|
От 0 до 4 294 967 295
|
32-разрядное целое число без знака
|
0 |
long
|
От –9,223,372,036,854,775,808 до 9,223,372,036,854,775,807
|
64-разрядное целое число со знаком
|
0L |
ulong
|
От 0 до 18 446 744 073 709 551 615
|
64-разрядное целое число без знака |
0 |
В таблице представлены диапазоны возможных значений типов и значение по умолчанию, которое помещается в переменную типа при еѐ определении. Как видно из таблицы, целые типы делятся на типы со знаком и типы без знака. Они отличаются в интерпретации двоичного представления числа. В типах без знака все биты двоичного представления являются значимыми, у типов со знаком старший (самый левый бит в записи) используется в качестве флага знака. У положительных чисел флаг устанавливается в 0, у отрицательных – в 1. Отрицательные числа практически всегда представляются методом дополнения до двух, в соответствии с которым все двоичные разряды отрицательного числа сначала инвертируются, а затем к этому числу добавляется 1.
Тип char имеет размер 16 бит (два байта) и может описывать символы с кодами от 0 до 65535. Эта таблица символов называется юникодом (Unicode) и позволяет одновременно в программе использовать символы различных алфавитов. Символы таблицы ASCII с кодами от 0 до 127 совпадают с таблицей юникода.