
- •1) Многострочный
- •2) Однострочный
- •3) В стиле xml
- •Можно заменить:
- •Int х; // Здесь объявляется переменная
- •Int у; // и еще одна переменная.
- •0XFf; // 255 в десятичной системе, тип int
- •0XFfl; // 255 в десятичной системе, тип long
- •0X1а; // 26 в десятичной системе
- •If (b) Console.WriteLine ("Эта инструкция выполняется.");
Автор: Горелов С.В.
Л. СТРУКТУРА ПРОГРАММЫ.
ТИПЫ ДАННЫХ И ОПЕРАТОРЫ.
1. Структура программы
Все С#-программы имеют объектную ориентацию.
В общем случае программа может иметь следующую структуру:
using
пространство_имен;
.
. .
namespace
пространство_имен
{
}
class
имя_1 {
объявление
переменных класса
методы }
class
имя_2 {
объявление
переменных класса
методы }
. . .
class
имя_N
{
объявление
переменных класса
статический
метод
Main()
другие
методы }
Структура метода:
Заголовок
метода {
объявление
переменных метода
оператор1;
оператор2; .
. . }
Реальная С#-программа.
/* Это простая С#-программа.
Назовем ее Example.cs
*/
using System;
class Example
{
// Любая С#-программа начинается с метода Main().
public static void Main ()
{
Console.WriteLine ("Простая С#-программа");
}
}
C#-программа может иметь любое имя.
Расширение - .cs.
В С# поддерживается три стиля комментариев:
1) Многострочный
/*
Это простая С#-программа.
Назовем ее Example.cs.
*/
2) Однострочный
// Любая C#-программа начинается с метода Main().
3) В стиле xml
/// тег XML
Элементы программы:
using System;
Пространство имен, используемое по умолчанию.
Имена, объявленные в одном пространстве имен, не будут конфликтовать с такими же именами, объявленными в другом.
class Example
Ключевое слово class используется для объявления нового класса.
public static void Main()
В С# подпрограмма называется методом (method). Все C#-приложения начинают выполняться с вызова метода Main().
Ключевое слово static позволяет реализовать вызов метода Main() еще до создания объекта соответствующего класса.
Console.WriteLine ("Простая C#-программа");
Console — это имя встроенного класса, который поддерживает консольные операции ввода-вывода данных.
Передаваемая методу информация называется аргументом.
В языке С# различаются прописные и строчные буквы.
Console.WriteLine ( "Простая C#-программа.");
Можно заменить:
System.Console.WriteLine ( "Простая C#-программа.");
Вторая простая программа:
// Эта программа демонстрирует работу с переменными.
using System;
class Example2
{
public static void Main()
{
Int х; // Здесь объявляется переменная
Int у; // и еще одна переменная.
х = 100; // Здесь переменной х присваивается 100.
Console.WriteLine ("х содержит " + х);
у = х / 2;
Console.Write ("y содержит х / 2: ");
Console.WriteLine (у);
}
}
Переменная — это именованная область памяти, которой может быть присвоено определенное значение.
Во время выполнения программы значение переменной может меняться.
Формат объявления переменной:
тип имя_переменной;
Имя, присвоенное переменной, методу, классу или иному элементу, определенному пользователем, называется идентификатором.
Идентификаторы могут состоять из одного или нескольких символов и должны начинаться с буквы или символа подчеркивания.
Ключевые слова нельзя использовать в качестве имен переменных, классов или методов.
Ключевые слова С#
abstract |
event |
new |
struct |
as |
explicit |
null |
switch |
base |
extern |
object |
this |
bool |
false |
operator |
throw |
break |
finally |
out |
true |
byte |
fixed |
override |
try |
case |
float |
params |
typeof |
catch |
for |
private |
uint |
char |
foreach |
protected |
ulong |
checked |
goto |
public |
unchecked |
class |
if |
readonly |
unsafe |
const |
implicit |
ref |
ushort |
continue |
in |
return |
using |
decimal |
int |
sbyte |
virtual |
default |
interface |
sealed |
volatile |
delegate |
internal |
short |
void |
do |
is |
sizeof |
while |
double |
lock |
stackalloc |
else |
long |
static |
enum |
namespace |
string |
|
|
|
Наиболее часто переменные используются в операторе присваивания.
Оператор присваивания представляется одиночным знаком равенства (=). Его действие заключается в копировании значения, расположенного справа от оператора, в переменную, указанную слева от него.
а = b + с;
Наиболее распространенные арифметические операции:
+ Сложение – Вычитание
* Умножение / Деление % Остаток от /
2. Типы данных
2. 1. Переменные
Данные делятся на переменные и константы.
Данные различаются своим типом:
встроенные
пользовательские
Встроенные типы языка С#
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Стандарт языка C# включает следующий набор фундаментальных типов:
Логический тип (bool).
Значения false и true
bool flag, indicator;
Символьный тип (char).
char ch1, ch2, ch3;
Для представления отдельных символов и символов строк в С# используется Unicode (уникод), 16-разрядный стандарт кодирования символов. Стандартный 8-разрядный набор символов ASCII составляет лишь подмножество Unicode с диапазоном 0-127.
Строковый тип
string str1, str2;
Целые типы.
int x, y, z;
uint var1;
long leng;
Могут быть одного из четырех размеров – char, byte, short, int, long, сопровождаемые описателем s (signed) или u (unsigned), который указывает, как интерпретируется значение, - со знаком или без него.
Типы с плавающей точкой.
float area;
double угол;
decimal price, length;
Эти типы также могут быть одного из трех размеров - float, double, decimal.
Кроме того, в языке есть
Тип void.
Используется для указания на отсутствие информации.
Указатели.
Например, int* - указатель на переменную типа int.
Ссылки.
Например, double& - ссылка на переменную типа double.
Массивы
Например, char[ ] – массив (вектор) элементов типа char.
int[,] – массив (матрица) элементов типа int.
Все типы делятся на встроенные и определенные пользователем.
Все встроенные типы C# однозначно отображаются на системные типы каркаса .Net Framework, размещенные в пространстве имен System. Поэтому всюду, где можно использовать встроенное имя типа, например, int, с тем же успехом можно использовать и системное имя System.Int32.
int v = new Int32();
В языке C# сглажено различие между типом и классом. Все типы - встроенные и пользовательские - одновременно являются классами, связанными отношением наследования.
Типы, определяемые пользователем:
Классы (class).
Структуры (struct).
Перечислимые типы (enum).
Перечислимые типы используются для представления значений из конкретного множества.
Родительским, базовым классом, является класс Object. Все остальные типы или, точнее, классы являются его потомками, наследуя методы этого класса.
У класса Object есть четыре метода:
bool Equals(object obj) - проверяет эквивалентность текущего объекта и объекта, переданного в качестве аргумента;
System.Type GetType() - возвращает системный тип текущего объекта;
string ToString() - возвращает строку, связанную с объектом. Для арифметических типов возвращается значение, преобразованное в строку;
int GetHashCode() - служит как хэш-функция в соответствующих алгоритмах поиска по ключу при хранении данных в хэш-таблицах.
Естественно, что все встроенные типы нужным образом переопределяют методы родителя и добавляют собственные методы и свойства
2.2. Константы
Константы
Литералы
Именованные
константы
Литералы
Строковые литералы
"Строка – это набор символов, заключенных в двойные кавычки. "
"Это тест"
string s1 = "Москва – город герой!";
Символьные литералы.
'а', '%'
char ch = 'X';
ESC-последовательности
Помимо обычных символов, строковый литерал может содержать одну или несколько управляющих последовательностей, называемых ESC-последовательностями.
Управляющие последовательности символов
ESC-последо-
вательность Описание
\a Звуковой сигнал (звонок)
\b Возврат на одну позицию
\f Подача страницы (для перехода к началу
следующей страницы)
\n Новая строка
\r Возврат каретки
\t Горизонтальная табуляция
\v Вертикальная табуляция
\0 Нуль-символ
\' Одинарная кавычка (апостроф)
\" Двойная кавычка
\\ Обратная косая черта
ch = '\n' ;
// Использование ESC-последовательностей в строках.
using System;
class StrDemo
{
public static void Main()
{
Console.WriteLine ("Первая строка\nВторая строка" +
"\nТретья строка");
Console.WriteLine ("Один\tДва\tТри");
Console.WriteLine ( "Четыре\tПять\tШесть") ;
// Вставляем кавычки.
Console.WriteLine("\"3ачем?\", спросил он.");
}
}
Вот что получаем в результате:
Первая строка
Вторая строка
Третья строка
Один Два Три
Четыре Пять Шесть
"Зачем?", спросил он.
Не путайте строки с символами!
char ch1 = 'X';
string s1 = "X";
// s1 = 'X'; // ERROR
Целочисленным литералам может быть присвоен один из типов: int, uint, long или ulong.
Присваивается наименьший по длине тип.
Целочисленные литералы типа int:
-100, 56
Чтобы принудительно задать литерал типа long, присоедините к его концу букву l или L.
-100L, 56L
Целочисленное значение без знака: суффикс u или U.
-100UL, 56u
Вещественным литералам может быть присвоен один из типов: float или double.
Литералы с плавающей точкой по умолчанию имеют тип double.
11.123, -75.0, 0.123
Несмотря на то что целочисленные литералы создают int-, uint-, long- или ulong-значения по умолчанию, их тем не менее можно присваивать переменным типа byte, sbyte, short или ushort, если, конечно, они могут быть представлены соответствующим типом.
Чтобы задать литерал типа float, используйте суффикс f или F.
11.123F, 10.19F
Чтобы задать литерал типа decimal, используйте суффикс m или М.
9.95М
Шестнадцатеричные литералы (целые числа)