Программирование >>  Программирование с использованием ajax 

1 ... 15 16 17 [ 18 ] 19 20 21 ... 396


Это заслуживает еще одного примера. Рассмотрим следующий код:

int varl, var2 = 5, var3 = 6; varl = var2++ * ~var3;

Какое значение будет присвоено переменной varl? Перед вычислением выражения в силу сначала вступит предшествующая переменной var3 операция -, которая изменит ее значение с 6 на 5. На операцию, следующую за переменной var2, можно не обращать внимания, поскольку она не вступит в силу до тех пор, пока не завершится вычисление выражения, а это значит, что переменной varl будет присвоено то значение, которое получится после умножения 5 на 5, т.е. 25.

Эти простые унарные операции оказываются очень кстати в удивительно большом количестве ситуаций. Они, по сути, представляют собой сокращенную версию выражений вроде:

varl = varl + 1;

Выражения подобного рода имеют много применений, особенно в циклах, и об этом более подробно речь пойдет в главе 4. В следующем практическом занятии приводится пример использования математических операций, а также вводится несколько других полезных концепций. Код приглашает ввести строку и два числа и затем демонстрирует результаты выполнения над введенными числами ряда вычислений.

Ef *!ig!?!!I!!?j Манипулирование переменными

с помощью математических операций

1. Создайте новое консольное приложение по имени Ch03Ex02 и сохраните его в каталоге C:\BegVCSharp\Chapter03.

2. Добавьте в Program, cs следующий код:

static void Main(string [ ] args) {

double firstNumber, secondNuinber ; string userName;

Console. WriteLine ( Enter your name: ) ;

Введите ваше имя userName = Console. ReadLine () ; Console. WriteLine ( Welcome {0}! , userName);

Добро пожаловать Console. WriteLine ( Now give me a number: ) ;

Теперь введите число firstNumber = Convert.ToDouble (Console.ReadLine ()) ; Console.WriteLine ( Now give me another пгдтЬег: ) ;

Теперь введите еще одно число secondNumber = Convert. ToDouble (Console. ReadLine ()) ; Console. WriteLine ( The sum of {0} and {1} is {2}. , firstNumber, secondNumber, firstNumber + secondNumber);

Результат сложения Console.WriteLine ( The result of subtracting {0} from {1} is {2}. ,

secondNuinber, firstNianber, firstNumber - secondNianber) ;

Результат вычитания Console.WriteLine( The product of {0} and {1} is {2}. , firstNumber, secondNianber, firstNianber * secondNuinber) ;

Результат умножения Console.WriteLine ( The result of dividing {0} by {1} is {2}. ,

firstNumber, secondNumber, firstNiunber / secondNiunber) ;

Результат деления



Console.WriteLine( The remainder after dividing {0} by {1} is {2}. ,

firstNuniber, secondNuniber, firstNuniber % secondNuniber) ; Остаток от деления

Console.ReadKey();

3. Выполните добавленный код. На экране должно появиться то, что показано на рис. 3.2.


Рис. 3.2. Выполнение приложения Ch03Ex02 4. Введите свое имя и нажмите клавишу <Enter>, как показано на рис. 3.3.

I fll#:W::iB*flVCSrwjVCh pl r03/Ch03Fx02h03El02T)4n.D#bue/Cb03Ex02EXE


Рис. 3.3. Ввод имени

5. Введите число и нажмите клавишу <Enter>, после чего введите еще одно число и снова нажмите <Enter>, как показано на рис. 3.4.


Рис. 3.4. Ввод чисел

Описание полученных результатов

Помимо математических операций, в этом коде еще также впервые представляются два важных понятия, с которыми доведется сталкиваться довольно часто:

□ пользовательский ввод;

□ преобразование типов.



Для пользовательского ввода применяется синтаксис, похожий ранее показанную команду Console. WriteLine (), а именно - Console. ReadLine (). Эта команда приглашает пользователя ввести данные, которые затем сохраняются в переменной типа

string:

string userName;

Console.WriteLine( Enter your name; ); userName = Console.ReadLine(); Console.WriteLine( Welcome {0}! , userName);

Приведенный код выводит содержимое присвоенной переменной userName прямо на экран.

В этом примере еще также выполняется и считывание двух чисел. Данный процесс является немного более сложным, поскольку команда Console. ReadLine () генерирует строку, а требуется число. Здесь в игру вступает механизм преобразования шипов. Более подробно о нем будет рассказываться в главе 5, а пока давайте просто проанализируем код, используемый для его обеспечения в данном примере.

Сначала объявляются переменные, в которых должны сохраняться вводимые числа:

double firstNumber, secondNumber;

Далее обеспечивается отображение соответствующего приглашения, и в отношении получаемой Console. ReadLine () строки применяется команда Convert. ToDouble () для преобразования ее в число double. Это число затем присваивается объявленной ранее переменной firstNumber:

Console.WriteLine( Now give me a number: ); firstNumber = Convert.ToDouble(Console.ReadLine ());

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

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

Console.WriteLine( Now give me another number: ); secondNumber = Convert.ToDouble(Console.ReadLine ());

После этого производится вывод на экран результатов сложения, вычитания, умножения и деления двух полученных чисел, а также отображение остатка от деления, получаемого с помощью операции %:

Console.WriteLine( The sum of {0} and {1} is {2}. , firstNumber,

secondNumber, firstNumber + secondNumber); Console.WriteLine( The result of subtracting {0} from {1} is {2}. ,

secondNumber, firstNumber, firstNumber - secondNumber); Console.WriteLine( The product of {0} and {1} is {2}. , firstNumber,

secondNumber, firstNumber * secondNumber); Console.WriteLine( The result of dividing {0} by {1} is {2}. ,

firstNumber, secondNumber, firstNumber / secondNumber); Console.WriteLine( The remainder after dividing {0} by {1} is {2}. ,

firstNumber, secondNumber, firstNumber % secondNumber);

Обратите внимание, что выражения, вроде firstNumber + secondNumber и т.д., передаются оператору Console .WriteLine () напрямую в виде параметра, без использования промежуточной переменной:

Console.WriteLine( The sum of {0} and {1} is {2}. , firstNumber, secondNumber, firstNumber + secondNumber);

Применение синтаксиса подобного рода может делать код очень удобочитаемым и сокращать количество подлежащих написанию строк кода.



1 ... 15 16 17 [ 18 ] 19 20 21 ... 396

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика