Меню
Разработки
Разработки  /  Информатика  /  Презентации  /  Прочее  /  Программирование типовых операций

Программирование типовых операций

Презентация использовалась на занятиях профессионального модуля в ОПК СТИ НИТУ МИСиС

21.12.2017

Содержимое разработки

Тема 1 Основы алгоритмизации и программирования   Лекция 1.2. Базовые конструкции языка программирования

Тема 1

Основы алгоритмизации и программирования

Лекция 1.2.

Базовые конструкции языка программирования

Литература Основная: Подбельский В.В., Фомин С.С. Программирование на языке Си: Учеб. пособие. – М.: Финансы и статистика, 2004. Дополнительная: С/ C ++ Структурное программирование. Практикум. Программирование на языке высокого уровня. Питер, 2004. Юркин А. Задачник по программированию. Гриф МО. Учебное пособие, Питер, 2002. Шмидт Г. Самоучитель Си++. СПб.: БХВ – Петербург, 2004.

Литература

Основная:

Подбельский В.В., Фомин С.С. Программирование на языке Си: Учеб. пособие. – М.: Финансы и статистика, 2004.

Дополнительная:

С/ C ++ Структурное программирование. Практикум. Программирование на языке высокого уровня. Питер, 2004.

Юркин А. Задачник по программированию. Гриф МО. Учебное пособие, Питер, 2002.

Шмидт Г. Самоучитель Си++. СПб.: БХВ – Петербург, 2004.

Вопросы: 1. Типы данных. 2. Программирование типовых действий с данными. 3. Программирование ввода и вывода данных.

Вопросы:

1. Типы данных.

2. Программирование типовых действий с данными.

3. Программирование ввода и вывода данных.

1. Типы данных

1. Типы данных

Точные числовые данные, использующие целые значения.  Тип данных long     от -2^31 (-2 147 483 648)  до 2^31-1 (2 147 483 647)     4 байта int      от -2^31 (-2 147 483 648)   до 2^31-1 (2 147 483 647)     4 байта char    от -128  до  1 2 7      1 байт Тип данных int является основным типом целочисленных данных  Беззнаковые данные unsigned

Точные числовые данные, использующие целые значения.

Тип данных

long от -2^31 (-2 147 483 648)

до 2^31-1 (2 147 483 647) 4 байта

int от -2^31 (-2 147 483 648)

до 2^31-1 (2 147 483 647) 4 байта

char от -128 до 1 2 7 1 байт

Тип данных int является основным типом целочисленных данных

Беззнаковые данные unsigned

Вещественные данные («приблизительные» типы данных) Тип данных float     ~  ± 10 ^- 44 до  ± 10 ^ 38 с плавающей запятой с точностью до семи знаков (одинарная точность). 4 байта. double  ~  ± 10 ^308 до 10^  -  308  с плавающей запятой с точностью до 15 знаков (удвоенная точность).  8  байт. long double  то же, что и double (зависит от компилятора).

Вещественные данные («приблизительные» типы данных)

Тип данных

float ~ ± 10 ^- 44 до ± 10 ^ 38 с плавающей запятой

с точностью до семи знаков (одинарная точность). 4 байта.

double ~ ± 10 ^308 до 10^ - 308 с плавающей запятой

с точностью до 15 знаков (удвоенная точность). 8 байт.

long double то же, что и double (зависит от компилятора).

Текстовые константы “ Пример записи текстовой константы “ Ограничителем является двойная кавычка. Эскейп–последовательность начинается со знака “ \ “ . Простые эскейп–последовательности служат для символьных кодов, не имеющих графического представления и символов, используемых в специальных целях. Например, \ n  – используется для указания перевода строки в функциях вывода результатов.

Текстовые константы

Пример записи текстовой константы

Ограничителем является двойная кавычка.

Эскейп–последовательность начинается со знака \ .

Простые эскейп–последовательности служат для символьных кодов, не имеющих графического представления и символов, используемых в специальных целях.

Например,

\ n используется для указания перевода строки в функциях вывода результатов.

Символьные константы имеют тип char , а ее значение эквивалентно числовому значению кода. Примеры записи символьных констант ‘ a’ ‘ A’ ‘ \n’ ‘ 9’ Данный тип рекомендуется использовать при работе с символьными данными . Комментарии //определяет точку входа для приложения /* это тоже комментарий*/

Символьные константы имеют тип char , а ее значение эквивалентно числовому значению кода. Примеры записи символьных констант

a’

A’

\n’

9’

Данный тип рекомендуется использовать при работе с символьными данными .

Комментарии

//определяет точку входа для приложения

/* это тоже комментарий*/

2. Программирование типовых действий с данными

2. Программирование типовых действий с данными

Одноместные операции - изменение знака операнда; + ненужная операция; ++  увеличение на единицу значения операнда. Две формы: префиксная форма  обозначает увеличение значения операнда на единицу до его использования. Например, пусть целая переменная i равна 3, тогда выражение ++ i  означает, что переменная i примет значение 4 и это значение будет использовано в вычислениях; постфиксная форма  обозначает увеличение значения операнда на единицу после его использования, т.е. i ++  означает увеличение переменной i  на единицу после вычисления выражения, в котором встретилась такая конструкция;

Одноместные операции

- изменение знака операнда;

+ ненужная операция;

++ увеличение на единицу значения операнда. Две формы:

префиксная форма обозначает увеличение значения операнда на единицу до его использования. Например, пусть целая переменная i равна 3, тогда выражение ++ i означает, что переменная i примет значение 4 и это значение будет использовано в вычислениях;

постфиксная форма обозначает увеличение значения операнда на единицу после его использования, т.е. i ++ означает увеличение переменной i на единицу после вычисления выражения, в котором встретилась такая конструкция;

--  уменьшение на единицу значения операнда.  Также имеет префиксную и постфиксную формы записи.  Операндами для операций ++ и –– выступают переменные. Выражения вида – –10, 10++ или ( a + b )++  не допустимы.

-- уменьшение на единицу значения операнда.

Также имеет префиксную и постфиксную формы записи.

Операндами для операций ++ и –– выступают переменные. Выражения вида – –10, 10++ или ( a + b )++ не допустимы.

Двуместные операции Обозна - чение  Назначение арифметических операций  + - * /   % Сложение операндов; Вычитание операндов; Умножение операндов; Деление операндов. Результат деления целочисленных операндов усекается до целого (дробная часть отбрасывается), например 10/4 равно 2, 11/3 равно 3;  Получение остатка от деления целочисленных операндов. Для положительных операндов остаток неотрицательный, например 11%3 равно 2. Если операнды отрицательные, то знак остатка зависит от варианта компилятора (обычно равен знаку делимого).

Двуместные операции

Обозна - чение

Назначение арифметических операций

+

-

*

/

%

Сложение операндов;

Вычитание операндов;

Умножение операндов;

Деление операндов. Результат деления целочисленных операндов усекается до целого (дробная часть отбрасывается), например 10/4 равно 2, 11/3 равно 3;

Получение остатка от деления целочисленных операндов. Для положительных операндов остаток неотрицательный, например 11%3 равно 2. Если операнды отрицательные, то знак остатка зависит от варианта компилятора (обычно равен знаку делимого).

Старшинство операций: Умножение и деление в порядке перечисления слева направо; Сложение и вычитание в порядке перечисления слева направо; Изменение порядка с помощью круглых скобок ( ) .

Старшинство операций:

  • Умножение и деление в порядке перечисления слева направо;
  • Сложение и вычитание в порядке перечисления слева направо;
  • Изменение порядка с помощью круглых скобок ( ) .
Операции присваивания Обозначение  Назначение операций  =   переменная = выражение ; Оператор присваивания завершается знаком

Операции присваивания

Обозначение

Назначение операций

=

переменная = выражение ;

Оператор присваивания завершается знаком " ; ". В строке можно записывать несколько операторов. Значение выражения, стоящего справа от знака присваивания, присваивается операнду левой части, например

a=3.1415;

t=(a+b)/(c+d); t1=t1+3./a;

c = d = x = x –1;

=

Составная операция присваивания.

переменная = выражение ;

Присваивание производится после выполнения операции " " над переменной, стоящей слева от знака. Запись A = B эквивалентна A = A B . Вместо символа " " может стоять обозначение одной из следующих операций: +, –, /, % . Например,

z *= k ; /* эквивалентно записи z = z * k */

ds /= z 1–2.7; эквивалентно ds = ds /( z 1–2.7); а+=с; эквивалентно а=а+с;

В составной операции переменная должна быть обязательно первым операндом, в частности составную операцию нельзя применить к выражению x = a / x .

Частным случаем оператора является выражение вида а++;  Такие операторы позволяют модифицировать значение переменной. Запись а+++ b эквивалентна (а++)+ b

Частным случаем оператора является выражение вида

а++;

Такие операторы позволяют модифицировать значение переменной.

Запись а+++ b эквивалентна (а++)+ b

П реобразования типов автоматическо е преобразовани е типов. Осуществляется только при переходе от младшего типа к старшему. Перечисление  типов  в  порядке  их « повышения »:  char , short, int, long int, float, double, long double . явное преобразовани е типов  double d ; int i,k; d = ( double ) i / ( double ) k ;

П реобразования типов

  • автоматическо е преобразовани е типов. Осуществляется только при переходе от младшего типа к старшему. Перечисление типов в порядке их « повышения »: char , short, int, long int, float, double, long double .
  • явное преобразовани е типов

double d ;

int i,k;

d = ( double ) i / ( double ) k ;

2. Программирование ввода и вывода информации

2. Программирование ввода и вывода информации

Отображение информации printf (

Отображение информации

printf (" спецификация " , список аргументов );

Список аргументов необязателен

Пример отображения текстовой информации

printf ("\ n Введите значение аргумента\ n ");

Обобщенный вид спецификации

% флажки ширина_поля.точность модификатор спецификатор

Обязательны: % и спецификатор

Список аргументов может включать имена переменных, константы, обращения к функциям, выражения .

Спецификаторы d  – целое десятичное число типа char  и int ; u  – целое десятичное число типа unsigned char  и unsigned int ; f  – вещественное число с фиксированной точкой типа float  и double ; e – вещественное число в форме с плавающей точкой в виде мантиссы и порядка типа float  и double . Вместо строчной можно применять прописную букву Е ; g - вещественное число типа float  и double печатается в формате f или e в зависимости от того, какой из них более компактен для данного значения и точности представления.

Спецификаторы

d – целое десятичное число типа char и int ;

u – целое десятичное число типа unsigned char и unsigned int ;

f – вещественное число с фиксированной точкой типа float и double ;

e – вещественное число в форме с плавающей точкой в виде мантиссы и порядка типа float и double . Вместо строчной можно применять прописную букву Е ;

g - вещественное число типа float и double печатается в формате f или e в зависимости от того, какой из них более компактен для данного значения и точности представления.

Модификаторы h  – значение типа short int ; l  – значение типа long ; L  – значение типа long double ;

Модификаторы

h – значение типа short int ;

l – значение типа long ;

L – значение типа long double ;

В ыполнение фрагмента float а, b ; а=–7.12; b =15.126; printf(

В ыполнение фрагмента

float а, b ;

а=–7.12; b =15.126;

printf("\na= %f\tb= %7.2fi= %dкм", a,b,5+10);

для вещественных величин " а " и " b " типа float , арифметического выражения 5+10 типа int обеспечит отображение в виде

а= -7.120000 b = 15.13 i = 15км

В этом примере для переменной " а " формат вывода задается по умолчанию – семь цифр, для переменной " b " количество цифр в дробной части числа задано равным 2, поэтому производится усечение результата путем округления. С помощью эскейп- последовательности символов " \ t " между объектами вывода обеспечивается интервал, равный величине табуляции, перед выводом наименования переменной " i " такого интервала не предусмотрено.

При выводе больших значений переменных без знака по спецификации d , вместо спецификации u , будут отображаться отрицательные значения. Так в результате выполнения фрагмента программы unsigned k = 4  000  000  000 ; printf (

При выводе больших значений переменных без знака по спецификации d , вместо спецификации u , будут отображаться отрицательные значения. Так в результате выполнения фрагмента программы

unsigned k = 4 000 000 000 ;

printf ("\ n % d ", k );

будет отображено значение

294967296 .

Флажки предоставляют дополнительные средства управления размещением выводимой информации: знак минуса – выводимое число или строка символов прижимается к левому краю поля. При отсутствии флажка (по умолчанию) выравнивание чисел производится по правой границе поля; знак плюса – обеспечивает вывод знака числа (знака + или – ). Если этот флажок не указан, то знак выводится только у отрицательных величин; знак пробела – у положительных чисел вместо знака выводится пробел; знак # – применение этого флажка с форматами вывода вещественных чисел (форматы f , g ) приводит к отображению десятичной точки, даже если дробная часть числа отсутствует. Примеры применения флажков:

Флажки предоставляют дополнительные средства управления размещением выводимой информации:

знак минуса – выводимое число или строка символов прижимается к левому краю поля. При отсутствии флажка (по умолчанию) выравнивание чисел производится по правой границе поля;

знак плюса – обеспечивает вывод знака числа (знака + или ). Если этот флажок не указан, то знак выводится только у отрицательных величин;

знак пробела – у положительных чисел вместо знака выводится пробел;

знак # – применение этого флажка с форматами вывода вещественных чисел (форматы f , g ) приводит к отображению десятичной точки, даже если дробная часть числа отсутствует.

Примеры применения флажков:

" %– f " – выравнивание вещественного числа по левой границе поля;

" % d " – занесение пробела вместо знака положительного числа. Знак отрицательных чисел отображается обычным образом.

Любые символы форматной строки, которые не относятся к спецификациям, выводятся без изменений.

Ввод числовой информации с клавиатуры scanf (

Ввод числовой информации с клавиатуры

scanf (" спецификация " , список аргументов );

Обобщенный вид спецификации

% ширина_поля модификатор спецификатор

Обязательны: % и спецификатор

С пецификаторы d  – целое десятичное число со знаком (тип int ); u – целое десятичное число без знака (тип unsigned  int ); e , f , g  – вещественное число (тип float ). Изображение числа содержит необязательный знак числа (+ или –), десятичные цифры, возможно точку и десятичные цифры дробной части мантиссы, необязательный порядок (символ

С пецификаторы

d – целое десятичное число со знаком (тип int );

u – целое десятичное число без знака (тип unsigned int );

e , f , g – вещественное число (тип float ). Изображение числа содержит необязательный знак числа (+ или –), десятичные цифры, возможно точку и десятичные цифры дробной части мантиссы, необязательный порядок (символ " е " или " Е ", за которым следует целое число, возможно со знаком).

Модификатор ы С луж а т для уточнения формата ввода данных: h  – десятичное число типа short int ( hd ); l  – десятичное число типа long int ( ld ) или double ( lf , le ); L – десятичное число типа long double ( Lf , Le ).

Модификатор ы

С луж а т для уточнения формата ввода данных:

h – десятичное число типа short int ( hd );

l – десятичное число типа long int ( ld ) или double ( lf , le );

L – десятичное число типа long double ( Lf , Le ).

Пример записи функции ввода целой переменной

Пример записи функции ввода целой переменной " i " типа int , переменной " z " типа float , переменной " t " типа double

scanf ("% d % f % lf ",& i ,& z ,& t );

При чтении с клавиатуры последовательности символов 123 –45 67.89 переменная " i " получит значение 123, переменная " z " – значение – 45 , а " t " – значение 67.89 .

Разделители: пробел, табуляци я , символ перехода на новую строку

// Prz1.cpp: определяет точку входа для консольного приложения. //Расчет площади прямоугольника #include

// Prz1.cpp: определяет точку входа для консольного приложения.

//Расчет площади прямоугольника

#include "stdafx.h"

#include

void main()

{

double dl, s; float h;

printf("\nProgramma rascheta ploshady pryamougolnica");

printf("\nVvedite dlinu pryamougolnica= ");

scanf("%lf",&dl);

printf("\nVvedite vysotu pryamougolnica= ");

scanf("%f",&h);

s=dl*h;

printf("\nploshad=%7.3lf\n", s);

}

Вопросы для самоподготовки 1. Особенности представления целых величин. 2. Особенности представления вещественных величин. 3. Порядок выполнения арифметических операций. 4. Особенности деления целых величин. 5. Ввод вещественных и целых величин. 6. Отображение арифметических данных.

Вопросы для самоподготовки

1. Особенности представления целых величин.

2. Особенности представления вещественных величин.

3. Порядок выполнения арифметических операций.

4. Особенности деления целых величин.

5. Ввод вещественных и целых величин.

6. Отображение арифметических данных.

-80%
Курсы дополнительного образования

Создание динамических веб-страниц с помощью PHP и MySQL

Продолжительность 72 часа
Документ: Cвидетельство о прохождении курса
4000 руб.
800 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Программирование типовых операций (214.5 KB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт