Программирование на С++.NET.

Урок 1

Статья предполагает что вы уже установили С++.NET и ознакомились с интерфейсом. Поможет Вам в этом наша статья «Первое знакомство с С++.NET»

Ну, а сейчас перейдем прямо к программированию. Если вы уже имеете опыт работы в С++, то эта статья не для вас.

Содержание:

o      Создание нового решения

o      Разбор сгенерированного кода

o      Написание своего кода

o      Компиляция и проверка

o      Упражнение, резюме

 

Создание нового решения

Откройте  Microsoft Visual Studio.

Выберите Файл(File) | Новый(New) | Проект(Progekt) (БикЮрис.1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис1

 

 


В появившемся окне выберите
Win32 Projekt.

В поле введите Hello.

Во вкладках откройте Aplication Settings, затем выберите Сonsole Aplication и нажмите кнопку Финиш(Finish).

Ваша первая программа готова!

Разбор сгенерированного кода

Ниже приведен сгенерированный программой код (Hello.cpp):


// Hello.cpp : Defines the entry point for the console application.

//

 

#include "stdafx.h"

 

int _tmain(int argc, _TCHAR* argv[])

{

         return 0;

}

 

// - Два слеша «объясняют» компилятору, что это не программный код, а примечания программиста. Я советую завести привычку всегда писать комментарии, поясняющие те или иные функциональные фрагменты кода. Не забудьте что вся строка, отмеченная таким способом, считается комментарием.

Комментарии выделяются по умолчанию зеленым цветом.

 

#include "stdafx.h" – состоит из двух частей - #include и "stdafx.h". #include оператор позволяющий включать библиотеки, классы и многое другое. В библиотеках содержаться различные функции и классы С++. Они упрощают работу с программой.

"stdafx.h" – имя и тип стандартной библиотеки С++. Их существует немыслимое множество, но основные нужно знать. Ниже я приведу три основных библиотеки:

 

   stdafxсамая основная, рекомендую всегда включать в проект. При включении заключается в " и ", имя также пишется c типом ‘h’.

 

   iostream – также стандартная библиотека, дальше она нам понадобиться. Очень полезная, я, в частности, эту библиотеку всегда включаю в свои проекты. При включении заключается в < и >, имя также пишется без типа.

 

   windows – библиотека использующейся для программирования под Windows. Без нее любая программа, написанная под Windows, не будет работать. При включении заключается в " и ", имя также пишется c типом ‘h’.

 

int _tmain(int argc, _TCHAR* argv[]) – функция обеспечивающая работу с консолью Windows. Ее описание выходит далеко за пределы трилогии. Главное знать что эта функция очень важна. Для повышения читаемости кода можно немного изменить ее: int  main (void). void – ключевое слово, заменяющая русское слово «нет». Все внутри этой функции заключается в фигурные скобки. Общий синтаксис таков:

 

int main (void)

{

Какие-нибудь операторы

return 0;

}

 

return  – неотъемлемая часть любой функции, как вашей так и библиотечной. Но лишь системные функции или функции проверок ошибок, подробней описываются функции в статье «Урок 2. Функции». Для информации: main возвращает 0, если выполнение программы прошло успешно.

 

Написание своего кода

Я не считаю, что нужно начинать с программы отображающей  Привет, мир!. Лучше начать с функциональной программы, например, консольного калькулятора.

Ниже приведен его код:

// Калькулятор.cpp - done by Sasha Terehov

//

 

#include "stdafx.h"

#include <iostream>  //Включим файл стандартной библиотеки

using namespace std; //Объединяем именные пространства

 

 int  main (void)

{

         //Объявляем переменные:

         double a; //хранит число дробное и целое

         double b; //хранит число дробное и целое

         char znac; //хранит символ

         char exit; //хранит символ

         cout <<  "Hello!!!" << endl <<"Enter fist number:" << endl;

         cin >> a; //Узнаём значение 'а'

         cout <<  "Enter second number:" << endl;

         cin >> b; //Узнаём значение 'b'

         cout <<  "Enter mathematical operator:" << endl;

         cin  >> znac; //Узнаем, что надо делать с 'а'  и 'b'

         switch ( znac ) //Сравниваем ввод пользователя со:

         {

                            case '+':                         //знаком плюс(+)  

                            cout << a << " + " << b <<  " = " <<  a+b << endl;

                            break;

                            case '-':                                                     //знаком минус(-)

                            cout << a << " - " << b <<  " = " <<  a-b << endl;

                            break;

                            case '/':                                           //знаком разделить(/)

                            if (b==0)

                                      {

                                               cout << "ERROR"<< endl;

                                                        break;

                                      }

                            cout << a << " / " << b <<  " = " <<  a/b <<  endl;

                            break;

                            case '*':                                           //знаком умножить(*)

                            cout << a << " * " << b <<  " = " <<  a*b << endl;

                            break;

                            default:

                            cout << "You enter wrong operator, please try again!"<< endl;

                            break;

         }

         cin >> exit;                  //Даем пользователю время оценить результат

         return 0;

}

Скопируйте его в cpp файл на место предыдущего, сгенерированного кода.

Затем выберите Build(Скомпилировать) | Build Solution (Скомпилировать решение) и нажмите, по окончанию компиляции, F5. Перед вашими глазами возникнет такое окно (Рис.2):

 Рис.2

 

Этот пример иллюстрирует все сообщения выводимые ОС и ответ пользователя на них.

Но приступим к ознакомлению с кодом. Первые четыре записи были описаны ранее (в разделе Разбор сгенерированного кода) так что начнем познавать неизведанные дали.

 

   using namespace stdважная строка. using namespace оператор позволяющий создавать и использовать пространства имен. Пространства имен – это что-то наподобие улиц города только в С++.  std позволяет изолировать данные от ОС, что бы та там не напортачила. При несложных программах, таких как эта, рекомендую всегда использовать. Примечание: Если вы будете работать, с программами для Windows не следует включать пространство std в проекты.

 

   double a; double b; char znac; char exit; - это объявления переменных. Переменная – своего рода контейнер, в которое можно вмещать все что угодно, а типы показуют что в эту перемену можно сохранить. Также типы переменных «резервируют» место под переменную. Но, спросите вы, что именно хранят определенные типы данных? Вот  несколько простых типов данных:

Таб. 1

Название

Что хранит

Объем, байт

int    

-2147483648 до 2147483667

4

short

-32648 до 32648

2

float

-(1.2*10^-38) до 3.4*10^38

4

double

-(2.3*10^-308) до 1.7*10^308

8

char

Символ

1

bool

1 или 0

1

Синтаксис объявления переменной достаточно прост и быстро запоминается:

тип_данных имя_переменной;

Где тип_данных – любой тип данных, а имя_переменной – любой порядок символов.

Запомните: Имена переменных могут содержать лишь буквы и отличаться от названий операторов и ключевых слов С++, если имя будет недопустимым компилятор выдаст ошибку!

 

   cout, cin ключевые слова С++. Они содержаться в библиотеке iostream, без включения в проект этой библиотеки компилятор будет выдавать ошибки синтаксиса. сout- выводит на экран строки, значения переменных, возвращаемые значения функций и вообще все что угодно. Синтаксис использования:

 

cout << “Текст”;

 

Этот синтаксис правилен для отображения некоего текста. Что б вывести на экран значение переменной:

 

 cout << имя_переменной;

 

Чтобы перейти на другую строку нужно пользоваться, словом endl:

 

cout << “Текст” << endl;

 

Прямая противоположность cout это cin. сinпринимает ввод пользователя и сохраняет его в переменную или константу. Она также содержится в библиотеке iostream. Ее синтаксис таков:

 

cin  >> имя_переменной_или_констаты;

 

Запомните: Любой оператор заканчивается ‘;’. Лишь некоторые ключевые слова могут не иметь на окончании выражения ‘;’.

 

   И, наконец, сердце программы – ключевое слово switch. Я сейчас постараюсь вам объяснить, как оно работает. В скобках после ключевого слова находиться выражение (В нашем случае переменная znac ) с которым сравнивается выражения операторов case (В нашем случае – символы). Если выражение switchа равно выражению case то исполняется код внутри этого оператора, но если ни одно из выражений в операторах не равно выражению switchа, то программа исполняет, то, что задано по умолчанию (оператор default) или последующий за ключевым словом код. Синтаксис таков:

 

switch (выражение)

{

      case  выражение1:

      операторы;

         break;

         default:

         операторы;              

         break;

}

                

Заметьте, операторов case может быть много. Слово break означает, что после выполнения кода внутри оператора case нужно перейти за границу ключевого слова и выполнять далее. Если ключевое слово break не поставить, компьютер будет выполнять все case покамест не попадется break. Запомните: После ключевого слова switch точка с запятой не ставятся! После оператора case ставиться двоеточие!    

 

   И теперь перейдем к операторам ветвления. if – самый основной оператор этого вида. В нашем примере показана простейшая из возможных конструкций. Общий, полный синтаксис таков:

 

if (значение)

{

Операторы3;

}

 else if (значение1)

{

Операторы3;

}

else

{

Операторы3;

}

 

Можно написать бесчисленное множество конструкций типа if...else if...else. Но теперь про способ работы этого оператора. Если значение в скобках после if вычисляется в TRUE, то выполняются операторы внутри фигурных скобок, если в FALSE – то переходит к else if и так далее. Но если нет ни одного оператора else if или все вычисляются в FALSE, то программа выполняет код внутри оператора else. Если else отсутствует, то программа выходит из блока if и выполняет последующий за ним код.

 

Ну вот и все!

 

Компиляция и проверка

Теперь выберите Debug | Start или нажмите      .

Выполните указанные действия.

 

Поздравляю! Вы это сделали! Вы молодец!

 

 

Упражнение, резюме

А теперь опишите на листочке бумаги эту программу и дайте почитать не программисту. Если тот человек поймет это то вы усвоили материал этой статьи.

 

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

 

Читайте вторую статью этой трилогии, в которой описываются функции и циклы более сложные инструменты программиста.

Сайт управляется системой uCoz