Презентация "Объявление переменных и типы данных в C++"
Подписи к слайдам:
Технологии программирования
Объявление переменных в С++
Операторы
в C++.
Основные математические функции в C++.
Основные математические функции в C++.
Преобразование типов данных в C++.
- Доц. каф. «Медиаменеджмента и медиапроизводства» Евич Л.Н.
- В Си++ переменные можно описывать в любой части программы, но перед непосредственным их использованием.
- Основные типы данных языка C++
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- int a; // объявление переменной a целого типа.
- float b,c; // объявление переменных b,c типа данных с плавающей запятой.
- При объявлении переменной можно сразу ее инициализировать.
- float b=3.2; // инициализация переменной b типа float.
- char ch = 'a'; // инициализация переменной ch типа char.
- bool f = true; // инициализация логической переменной f.
- Имя переменной (идентификатор) может состоять только из латинских символов строчных и прописных, цифр от 0 до 9 и знака подчёркивания. При этом имя переменной не может начинаться с цифры.
- #include <iostream>;
- #include <stdio.h>;
- using namespace std;
- void main() {
- unsigned short int a=65535;
- cout<<"a="<<a<<endl;
- a=a+2;
- cout<<"a+2="<<a<<endl;
- getchar();
- }
- Результат выполнения данной программы:
- a=65535
- a+2=1
- Квалификатор const.
- Если переменная объявлена с ключевым словом const, значит, она не должна меняться. После определения константной переменной нельзя изменить ее значение или передать ее в качестве аргумента функции, которая не гарантирует ее неизменности.
- const float pi = 3.14; // Целая константа
- pi = 3.1; // Нельзя, значение не должно меняться
- const float pi; // Нельзя, отсутствует начальное значение
- Директива #define
- #define MY_PI 3.14 // строка не заканчивается точкой с запятой.
- Отличия const и директивы #define: директива #define создает макроконстанту, и ее действие распространяется на весь файл, а с помощью const создается константная переменная, которая может иметь ограниченную область видимости.
- Квалификатор volatile
- volatile int my_time;
- Этот квалификатор используется в тех случаях, когда надо объявить переменную, которая может быть изменена в результате выполнения внешних действий не контролируемых программой, например, системными устройствами (таймером).
- Этот квалификатор может быть также использован для описания объектов данных, используемых разными процессами в многозадачной среде.
- Побитовые операторы
- Побитовое ИЛИ (|).
- Оператор | записывает в бит результата единицу только в том случае, если хотя бы один из сравниваемых бит равен 1. Этот оператор часто используют для установки отдельных битов числа.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 01001010 | 10001101 // результат 11001111
- Побитовые операторы
- Исключающее ИЛИ (^).
- Оператор ^ записывает в бит результата единицу в том случае, если сравниваемые биты отличаются друг от друга. Этот оператор часто применяется при выводе изображений на экран, когда необходимо накладывать друг на друга несколько графических слоев.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Побитовые операторы
- Операторы сдвига.
- сдвиг влево (<<) и сдвиг вправо (>>).
- Первый сдвигает битовое представление целочисленной переменной, указанной слева от оператора, влево на количество битов, указанное справа от оператора. При этом освобождающиееся младшие биты заполняются нулями, а соответствующее количество старших битов теряется.
- Побитовые операторы
- Пример
- unsigned int value = 52 ; // младший байт: 0011 0100
- value <<= 1 ; // младший байт: 0110 1000
- cout << value; // будет выведено 104
- Побитовые операторы
- Пример
- unsigned int value = 15 ; // младший байт: 0000 1111
- value >>= 1 ; // младший байт: 0000 0111
- cout << value; // будет выведено 7
- Инкрементирование и декрементирование.
- Инкрементирование (++) и декрементирование (--) являются соответственно операциями увеличения или уменьшения значения переменной на 1.
- Пример.
- a=a+1;
- b=b-1;
- Соответствуют
- a++; // или ++a
- b--; // или --b
- Инкрементирование и декрементирование.
- В постфиксной записи a++ сначала возвращается значение переменной, после чего она увеличивается на 1, в префиксной записи наоборот.
- Пример
- int i=3; j, k=0;
- k=++i; //i=4, k=4
- k=i++; // i=4, k=3
- k=--i; //i=2, k=2
- k=i--; //i=2, k=3
- i=j=k--; //i=0, j=0, k=-1
- + — сложение;
- - — вычитание;
- * — умножение;
- / — деление или целочисленное деление (для целочисленных переменных);
- % — деление по модулю (для целочисленных переменных).
- // Вычисление суммы и разности двух чисел
- #include <iostream>;
- #include <stdio.h>;
- using namespace std;
- void main() {
- int a, b=6;
- cout<<"a=";
- cin>>a;
- getchar();
- cout<<a<<"+"<<b<<"="<<a+b<<endl;
- cout<<a<<"-"<<b<<"="<<a-b;
- getchar();
- }
- Комбинированные операторы присваивания
- Примеры.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- При использовании в операции переменных различных типов данных Си может автоматически преобразовывать данные из одного типа в другой.
- Автоматическое преобразование типов данных приводится к типу данных имеющего более высокий приоритет. Типы данных в порядке уменьшения приоритета:
- double
- float
- long
- int
- short
- Пример 2
- int ival;
- float fval1=3.0, fval2=10.0;
- ival=fval1+fval1/fval2;
- Результат выполнения операции fval1/fval2 равен 0,3;
- fval1+fval1/fval2 (=3+0,3=3,3).
- Результат выполнения операций в левой части присваивается целочисленной переменной ival, значение этой переменной будет равно 3 (дробная часть отбрасывается).
- Задание. Определите значение переменной fval, полученное в результате выполнения фрагмента программы
- int ival1=3, ival2=10;
- float fval=3.5;
- fval=fval+ival1/ival2;
- Явное преобразование типов
- Если в программе необходимо временно изменить тип некоторой переменной, то перед ее именем в круглых скобках указывается название соответствующего типа данных.
- Например,
- int ival1=3, ival2=10;
- float fval=3.5;
- fval=fval+(float)ival1/ival2; // fval=fval+ival1/(float)ival2;
- 3. Определите, что будет выведено на экран в результате работы следующей программы.
- #include <iostream>;
- #include <stdio.h>;
- using namespace std;
- void main() {
- cout<<’A’<<endl;
- cout<<(int)‘A’<<endl;
- getchar();
- }
- Наберите текст программы и проверьте правильность ответа.
- 4. Следующая программа должна была вывести результат деления числа a на 2. Выясните, корректно ли работает данная программа. Исправьте ее для корректной работы.
- #include <iostream>;
- #include <stdio.h>;
- using namespace std;
- void main() {
- int a=25;
- cout<<"a="<<a<<endl;
- a=a/2;
- cout<<"a/2="<<a<<endl;
- getchar();
- }
- 5. Определите, что будет выведено на экран в результате работы следующей программы.
- #include <iostream>;
- #include <stdio.h>;
- using namespace std;
- void main() {
- int a=2534;
- с=a/100;
- a=a%100;
- c=a-c;
- cout<<"a="<<a<<endl;
- cout<<"c="<<c<<endl;
- getchar();
- }
- Наберите текст программы и проверьте правильность ответа.
- Дан прямоугольный треугольник с катетами a и b. Составьте программу для вычисления гипотенузы c.
- Треугольник задан координатами своих вершин A(x1,y1), B(x2,y2), C(x3,y3). Составьте программу для вычисления длин его сторон, периметра и площади.
- Даны два вещественных числа. Составьте программу для нахождения коэффициентов приведенного квадратного уравнения, корнями которого являются эти числа.
- Составьте программу для нахождения числа сотен и тысяч в заданном шестизначном натуральном числе.
- Составьте программу для нахождения второй справа цифры в записи заданного четырехзначного целого числа.
- Даны четыре целых числа (hour, min, sec, time). Первые три из них (hour, min, sec) — это время (в часах, минутах и секундах) начала просмотра фильма, четвёртое (time) определяет продолжительность фильма в секундах. Составьте программу для нахождения времени окончания просмотра фильма. Считать, что фильм шёл непрерывно.
- На первую клетку шахматной доски положили 1 зерно, а на каждую следующую клетку на n зёрен больше, чем на предыдущую. Составьте программу, которая вычисляет, сколько всего зёрен оказалось на шахматной доске.
Информатика - еще материалы к урокам:
- Презентация "Разработка сайта для ООО «Агентство недвижимости «Гарант»"
- Презентация "Коллекции в Java"
- Презентация "Технологии доступа к данным в среде Visual Studio 2010"
- Презентация "Основы создания сетевых приложений на Java"
- Презентация "Обработка прерываний"
- Презентация "Технология создания Web-страниц"