Программирование на С++.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 или нажмите .
Выполните указанные действия.
Поздравляю! Вы это
сделали! Вы молодец!
Упражнение,
резюме
А теперь опишите на листочке бумаги эту программу и дайте почитать
не программисту. Если тот человек поймет это то вы усвоили
материал этой статьи.
В этой статье были описаны принципы действия некоторых, простейших,
ключевых слов и операторов, их синтаксис и принципы взаимодействия. Были
введены понятие переменная и библиотеки. На примере действующей программы
разобраны принципы программирования.
Читайте вторую статью
этой трилогии, в которой описываются функции и циклы более сложные инструменты
программиста.