Процесс создания программы.
Для программы, написанной под WINDOWS или в оболочке для WINDOWS необходимо создать сначала файл проекта (.ide) к которому будут присоединены все остальные файлы (кроме указанных добавляются специальные файлы для WINDOWS – приложений).
- Написать исходный файл с расширением .cpp.
- скомпоновать исходный файл и получить объектный файл с расширением .obj.
- скомпоновать предыдущий файл. С необходимыми библиотеками и получить исполняемый файл .exe.
Традиционно первая программа позволяет вывести на экран сообщение, что «родился» новый программист.
#include <iostream.h>
int main()
{
cout <<”Привет Мир! Меня зовут …\n”;
return 0
}
Рассмотрите следующую программу и попытайтесь понять, что она делает, не запуская её на выполнение.
#include <iostream.h>
int main()
{ int x=5;
int y=7;
cout <<”\n”
cout << x+y <<” ”<<x*y;
cout <<”\n”
return 0
}
2 какие ошибки будут при компиляции, почему?
#include <iostream.h>
int main()
{
cout <<”Привет Мир! Меня зовут …\n”
return 0
}
В стороке 1 подключается файл .. в текущий. Сигнал # служит для препроцессора. С этими строками препроцессор работает до того как начнётся компиляция программы.
Основной код программы начинается в строке 3. при вызове основной функции. Функция — это блок программы, который выполняет одно или несколько действий. Обычно функции вызываются другими функциями, но функция main() вызывается автоматически при запуске программы, каждая программа должна содержать эту функцию, причём только одну, нельзя назвать другую функцию так же.
Любая функция должна иметь тип возвращаемого значения, в нашем случае это слово int. Оператор return возвращает это значение.
Все функции начинаются с { и оканчиваются }. То, что располагается между ними называется телом функции.
Объект cout позволяет вывести сообщение на экран монитора. Близкий ему объект cin позволяет считывать данные. За этими объектами следует указание перенаправления выходного потока << или >>. Строка текста — набор печатных символов, обязательно заключается в кавычки. Символ // — позволяет вводить в программу коментарии — строки, поясняющие что-либо для программиста, но «не существующие» для компилятора. ( /* …*/).
Переменные и константы.
Переменные используются для хранения информации. Переменная — это ячейка памяти в компьютере в котором может храниться некоторое значение. Размер этой ячейки зависит от типа переменной. Различные типы переменных требуют от компилятора различных по размеру участков памяти, поэтому следует на этапе компиляции программы указать ему их тип и количество, то есть инициализировать переменные, без этого невозможно будет поместить в них какое-то значение.
Тип |
|
Размер байт |
Значения |
bool |
логические |
1 |
True или false |
Unsigned short int |
Беззнаковое короткое целое |
2 |
0—65535 |
Short int |
Короткое целое |
2 |
-32768—32767 |
Unsigned long int |
Беззнаковое длинное целое |
4 |
0—4294967295 |
long int |
Длинное целое |
4 |
-2147483648—2147483647 |
int |
Целое |
2 |
-32768—32767 |
Unsigned int |
Беззнаковое целое |
2 |
0—65535 |
char |
символьное |
1 |
256 значений |
float |
Действительное |
4 |
1,2е-38—3,4е38 |
double |
Двойной точности |
8 |
2,2е-308—1,8е308 |
Существует функции sizeof(тип )
При объявлении переменной для неё выделяется память. резервирование памяти не очищает ячейки памяти от значений, которые там хранились. Поэтому следует инициализировать переменную, то есть присвоить ей значение, иначе оно будет неопределённо.
Рекомендации:
- Указывайте тип переменной перед именем при её определении.
- Используёте для определённости информативные имена.
- Помните, что в С++ различаются строчные и заглавные буквы.
- Уточняйте, сколько байт занимает в памяти каждый тип переменной, и какие значения он может хранить.
- Не используйте ключевые слова в качестве имён переменных.
- Не присваивайте беззнаковым переменным отрицательные значения.
В языке предусмотрена возможность создания псевдонима для фразы (например unsigned short int ) Это слово typedef.
Переполнение.
Символы.
Специальные символы.
Константа — число или символьное значение, которое не может быть изменено в течении программы.
Определение константы :
- директива #define Numstud 15
- const int Numstud =15;
Существует тип данных — перечисления, это тип данных, который состоит из конечного и перечисленного набора составляющих. Например: цвета радуги.
Enum Color (Красный, …..Фиолетовый);
В языке С++ существуют выражения x=a+b Смысл его в том, что значения находящиеся под символьным адресом a и b складываются и результат сложения помещается в адрес x. ( = это оператор присваивания, оператор сравнения это ==).
Блоки ограничиваются фигурными скобками и выполняются как одно выражение.
Рекомендации:
- не забывайте о закрывающей скобке каждый раз, когда используете открывающуюся скобку.
- Завершайте выражения в программе .
- Разумно используйте символы пробелов, для улучшения читабельности программы, а не наоборот.
Оператор —это литерал, который заставляет компилятор выполнять какое-либо действие. Операторы действуют на операнды. Существуют операторы присваивания и операторы математические.
Язык С++ позволяет сократить запись прибавления и уменьшения переменной на 1 (инкремент +, декремент -) d++; d--;--d,++d,. D+=1; Если знак операции стоит до переменной (префикс), если a=++x, то если x=5, то сначала x=6, а потом a=x(6) , если же a=b++, (b=5) то а=5, а b=6.
Операторы отношений.
Имя |
Оператор |
Пример |
Значение |
Равно |
== |
100==50
50==50 |
False
true |
Не равно |
!= |
50==50 |
false |
Больше |
> |
|
|
Больше или равно |
>= |
|
|
Меньше |
< |
|
|
Меньше или равно |
<= |
|
|
Оператор ветвления if.
Логические операторы.
Схема if( (x==5)
If (условие) выражение;
If(условие)
{
выражение 1;
выражение 2;
}
else
{
выражение 3;
выражение 4;
}
Логические операторы.
Оператор |
Символ |
А |
С |
Результат |
И |
&& |
T
T
F
F |
T
F
T
F |
T
F
F
F |
ИЛИ |
|| |
T
T
F
F |
F
T
T
F |
T
T
T
F |
НЕТ |
! |
T
F |
|
F
T |
Возможна запись: (выражение 1)?(выражение 2): (выражение 3);
Пример:
#include<iostream.h>
int main(void)
{
int fistNumb,secondNumb;
cout <<"Введите два числа\nПервое:";
cin >>fistNumb;
cout <<"\nВторое:";
cin >>secondNumb;
cout <<"\n";
if(fistNumb >= secondNumb)
{
if((fistNumb%secondNumb)==0)
{
if(fistNumb==secondNumb)
cout<<"Число "<<fistNumb<<" равно "<<secondNumb<<"\n";
else
cout<<"Число "<<fistNumb<<" делится без остатка на "<<secondNumb<<"\n";
}
else
cout<<"Число "<<fistNumb<<" не делится без остатка на "<<secondNumb<<"\n";
}
else
cout<<"Число "<<fistNumb<<" меньше чем "<<secondNumb<<"\n";
return 0;
}