Пятница, 26.04.2024, 15:27
Приветствую Вас Гость | RSS

Лекции

Меню сайта
Форма входа
Категории раздела
ТАУ (Теория автоматического управления) [31]
лекции по ТАУ
Экология [151]
учебник
Бухгалтерский учет и налогообложение в строительстве [56]
Дементьев А.Ю. - Практическое пособие
Психология [104]
Пип
информатика [80]
с# Карли Ватсон
современные стулья [0]
новинки
Поиск

Главная » 2010 » Февраль » 10 » Переменные и выражения
23:56
Переменные и выражения
Переменные и выражения
Возможно, наиболее фундаментальное определение компьютерной программы —
"последовательность операций над данными". Это утверждение оказывается спра-
ведливым даже для наиболее сложных случаев, таких, например, как развернутые,
многофункциональные Windows-приложения типа Microsoft Office Suite. И хотя
пользователи зачастую не задумываются над структурой приложений, внутренняя
сущность последних заключается именно в этом.
Попробуем проиллюстрировать сказанное на примере обычного компьютерного
монитора. Когда вы смотрите на экран, трудно представить что-то кроме "движу-
щейся картинки". Хотя на самом деле то, что вы видите, является всего лишь
представлением некоторых данных, которые — в своем исходном виде — просто
последовательность нулей и единиц, хранящихся где-то внутри компьютера. Какие
бы действия вы ни выполняли на экране — перемещали бы курсор,.щелкали
мышью по иконке или вводили текст в текстовом процессоре,— все это приводит
к определенным изменениям данных, хранящихся в памяти.
Можно привести и не столь абстрактный пример. Когда вы используете прило-
жение-калькулятор, вы вводите данные, представленные в форме чисел, и выпол-
няете над этими числами различные операции почти так же, как с помощью
карандаша и бумаги, только намного быстрее!
Итак, если фундаментальное свойство компьютерных программ заключается
в выполнении операций над данными, то это предполагает наличие, во-первых,
некоторого способа хранения данных и, во-вторых, определенных методов для вы-
полнения манипуляций над ними. Для обеспечения этих двух функций используются
соответственно переменные и выражения, и данная глава посвящена их изучению.
Вначале, однако, нам придется рассмотреть базовый синтаксис, используемый
при программировании на С#.
Базовый синтаксис С#
Внешне код на С# очень напоминает код на C++ или на Java. На первый
взгляд этот синтаксис может показаться весьма запутанным и гораздо меньше по-
хожим на обыкновенный письменный английский, чем некоторые другие языки.
Однако, погрузившись в мир программирования на С#, вы обнаружите, что ис-
пользуемый в нем стиль является весьма разумным, а написание удобочитаемых
программ не представляет никаких сложностей.
В отличие от компиляторов с некоторых других языков программирования, ком-
пиляторы С# не обращают внимание на лишнее пустое пространство, которое мо-
жет состоять из пробелов, возвратов каретки или символов табуляции (эти символы
22 Глава 3
известны под общим названием символов пустого пространства). Отсюда можно
сделать вывод, что мы обладаем большой свободой в выборе способа форматиро-
вания нашей программы, хотя следование определенным правилам помогает созда-
вать более удобные для чтения программы.
Код на С# представляет собой последовательность операторов, каждый из ко-
торых оканчивается точкой с запятой. Поскольку пустое пространство игнорируется,
то можно располагать по несколько операторов в одной строке; однако для того
чтобы сделать программу более наглядной, принято размещать символ возврата
каретки после каждой точки с запятой, в результате чего на строке располагается
только один оператор. Хотя абсолютно приемлемо (и совершенно нормально) ис-
пользовать операторы, которые занимают несколько строк кода.
С# — язык, обладающий блочной структурой; другими словами, каждый опе-
ратор является частью некоторого блока кода. Эти блоки, для обозначения начала
и конца которых используются фигурные скобки { и }, могут содержать произволь-
ное количество операторов или не содержать их вовсе. Обратите внимание, что
фигурные скобки не сопровождаются точками с запятой.
Итак, простой блок программы на С# может иметь следующий вид:
<строка кода 1, оператор 1>;
<строка кода 2, оператор 2>
Здесь выражения <строка кода х, оператор у> не являются действительными
составляющими кода на С#: этот текст используется для обозначения места, куда
впоследствии будут помещены операторы С#. Обратите внимание, что в данном
примере вторая и третья строки кода являются частями одного и того же операто-
ра, поэтому после второй строки точка с запятой отсутствует.
В этом простом примере кода использованы отступы, чтобы сделать запись
на С# более наглядной. Такой подход не является изобретением автора — это
обычная практика; в действительности VS автоматически делает такие отступы
по умолчанию. Каждый блок кода имеет свою величину отступов, определяющую,
насколько далеко вправо он сдвинут. Блоки могут быть вложены друг в друга
(т. е. блоки могут содержать в себе другие блоки), и в таком случае величина от-
ступа у вложенных блоков должна быть больше:
, ' • • • ' ' ' ' • - • ' •
<строка кода 2>;
<строка кода 3>; • •... .
::Ч :V.:-: ^ •' .':: - ''' "" ' ' ••' ' " ""' }" ' ""'' Ft F- ' O^-f^ f:'^ У^Ш)^^ ' . . ' / ' "^
<строка кода 4>;
}
Кроме того, больший отступ обычно используется для тех строк кода, которые
являются продолжением предшествующей строки, как в случае строки 3 в первом
из приведенных примеров.
Запомните: такой стиль ни в коем случае не является обязательным. Однако
если вы не будете его использовать, то по мере прочтения этой книги вы будете
путаться все сильнее и сильнее!
Еще одна вещь, которая может часто встречаться в коде на С#, это коммента-
рии. Строго говоря, комментарии не являются частью кода на С#, однако они спо-
койно сосуществуют с ним. Предназначение комментариев в точности соответствует
Переменные и выражения 23
их названию: они позволяют включать в программу описательный текст на обыч-
ном английском (французском, немецком, монгольском и т. д.) языке, который
игнорируется компилятором. Когда мы приступаем к созданию достаточно длинных
сегментов кода, то бывает полезно включить в программу напоминание о том, что
именно мы собираемся здесь сделать, например: "в этой строке кода у пользовате-
ля запрашивается число" или "этот сегмент кода написан Бобом". В С# преду-
смотрены два способа включения комментариев. Можно использовать либо
специальные маркеры, обозначающие начало и завершение комментария, либо мар-
кер, который означает, что "все, что находится за ним до конца строки, является
комментарием". Последний способ является исключением из правила, о котором
мы упоминали ранее и которое гласит, что компиляторы С# игнорируют все сим-
волы возврата каретки, но это особый случай.
Для того чтобы обозначить комментарии по первому способу, мы будем исполь-
зовать сочетания символов /* в начале комментария и */ в конце комментария.
Они могут располагаться как на одной строке, так и на разных строках; в послед-
нем случае все строки, находящиеся между ними, также являются частью коммен-
тария. Единственное, что не может входить в состав комментария,— это сочетание
символов */, поскольку оно будет интерпретировано как конец комментария.
Итак, вполне допустимы следующие комментарии:
/* Это комментарий */
/* Так же, как . . .
. . . и это! */
А вот приведенный ниже пример вызовет проблемы:
/* Сочетание символов "*/" часто используется для завершения комментария */
В этом случае последняя часть комментария (символы, расположенные после */)
будет интерпретирована как код С#, что приведет к возникновению ошибки.
Другой подход к оформлению комментария состоит в использовании в качестве
его начала символов //.В следующем за ними комментарии мы можем написать
все, что угодно... но не более одной строки! Данный пример является правильным:
// Это еще один вид комментария.
А вот попытка воспользоваться следующим комментарием приведет к неудаче,
поскольку вторая строка будет интерпретироваться как код на С#:
//Это тоже комментарий,
а вот это уже нет.
Такой вид комментариев оказывается полезным для документирования отдель-
ных операторов, поскольку весь комментарий целиком умещается на одной строке:
<Некоторый оператор>; / / Объяснение данного оператора
В С# существует еще и третий тип комментариев, который позволяет создавать
документацию для программы. Этот комментарий также расположен на одной стро-
ке, но в отличие от последнего случая начинается с трех символов /, а не с двух:
/// Это особый вид комментария
В обычных условиях эти комментарии игнорируются компилятором, как и все
остальные, однако можно настроить VS таким образом, что текст этих коммента-
риев при компиляции проекта будет извлекаться и использоваться для создания
24 __ Глава 3
специальным образом отформатированного текстового файла. На его основе в даль-
нейшем можно создавать документацию по проекту. Этот вопрос будет детально
рассматриваться в главе 18.
Чрезвычайно важным моментом, который необходимо учитывать при работе
с С#, является чувствительность этого языка к регистру. В отличие от некоторых
других языков программирования, на С# текст необходимо вводить, в точности со-
блюдая регистр, поскольку простая замена заглавной буквы на строчную приведет
к прекращению компиляции проекта.
Базовая структура консольного приложения на С#
Давайте еще раз обратимся к примеру консольного приложения из предшеству-
ющей главы (consoieAppiicationi) и потратим некоторое время на разбор струк-
туры программы. Код приложения имеет следующий вид:
using System;
namespace ConsoieAppiicationi
{
/// <summary>
/// Summary description for Classl.
/// </summary>
class Classl
{
static void Main (string [] args)
{
//
// TODO: Add code to start application here
// static void Main(string[] args)
Console.WriteLine(*The first app in Beginning C# ProgrammingI");
Нетрудно заметить, что в этом приложении присутствуют все синтаксические
элементы, обсуждавшиеся выше. Мы можем обнаружить здесь точки с запятыми,
фигурные скобки, комментарии и отступы.
Наиболее важной частью кода, насколько мы можем судить об этом на данный
момент, является следующая:
static void Main(string[] args)
// TODO: Add code to start application here
// static void Main(string[] args)
Console.WriteLine(*The first app in Beginning C# Programmingi*);
}
Это тот код, который выполняется при запуске консольного приложения, или,
если говорить немного точнее, тот заключенный в фигурные скобки блок кода, ко-
торый и выполняется при запуске. Единственной строкой, выполняющей какие-
либо действия, является строка, которую мы добавили к автоматически сгенериро-
ванному коду и которая — одна из всех — не является комментарием. Этот код
выводит некоторый текст в консольном окне, а точный механизм его работы нас
пока не интересует.
Поскольку основной задачей первых двух глав является объяснение базового
синтаксиса С#, понимание того, каким образом выполнение приложения доходит
до точки вызова console.writeLineо, сейчас не важно. Значимость этого дополни-
тельного кода станет понятна позднее.






Категория: информатика | Просмотров: 1130 | Добавил: basic | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Календарь
«  Февраль 2010  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

krutoto.ucoz.ru
Бесплатный конструктор сайтов - uCoz