Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_раб_1.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1.8 Mб
Скачать

1.6. Справки по структуре и операторам c#-программы

При выполнении данной работы рекомендуется использовать программу со стандартной структурой:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

//Блок основной программы

}

}

}

Алфавит языка — это тот набор символов (знаков), который допустим в данном языке. В алфавит языка C# входят:

  • прописные и строчные буквы (латинские и национальных шрифтов) и символ подчеркивания (_);

  • цифры;

  • специальные знаки: ' " , { } | [ ] ( ) + - / \ % ? ! . ; :

  • < = > & * ~ ^

  • неотображаемые символы («обобщенные пробельные символы»), они используются для отделения лексем друг от друга (это пробелы, табуляция, переход на новую строку).

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

Таблица 1. Ключевые слова C#

Целые типы

Целые типы данных предназначены для хранения целых чисел. Все целые типы можно подразделить на знаковые и беззнаковые.

В таблице ниже приведены все знаковые целые типы и их основные характеристики:

А в этой таблице приведены все беззнаковые типы данных:

Вещественные типы

Для работы с действительными числами в языке C# имеется два вещественных типа: float (одинарная точность) и double (удвоенная точность). Приведем краткую характеристику этих типов:

Символьный тип

Для хранения отдельных символов используется тип char. Так как в языке C# для кодирования символов используется Unicode, то под каждый символ отводится 2 байта.

Логический (булевый) тип

Для работы с логическими величинами используется тип bool. Допустимы два значения: true (истина) и false (ложь). Пример объявления переменной логического типа:

Для данных логического типа допустимы операции проверки на равенство и неравенство.

Следует иметь ввиду, что для булевого типа в C# запрещены какие-либо преобразования в целые типы.

Прежде чем использовать в программе какую-то переменную, надо обязательно дать её описание, то есть сказать, какое имя имеет переменная и каков её тип. Вначале указывается тип переменной, а затем её имя. Например:

int i;

bool h;

double a, b, c;

Для вывода поясняющего текста (подсказок оператору ЭВМ) можно использовать операторы типа:

Console.Write("Введите значение переменной a:");

Console.WriteLine("Результат программы равен:");

Для ввода данных можно использовать операторы типа:

Console.ReadLine();

При вводе числа разделяются пробелом, символы вводятся без разделителя.

Для вывода результатов можно использовать операторы типа:

Console.Write("Результат программы равен значению переменной c=");

Console.WriteLine(c);

Console.WriteLine("Результат программы равен значению переменной c={0}", c);

Арифметические операции на языке C#:

Приоритет операций сложения и вычитания ниже, чем умножения, деления и вычисления остатка. Для изменения порядка вычисления используют круглые скобки, например для умножения на 2 суммы двух чисел A и B можно написать:

2*(A+B)

Далее. Как видно из полученных результатов, в C# один знак / означает две разные операции. Если один или оба операнда — вещественные, то выполняется обычное деление, если оба операнда — целые, то выполняется деление нацело и результат будет целого типа. Использование этой операции требует повышенной внимательности, например, если запрограммировать вычисление математического выражения

буквально, т.е. так:

1 / 3 * Math.Sin(2 * X);

то результат вне зависимости от значения X всегда будет равен нулю, так как выражение 1/3 означает деление нацело. Для решения проблемы достаточно один из операндов

сделать вещественным

1.0 / 3 * Math.Sin(2 * X);

Смена знака. Унарная операция «-» означает смену знака. Она имеет очень высокий приоритет — выше, чем, к примеру, у операции умножение. Поэтому в выражении

-A*B

вначале выполняется смена знака для A, а затем умножение -A на B.

Для парности имеется и операция унарный плюс, т.е. можно написать

+A

Более интересны, и главное, очень употребительны операции автоувеличения и автоуменьшения.

Операция автоувеличения (инкремент)

Записывается как два знака плюс (без пробелов между ними!), применяется для увеличения на единицу значения переменной, например:

A++

Исходное значение переменной A увеличивается на 1, и полученный результат сохраняется в переменной A. По полученному результату эта операция соответствует следующему выражению:

A=A+1

Важный момент: автоувеличение применимо именно для переменной, но не для константы или выражения.

Для операции инкремент допустимы две формы записи:

префиксная — например, ++A

постфиксная — например, A++.

При префиксной форме записи делается увеличение переменной на 1 и затем используется новое значение этой переменной.

В постфиксной форме записи также переменная увеличивается на 1, но в текущем выражении используется старое значение переменной.

Порядок выполнения действий определяется рангом (старшинством) операций или скобками по правилам алгебры.

Оператор присваивания выполняется следующим образом:

а) вычисляется значение выражения, записанного в правой части оператора;

б) полученное значение присваивается переменной, имя которой записано в левой части оператора;

<переменная> = <арифметическое_выражение> или <константа>;

например, Result = (A + B) / X;

B1 = true;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]