суббота, 22 марта 2008 г.

День 2

Части программы на языке С++

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

Любая программа начинается с директивы препроцессора #include (значит мы можем иметь дело не только с ключевым словом include , директив наверняка много).
Так вот наша директива подключает необходимые нам файлы - библиотеки которыми пользуются к примеру объекты. Вот объект cout использует библиотеку iostream иначе он у нас просто не будет работать. Так же не стоит забывать добавлять волшебную строчку

std::cout; перед использованием или

using namespace std; до объявления функции main () ;

Самое интересное что у меня cin и cout работают даже без этих инструкций - может глюк компилятора (проверяю на DevC++ 4 нечего другого сейчас под рукой нету).

Также указывать пространство имён (так называется using namespace std; по русски ) необходимо для того чтоб сработал endl; к примеру (Конец строки).

Вернёмся к функция main () о которой успели упомянуть обращается напрямую к операционной системе , об этом в прошлый раз шёл разговор, и возвращает ей значение (смысл возврата этих значений пока нераскрыт - будем копать, а после дополнять). Хотя есть идея - в конце любой функции должен быть оператор return который возвращает значение этой функции . Если его нет функция вернёт значение типа void (пустое). В книге рассмотрен пример - по моему недоработанный какой-то потому как сложно уследить смысл передаваемых переменных . Разберём его :

#include
int Add (int first, int second)
{
std::cout << "In Add(), received " << first << " and " << second << "\n";
return (first + second);
}

int main()
{
using std::cout;
using std::cin;


cout << "I'm in main()!\n";
int a, b, c;
cout << "Enter two numbers: ";
cin >> a;
cin >> b;
cout << "\nCalling Add()\n";
c=Add(a,b);
cout << "\nBack in main().\n";
cout << "c was set to " << c;
cout << "\nExiting...\n\n";
return 0;
}

Сначала выполняются действия находящиеся в функции main(). Переменные а и b получают свои значения - потом они передаются функции Add - где свои значения передают переменным first и second. После вычислений оператор return возвращает функции main (возвращает функции main ? ) результат сложения двух переменных и присваивает его переменной с. По сути в функции Add всё равно нужно было определять новые переменные и если бы их назвали a и b - это были бы уже ДРУГИЕ переменные . Хм сам ответил на свой вопрос зачем их так нужно было называть. Но всё же я бы их назвал к примеру firstA, secondB. Или в таких вариациях. =)

В скобках у имени функции размещаются её параметры.
Параметр - это объявление типа данных , передаваемых функции.
Реальные значения, передаваемые функции при её вызове - называются параметрами. Примерно так записано в книге.

Очень много деталей появляется которые надо помнить - создам отдельный пост в котором по пунктам будут записаны эти детали.

Практическая часть (Прям как лабораторки ) ) :

Особо с функциями ввода вывода не распишешься - поэтому нечего умнее как выводом фигурок заняться нене придумалпридумал - использовал и табуляции и просто пробелы - интересно так получилось =)

Комментариев нет: