Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Топ:
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Дисциплины:
2017-10-11 | 231 |
5.00
из
|
Заказать работу |
|
|
1) Арифметические операции: +, -, *, /
2) Преобразование вещественных значений в целые:
a) Отбросить дробную часть числа. Для этого можно использовать операцию приведения типа: (имя типа) выражение.
Пример использования операции приведения типа в выражении.
Задание. Вывести первую цифру дробной части десятичного действительного числа.
main()
{
double y=123.75;
unsigned int z=(y-(int) y)*10;
printf(“z=%d”,z); //результат 7
}
b) Присвоить вещественное значение переменной целого типа. Преобразование выполниться автоматически, но компилятор предупредит о возможной ошибке.
Пример использования операции присваивания для записи в переменную целого типа целой части числа.
main()
{
double y=123.75;
unsigned int z=y;
printf(“z=%d”,z); //результат 123
}
Упражнения
main()
{
double y=123.75;
unsigned int z=((int) y)%10;
printf(“z=%d”,z); //результат????????
}
3. Оператор определения переменных
Переменная – это объект программы, значение переменной может изменяться в процессе работы программы.
Константа – это переменная, значение которой изменить нельзя.
Формат определения простой переменной
[const] [класс памяти] <тип переменной> <имя переменной> [= значение];
Примечание. В квадратных скобках указываются элементы определения, которые можно опускать. Например, если определяется переменная, то слово const не включается в определение, а если константа, то обязательно включается. Скобки вида < > используются только для выделения элемента в строке формата и при записи оператора в программе не используются.
|
Инициализация переменной – это присваивание ей начального значения при определении.
Формат определения списка простых переменных о дного типа
[const] [класс памяти] <тип переменной> <имя переменной> [= значение], <имя переменной> [= значение], <имя переменной> [= значение], ……, <имя переменной> [= значение];
Класс памяти определяет время жизни переменной и область ее действия
static: время жизни – пока работает программа (постоянно); область действия – блок в котором она определена.
auto: это локальные переменные, время жизни блок, в котором они определены;
extern: внешние, определены в другом модуле, подключенном к текущему и используются в текущем;
register: переменная использует регистр МП для хранения значения, если он не занят.
Пример использования статической и внешней переменной
Функция одного модуля может обратиться к переменной другого модуля, такие переменные называю внешними (extern). Они не создаются функциями и не разрушаются.
Статические переменные определяются с классом памяти static. Комилятор выделяет для такой переменной постоянную (глобальную память), даже если переменная объявлена внутри функции. Если переменная объявлена в функции и она инициализирована, то инициализации выполняется только при ервом вызове функции.
Модуль, использующий внешюю переменную
#include "stdafx.h"
#include "stdio.h"
void ff()
{
extern int z;
printf("z=");
scanf("%d",&z);
}
Программа, которая использует значение переменной, заполненной в функции
#include "stdafx.h"
#include "stdio.h"
#include "iomanip"
#include "iostream"
#include "locale.h"
#include "ExternA.h" подключение модуля, который использует внешнюю переменную z
using namespace std;
int f()
{
static int x=10; статическая переменная не локальна. Ее значение
x=x*2; return x; сохраняется по завершении функции
}
int z;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "rus");
int a; ff();
cout<<"Зачение переменной="<<z<<"\n";
|
a=f();
cout<<"Зачение переменной="<<a<<"\n";
//cout<<x<<' '<<setw(10)<<setprecision(4)<<x<<endl;
//cout<<15<<' '<<hex<<15<<' '<<oct<<15<<endl;
getchar(); getchar();
return 0;
}
Определения переменных различного типа осуществляется отдельными операторами.
Пример определения переменных целого типа
int main()
{
int x, y, z; //без инициализации
long a,b;
unsigned int m=10; //с инициализацией
unsigned char ch=’A’;
}
Пример разработки программы с вводом и выводом.
Задача. Найти расстояние между двумя точками на плоскости. Точки заданы координатами.
#include “stdio.h”
#include “math.h”
int main()
{
double x1, y1, x2, y2,R;
printf(“Введите 4 числа”);
scanf(“%lf %lf %lf %lf”, &x1, &y1, &x2, &y2);
R=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
printf(“R=%7.3f”, R);
return 0;
}
Упражнения.
Выражения
Вычисляемое выражение состоит из операндов, соединенных знаками операций.
Знак операции – это символ или группа символов, сообщающих компилятору о необходимости выполнения арифметических, логических или других действий.
Операнд – это константа, идентификатор, вызов функции, индексное выражение, выражение выбора элемента.
Комбинацию операндов можно также рассматривать как операнд.
В простейшем случае операнд - это переменная или константа.
При вычислении выражения операции выполняются в строгой последовательности, определяемой их приоритетом.
Порядок выполнения операций может регулироваться с помощью круглых скобок.
Операции с более высоким приоритетом выполняются до операций с более низким рангом, если часть выражения заключена в скобки, то вначале вычисляется выражение внутри скобок.
Виды выражений
· Первичные (вызовы функций, индексные выражения и выбор элементов);
sin(x); x[10];
· Унарные (с одним операндом);
-x; &b;!t; *ptr
· Бинарные (с двумя операндами);
A+b;
· Тернарные (с тремя операндами);
x>y:x?y
· Выражения присваивания;
X=10; A=b=c=5
· Выражения приведения типа.
int(7.0/2)
Упражнения
a) x-y*5/3-y+(2+a*b/c)
b) x<<2+y>>3*4
c) –x*5/(3+x*y)
d) x+y=sin(x)+cos(y)
Тип выражения
Так как выражение предназначено для вычисления значения, то по правилам языка программирования это значение должно иметь тип, чтобы сообщить компилятору о формате хранения. Поэтому существуют правила определения типа выражения.
|
При вычислении значения выражения все промежуточные значения последовательно сохраняются в памяти, специально выделенной для выражения. Эта память должна иметь формат, соответствующий типу выражения.
Правила определения типа выражения.
Примеры определения типа выражения
Пусть определены переменные
int x;
short y;
long z;
char a;
Выражение x+y+z целого типа и формат хранения int.
Выражение x/y целого типа и формат хранения int.
Выражение y/a целого типа и формат хранения short.
Пример определения типа выражения
Пусть переменна имеет тип float
float y=123.75;
Выражение у/2.0 вещественного типа и формат хранения double.
Пусть переменная имеет целый тип, а делитель вещественного типа
int x=13,y=5;
Выражение y+x/2.0 имеет вещественный тип double.
Упражнения
1) Определите тип выражения
Выражение | Тип |
2+1e3 | |
2.0*5/3 | |
5%10*2 | |
2.0+5/2 |
2) Вычислите значение выражения
123%100/10
3)5<<2%4*3
|
|
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!