Основы С++
Первая программа // программа first.cpp #include int main() { cout << "Hello!"; /* вывод текста на экран */ return 0; } // программа first.cpp #include void main() { cout << "Hello!"; /* вывод текста на экран */ }
Этапы создания исполняемого кода
Переменные, имена переменных Имя – Начинается с латиницы, содержит «любое» к-во букв, цифр, подчеркиваний. Запрещены: ключевые слова С++ значение адрес Имя x aXis my_date mNaime_1 12b do if my name cout
Основные типы переменных int double char int n; int k=1, m=0; double a; short float long int long double short i; float b; long int n; long double c; Дополнительные типы
Размер переменных #include using namespace std; void main() { int i,k; double a; char b; cout<<"i="<<sizeof(i)<<'\n'<<sizeof(a)<<'\n'<<sizeof(b)<< '\n'; } Функция возвращает размер переменной в байтах
Присваивание переменных различных типов #include using namespace std; void main() {// пример преобразования типов int i, k=353; double a; char b; i=k/2; a=i; b=k/2; Ia b
Присваивание переменных различных типов cout<<"i="<<i<<" a="<<a<<" b="<<b<<endl; a=k/2; i=a; cout<<"i="<<i<<" a="<<a<<endl; a=double(k)/2; i=a; cout<<"i="<<i<<" a="<<a<<endl; }
Адрес переменной int k=1; cout<<k=<<k<< adr k=<<&k<<endl; int k=1,i; cout<<"k="<<k<<" adr k="<<&k<<endl; cout<<"i="<<k<<" adr i="<<&i<<endl;
Функции С++ функция main Другие функции: Математические sin cos tan atan atan2 sh ch exp log log10 sqrt pow abs fabs не Main MAIN и т.д.
Вызов функции #include using namespace std; int main() { double x,y; cout<<"input x"<<'\n'; //ввод значения переменной cin>>x; y=sqrt(x); cout<<"y="<<y<<endl; return 0; } при вызове вставляется код функции sqrt результат присваивается y
Функции пользователя #include using namespace std; const int num=10; int gi; double num(double,int); void main () { double rez,x; rez=num(x,2); cout<<" rez=<<rez<<endl; } double num(double argx,int n) { return argx*2; Глобальные константы и переменные Прототип функции
Передача параметров #include "stdafx.h" #include using namespace std; void stp(int); void stpp(int*); void stps(int&); int _tmain(int argc, _TCHAR* argv[]) {int k=12,*pk; pk=&k; stp(k); cout<<"fun stp k= "<<k<<endl; stps(k);
cout<<"fun stps k= "<<k<<endl; stpp(pk); cout<<"fun stpp *pk= "<<*pk<<endl; stpp(&k); cout<<"fun stpp k= "<<k<<endl; return 0; } void stp(int k) { cout<<'\t'<<"stp k="<<k<<endl; k=k++; }
void stpp(int * n) { cout<<'\t'<<"stpp n="<<*n<<endl; *n=*n++; } void stps(int & l) { cout<<'\t'<<"stp l="<<l<<endl; l=l++; }
Рекурсивные функции #include using namespace std; void countdown(int); int main() {countdown(4); return 0; } void countdown(int n) { cout<<"countdown "<<n<<endl; if(n>0) countdown(n-1); cout<<"boom: "<<n<<endl; }
Операторы и выражения Логические выражения Операторы условия (ветвления) Операторы цикла Любое выражение может быть преобразовано к оператору, добавлением к нему точки с запятой. ; - пустой оператор. a==b; // не напишите a=b. Типичная ошибка! a!=b; a>3 && a 3 и a<10
Операторы ветвления
Операторы цикла #include using namespace std; void main() { int i; // создаем переменную цикла for(i=0; i<5; i++) cout << C++ loops\n;cout << Loops stop\n; return; } выполняем до тех пор, пока i меньше 5 (i<5), после каждой итерации цикла значение переменной i увеличивается на единицу (i++)
Варианты использования оператора цикла for #include using namespace std; void main() { int aval, sum=0; for(int i=0; i<5; i++) { cout << input number\n; cin<<aval; sum = sum + aval; } cout << Sum equal <<sum;} можно определить переменную цикла здесь
Примеры использования цикла for int limit=4; int i; // определение переменной цикла for (i=limit; i; i--) cout<< i= <<i;<<\n; Цикл закончится когда i=0 (ложь)
Оператор цикла while while( условие выполнения цикла) Тело цикла; // этот цикл выведет на экран 10 значений переменной i int i=10; while(i>0) { cout << i= <<i<<\n; i--; } Можно ограничиться лаконичным while(i)
Блок-схема Составить блок-схему алгоритма определения высот ha, hb, hc треугольника со сторонами a, b, c, если