Similar presentations:
Основы языка СИ++
1. Основы языка СИ++
2. История
СИ ++ - доработанный и дополненный сотрудникомкомпании Bell – Бьерном Страуструпом язык С.
«Сформировался»
как
самостоятельный
язык
программирования к 1980 году (его основа – язык СИ –
разрабатывался еще в 1969 – 1973 г.г.)
Основные достоинства языка СИ++:
• обработка «классов»;
• широкие возможности преобразования типов;
• управление объемом выделяемой памяти;
• использование виртуальных функций и др.
• Недостатки языка СИ++: использование указателей,
лаконичность программного кода*
3. Этапы создания программы
4. Простая программа
#include - это служебная команда, которая сообщает#include <iostream>
компилятору
поместить код из заголовочного файла iostream.h в
программу,
перед темstd;
как создать исполняемый файл;
using namespace
using
namespace std сообщает компилятору, что нужно
int
main()
использовать группу функций, которые являются частью
{
стандартной библиотеки std;
int
coutmain(
<< "Моя
первая
программа
на С++\n";
): эта
строка
сообщает
компилятору, что есть
cin.get();
функция
с именем main, и что функция возвращает целое число
типа
} int; фигурные скобки { } – обозначают начало и конец
функции
main( )
.
cout – оператор вывода на экран; результатом cout<< является
отображение текста на экране; символ \n перемещает курсор на
экране на следующую строку
cin.get( ) – команда, ожидающая от пользователя нажатия
клавиши «enter»
5. Простая программа №2
#include <stdio.h> // подключение заголовочного файлаstdio.h
int main() // объявление целой функции main, не
принимающий никаких аргументов ()
{
printf(“Hello World!”); // оператор вывода на экран
return 0; // «сигнал для ОС об успешном выполнении
программы»
}
6. Представление данных на языке СИ
Каждое имя (идентификатор) в C++ имеет ассоциированный сним тип.
Этот тип определяет, какие операции можно применять к имени
(то есть к объекту, на который оно ссылается), и как эти
операции интерпретируются.
При объявлении переменной используется синтаксис тип <имя>
int num;
char character;
float num_34;
Допустимо объявление нескольких переменных одного и того же
типа в одной строке, для этого каждая из них должна быть
отделена запятой.
int x, y, z, d;
Объявление переменной всегда сопровождается точкой с запятой!
7. Представление данных на языке СИ
Для присваивания переменной определенногозначения используется оператор « = »:
int a = 3;
i = i + 1;
8. Простая программа №3
#include <iostream>using namespace std;
int main()
{
int number; // объявление целой переменной number
cout << "Введите число: "; // вывод фразы «Введите число»
cin >> number; // ввод значения переменной number
cout << "Вы ввели: "<< number <<"\n"; // вывод фразы «Вы
ввели» и значения переменной number с переходом на
следующую строку
cin.get();
}
9. Арифметические операции
?Арифметические операции
« * » умножение,
« - » вычитание,
a < 5 // Проверка, «a» менее пяти?
« + » сложение,
a > 5 // Проверка, «a» больше пяти?
a == 5 // Проверка, «a» равно пяти?
« / » деление,
a != 5 // Проверка, «а» не равно пяти?
= присвоение,
a >= 5 // Проверка, «a» больше или
== равенство,
равно пяти?
> больше,
a <= 5 // Проверка, «a» меньше или
< меньше.
равно пяти?
!= не равно
>= больше или равно
<= меньше или равно
10. Математические функции
Функцияabs( a )
Описание
Пример
модуль или абсолютное значение от а abs(-3.0)= 3.0
abs(5.0)= 5.0
sqrt(a)
корень квадратный из а, причём а не
отрицательно
sqrt(9.0)=3.0
pow(a, b)
возведение а в степень b
pow(2,3)=8
ceil( a )
округление а до наименьшего целого, Ceil(2.3)=3.0
но не меньше чем а
ceil(-2.3)=-2.0
floor(a)
округление а до наибольшего целого,
но не больше чем а
floor(12.4)=12
floor(-2.9)=-3
11.
fmod(a, b)вычисление остатка от a/b
exp(a)
вычисление экспоненты е
sin(a)
a задаётся в радианах
cos(a)
a задаётся в радианах
log(a)
натуральный
логарифм a(основанием является
экспонента)
log(1.0)=0.0
log10(a)
десятичный логарифм а
Log10(10)=1
asin(a)
арксинус a, где -1.0 < а < 1.0
asin(1)=1.5708
а
fmod(7,4) = 3
fmod(3,2) = 1
exp(0)=1
12. ДОМАШНЕЕ ЗАДАНИЕ:
1. Даны два действительных числа (вводятся склавиатуры). Получить их сумму, разность и
произведение.
2. Даны два числа. Найти их среднее
арифметическое, модуль их разности, а также
значение числа е в степени первого из них.
Результаты вывести на экран.
13.
#include <stdio.h>#include <math.h>
int main()
{
int x,y;
setlocale(0, "Russian");
printf ("Введите два числа: ");
scanf ("%d %d", &x, &y);
printf ("Среднее арифметическое: %d\n", (x+y)/2);
printf ("Модуль их разности: %d\n", abs(x-y));
printf ("E в степени первого числа: %d\n", exp(x));
return 0;
}
14. Условный алгоритм (структура «ветвление»)
15. Общий вид
Оператор ”if” служит для того, чтобы выполнить какуюлибо операцию в том случае, когда условие являетсяверным.
Условная конструкция в С++ всегда записывается в
круглых скобках после оператора if.
Внутри фигурных скобок указывается тело условия.
Если условие выполнится, то начнется выполнение всех
команд, которые находятся между фигурными скобками.
16. Общий вид
if (num < 10) { // Если введенное число меньше 10cout << "Это число меньше 10." << endl;
} else { // иначе
cout << "Это число больше либо равно 10." << endl;
}
if (num < 10) { // Если введенное число меньше 10
cout << "Это число меньше 10." << endl;
} else if (num == 10) {
cout << "Это число равно 10." << endl;
} else { // иначе
cout << "Это число больше 10." << endl;
}
17. Особенности структуры «ветвление» на языке СИ++
Каждому оператору if соответствует только одиноператор else.
Совокупность этих операторов — else if означает, что
если не выполнилось предыдущее условие, то проверить
данное.
Если ни одно из условий не верно, то выполняется тело
оператора else.
Если после оператора if, else или их связки else if должна
выполняться только одна команда, то фигурные скобки
можно не ставить.
18. Пример кода
#include <iostream>using namespace std;
int main()
{
double num; int k;
cout << "Введите произвольное число: ";
cin >> num;
if (num < 10) {
cout << "Это число меньше 10." << endl;
k = 1;
} else if (num == 10) {
cout << "Это число равно 10." << endl;
k = 2;
} else {
cout << "Это число больше 10." << endl;
k = 3; }
cout << "k = " << k << endl;
return 0;
}
Данная
программа
проверяет
значение
переменной num.
Если она меньше 10,
то
присваивает
k
значение 1.
Если переменная num
равна
десяти,
то
присваивает переменной
k значение 2.
В противном случае
— значение к=3. После
выполнения ветвления,
значение переменной k
выводится на экран.
19. Задачи
#include <iostream>#include <stdio.h>
using namespace std;
int main ()
{ float x,y;
cin>> x;
cin>>y;
if (x<y) {x=(x+y)/2; y=2*x*y;
} else if (y>x) {
y=(x+y)/2; x=2*x*y; }
cout << x "\n";
cout << y "\n";
return 0;
}
20. Задачи для самостоятельного решения
21. Оператор выбора switch case
Оператор switch сравнивает значение однойпеременной с несколькими константами.
Значение
переменной
указанной
в
условии switch сравнивается со значениями, которые
следуют за ключевым словом case.
Когда значение в переменной соответствует
значению в строке с оператором case, компьютер
продолжает выполнение программы с этого «места»
(строки кода).
22. Switch case: общий вид
Оператор break используется для того,чтобы прерывать ход программы
в операторе switch и передавать
управление оператору, следующему после switch.
Если не использовать оператор break, то,
сразу после того, как выполнится один блок кода,
программа переключится на выполнения следующего
case даже если константное значение
не будет равно значению в переменной variable.
23. Switch case: общий вид
switch ( variable) {case const1:
/*Здесь находится код, который необходимо выполнить, если
переменная variable будет равна const1*/
break;
case const2:
/*этот код выполнится, если variable будет равна const2*/
break;
….
default:
/*Код, который выполнится, если ни одно из постоянных
значений не соответствует значению переменной variable*/
break;
}
24.
Int main(){
int ch;
`cin>>ch;
switch(ch){
case 1:
cout<<“Число один.\n”;
break;
case 2:
cout<<“Число два.\n”;
break;
default:
cout<<“переменная имеет недопустимое значение.\n”;
}
}
25. Циклы в СИ++
Если известно точное количество повторений команды(набора команд) цикла - следует использовать цикл for.
Синтаксис его выглядит так:
for (действие до начала цикла;
условие продолжения цикла;
действия в конце каждой итерации цикла)
{
команда 1;
команда 2;
команда N;
}
26. Циклы в СИ++
Итерацией цикла называется один проход этого цикла.Существует частный случай этой записи:
for (счетчик = значение; счетчик < значение; шаг
цикла)
{
тело цикла;
}
Счетчик цикла — это переменная, в которой хранится
количество проходов данного цикла.
27. Описание синтаксиса цикла «FOR»
Сначалаприсваивается
первоначальное
значение счетчику, после чего ставится точка с
запятой. Затем задается конечное значение
счетчика цикла.
После того, как значение счетчика достигнет
указанного предела, цикл завершится. Снова
ставим точку с запятой.
Задаем шаг цикла. Шаг цикла — это значение,
на которое будет увеличиваться или уменьшаться
счетчик цикла при каждом проходе.
28. Пример программы
Напишем программу, которая будет считать сумму всех чисел от 1 до1000.
#include <iostream>
using namespace std;
int main()
{
int i; // счетчик цикла
int sum = 0; // сумма чисел от 1 до 1000.
setlocale(0, "Russian");
for ( i = 1; i <= 1000; i++ ) // задаем начальное значение 1, конечное 1000 и
задаем шаг цикла - 1.
{
sum = sum + i; // тело цикла
}
cout << "Сумма чисел от 1 до 1000 = " << sum << endl;
return 0;
}
29. Цикл с предусловием (While)
Когда не известно, сколько итераций долженпроизвести цикл, следует использовать цикл while
или do...while
Синтаксис цикла while в C++ выглядит следующим
образом.
while (Условие)
{
Тело цикла;
}
Данный цикл будет выполняться, пока условие,
указанное в круглых скобках является истиной.
30.
#include <iostream>Описываем условие цикла — «пока переменная
i меньше 1000 — выполняй цикл».
using namespace std;
int main()При каждой итерации цикла значение переменной
счетчика i увеличивается на единицу внутри цикла.
{ setlocale(0, "");
Когда выполнится 1000 итераций цикла,
int i = 0;счетчик
// инициализируем
счетчик
станет равным
999цикла.
и следующая итерация
int sum
0; //выполнится,
инициализируем
счетчик
суммы.
уже= не
поскольку
1000
не меньше 1000.
while (i < 1000) (Выражение sum += i является краткой
{
записью sum = sum + i).
i++;
sum += i;
}
cout << "Сумма чисел от 1 до 1000 = " << sum << endl;
return 0;
}
31. Цикл с предусловием (While)
#include "stdafx.h"#include <iostream>
using namespace std;
int main ()
{ int speed = 5, count = 1;
while ( speed < 60 )
{ speed += 10; // приращение скорости
cout << count <<"-speed = " << speed << endl;
count++; // подсчёт повторений цикла }
system("pause");
return 0;
}
32. Программа «Угадай число»
#include "stdafx.h"#include <iostream>
#include <ctime>
using namespace std;
int main(int argc, char* argv[]) // функция int main с аргументами
командной строки
{ srand( time( 0 ) );
int unknown_number = 1 + rand() % 10; // загадываемое число
int enter_number; // переменная для хранения введённого числа
cout << "Enter unknown number [1:10] : ";
cin >> enter_number;
33.
Программа «Угадай число»while ( enter_number != unknown_number )
{
cout << "Enter unknown number [1:10] : ";
cin >> enter_number; // продолжаем отгадывать
}
cout << "You win!!!\n";
system("pause");
return 0;
}