Урок 1. Консольные приложения. Типы данных.
Арифметические выражения.
Общие правила языка:
- Каждый оператор должен заканчиваться точкой с запятой.
- Операторы объединяются в блоки с помощью фигурных скобок.
- Комментарии начинаются с //
- Многострочные комментарии начинаются с /*
Заканчиваются - */
- Директива using сообщает компилятору, где искать те типы, которые не определены в текущем пространстве имен.
- Типы данных. С# поддерживает общую систему типов (CTS), включающую:
int, char, float, string, decimal и т. д.
- С# является строго типизированным языком – нет автоматического преобразования типов.
- Данные в программе хранятся в одном из двух мест в зависимости от типа: стек используется для хранения данных
фиксированной длины – переменные типов по значению, (int – четыре байта), переменные типов по ссылке хранятся в куче.
- С# имеет пятнадцать предопределенных типов: тринадцать типов по значению и два типа по ссылке: (string и object).
Информатика, как точная наука, работает с формальными структурами данных. Примерами
структур данных являются числа, логические значения, последовательности, таблицы,
строки, списки, деревья, графы и т.п. Структуры данных существуют независимо от
их реализации в программировании. Уже в XVIII - XIX веках ученые использовали эти
понятия. Это основные кирпичики информации, из которых формируется сложная структура
объектов. Удачный выбор структуры данных для представления информации может существенно
повысить эффективность решения задачи. Реализация структур объектов в языке программирования
производится через соответствующие типы данных. Важным компонентом платформы .Net является иерархически организованная
библиотека классов - пространство имен .Net. Корневым элементом в этой сложной структуре
является имя System. System содержит фундаментальные типы данных
платформы .Net, используемые в приложениях: Object, Byte,
Char, Array, Int32, String, и др. Кроме того System
содержит элементы пространства имен второго уровня и более 100 системных классов,
обеспечивающих преобразование типов данных, интерфейсы и аттрибуты классов, обработку
исключений, управления процессами выполнения приложений.
Таблица типов данных платформы .Net
Категория | Имя класса | Описание | Тип данных в VB | C# | C++ |
Integer Целое | Byte | 8-битовое целое без знака | Byte | byte | char |
| SByte | 8-битовое целое со знаком | SByte | cbyte | signed char |
| Int16 | 16-битовое целое со знаком | Short | short | short |
| Int32 | 32-битовое целое со знаком | Integer | int | int |
| Int64 | 64-битовое целое со знаком | Long | long | __int64 |
| UInt16 | 16-битовое целое без знака | UShort | ushort | unsigned short |
| UInt32 | 32-битовое целое без знака | UInteger | uint | unsigned int |
| UInt64 | 64-битовое целое без знака | ULong | ulong | unsigned __int64 |
Floating point числа с плавающей точкой | Single | 32-битовое число с плавающей точкой | Single | float | float |
| Double | 64-битовое число с плавающей точкой | Double | double | double |
Logical Логический | Boolean | Логический тип (true, false) | Boolean | bool | bool |
Other Другие | Char | 16-битовый Unicode символ | Char | char | wchar_t |
| Decimal | 128-битовое число с фиксированной точкой | Decimal | decimal | Decimal |
| IntPtr | Целое со знаком размером 32-бит или 64-бит в зависимости от платформы | IntPtr | IntPtr | IntPtr |
| UIntPtr | Целое без знака размером 32-бит или 64-бит в зависимости от платформы | UIntPtr | UIntPtr | UIntPtr |
Class objects класс объектов | Object | Корень в иерархии объекта | Object | object | Object* |
| String | Строка символов Unicode неизменной длины | String | string | String* |
Консольное приложение
Консольное приложение принимает входные и отправляет выходные данные на консоль, которая также называется командной строкой.
Можно создать консольные приложения для выполнения различных задач — от простейших до самых сложных. Консольное приложение
можно также использовать для демонстрации функциональных возможностей, которые позже будут реализованы в классическом
приложении Windows. Консольные приложения могут взаимодействовать с другими классическими приложениями.
С# делит свои типы данных на две категории, основываясь на том, в каком из двух мест они хранятся. Переменные типов по значению
хранят свои данные в стеке, Переменные типов по ссылке хранят свои данные в куче.
Таблица типов данных в С#
Типы данных в С# | Названия типов данных |
bool | Логическое |
byte | 8-битовое целое без знака 0-255 |
sbyte | 8-битовое целое со знаком -127 … 127 |
char | Литера
char char1 = 'Z'; // Character literal
char char2 = '\x0058'; // Hexadecimal
char char4 = '\u0058'; // Unicode |
decimal | 128 – битовое с фиксированной точкой |
double | 64-битовое число с плавающей точкой |
float | 32-битовое число с плавающей точкой |
int | 32-битовое целое со знаком |
uint | 32-битовое целое без знака |
ulong | 64-битовое целое со знаком |
long | 64-битовое целое без знака |
short | 16-битовое целое со знаком |
ushort | 16-битовое целое без знака |
string | Строка символов в Unicode |
object | Алиасное имя |
Переменные
При определении переменных следует указать тип объекта , следом имя объекта. Например:
int i;
x=100; ИЛИ
int i=100;
Компилятор С# требует, чтобы каждая переменная по значению была явно инициализирована начальным значением до того,
как её можно будет использовать в операциях.
Арифметические операции:
+ (сложение), - (вычитание), * (умножение), / (деление), % (остаток при делении).
Идентификаторы переменных - это имена, которые даются переменным.
Они должны начинаться с буквы или знака подчеркивания, содержат буквы и цифры.
В качестве идентификатора нельзя использовать ключевые слова C#.
Пример программы:
using System;
using System.Collections.Generic;
using System.Text;
namespace Проект1
{
class Program
{
static void Main(string[] args)
{
String name; //Строковая переменная Имя
String fam; //Строковая переменная Фамилия
String otvet1,otvet2; //Строковая переменная Отчество
Console.WriteLine("Введите ваше имя"); // Вывод текста на консоль
name=Console.ReadLine(); // Чтение введенного имени с консоли
Console.WriteLine("Введите вашe фамилию");
fam=Console.ReadLine();
otvet1="Добрый день, "+name+" " +fam;
Console.WriteLine(otvet1);
Console.WriteLine("Успехов " + name + " " + fam);
Console.ReadLine(); // Оператор вводится, чтобы консоль не закрылась
return;
}
}
}
Задание 1
Добавить отчество и вывод, используя отчество.
Задание 2
Ввести первое число Х, ввести второе число У. Вывести результат суммы, разности, произведения, деления двух чисел Х и У.
static void Main(string[] args)
{
int x,y;
int z;
float r;
Console.WriteLine("Введите X");
x = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите Y");
y = Convert.ToInt32(Console.ReadLine());
// Сложение
z = x + y;
Console.WriteLine("z=x+y " + Convert.ToString(z));
// Вычитание
...
// Умножение
...
// Деление
...
Console.WriteLine("Успехов ");
Console.ReadLine();
return;
} }
Задания по работе с арифметическими выражениями