Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Стандартные функции вывода информации

ЛАБОРАТОРНАЯ РАБОТА № 1

ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ

 

Цель работы: – изучить правила составления текстов программ на языке С++: базовые типы данных, ввод-вывод данных, основные математические функции; научиться программировать линейные алгоритмы. Написать и отладить программу линейного алгоритма в консольном приложении.

 

Теоретические сведения

Алфавит языка С/С++ состоит из: прописных и строчных букв латинского алфавита, арабских цифр и специальных символов, смысл и правила, использования которых будут рассматриваться далее.

В языке C применяются данные двух категорий: простые (скалярные) и сложные (составные).

К основным (базовым) типам данных относятся целый (int), вещественный (float, double) и символьный (char) типы. В свою очередь, данные целого типа могут быть короткими (short) и длинными (long), со знаком (signed) и беззнаковыми (unsigned). Атрибут long может использоваться и с типом double – длинное вещественное.

К сложным типам данных относятся массивы, структуры (struct), объединения (union) и перечисления (enum).

 

Запись самоопределенных констант

Тип данных Общий формат записи Примеры
Десятичные целые ± n 22 –15 176 –1925
Вещественные с фиксированной десятичной точкой ± n. m 1.0 –3.125 –0.001
Вещественные с плавающей точкой ± n. mE ± p смысл записи ± n, m ×10± p 1.01E–10 0.12537 е +4  
Символьные ' * ' ' A ' ' х ' '0' '<'
Строковые “ ****** ” Minsk ” “ Press any key

В таблице * – любой символ, набранный на клавиатуре.

 

Декларация объектов

Все объекты (переменные, массивы и т.д.), с которыми работает программа, необходимо декларировать. В декларации объектам присваиваются идентификаторы (ID), которые могут включать латинские буквы, символ нижнего подчеркивания «_» и цифры, причем первым символом ID не может быть цифра.

Внимание! В языке С/С++ строчные и прописные буквы имеют различные коды, т.е. PI, Pi и pi – различные идентификаторы (прил. 1).

При декларации объектам можно задавать начальные значения (инициализировать), например:

int k = 10, m = 3, n;

double c = –1.3, w = –10.23, s;

Принято использовать в ID переменных строчные буквы, а в именованных константах – прописные, например:

const double PI = 3.1415926;

double pi = 3.1415926;

Разделителями ID являются пробелы, символы табуляции, перевода строки и страницы, а также комментарии.

Комментарий – любая последовательность символов, начинающаяся парой символов /* и заканчивающаяся парой символов */ или начинающаяся // и до конца текущей строки.

 

Директивы препроцессора

Перед компиляцией программы с помощью директив препро­цес­сора выполняется предва­ри­те­ль­ная обработка текста программы.

Директивы начинаются с символа # (шарп), за которым следует наименование операции препроцессора. Чаще всего используются директивы include и define.

Директива # include используется для подключения к программе заголовочных файлов с декларацией стандартных библиотечных функций, например:

#include <stdio.h> – стандартные функции ввода-вывода;

#include <conio.h> – функции работы с консолью;

#include <math.h> – математические функции.

Директива # define (определить) создает макроконстанту и ее действие распро­страняется на весь файл, например:

#define PI 3.1415927

– в ходе препроцессорной обработки идентификатор PI везде заменяется указанным значе­нием 3,1415927.

Структура программы

Программа, написанная на языке С++, состоит из директив препроцессора, объявлений глобальных переменных, одной или нескольких функций, среди которых одна главная (main) функция управляет работой всей программы.

Общая структура программы на языке С имеет вид:

<директивы препроцессора>

<определение типов пользователя – typedef>

<прототипы функций>

<определение глобальных объектов>

<функции>

Функции, в свою очередь, имеют структуру:

<класс_памяти> <тип> <имя функции> (<объявление параметров>)

{- начало функции

<определение локальных объектов>

<операции и операторы>

}- конец функции

 

Операция присваивания имеет полную и сокращенную формы записи.

Полная форма: ID = выражение;

– выполняется справа налево, т.е. сначала вычисляется выражение, а затем его результат присваивается указанному ID, например: y=(x+2)/(3*x)–5;

В одном операторе можно присвоить значение несколь­ким перемен­ным, например: x = y = z = 0;

или z = (x = y) * 5; – сначала переменной x присваивается значение переменной y, далее вычисляется выражение x *5, и результат присваивается переменной z.

Сокращенная форма: ID операция= выражениe;

где операция – одна из арифметических операций +, , *, /, %;например:

s += 7; (s = s+7;) или y *= x+3; (y = y*(x+3));

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

В языке С/С++ существуют операции инкремента (--) и декремента (++), т.е. уменьшения или увеличения значения переменной на 1. Операции могут быть префиксные (++ i и -- i) и постфиксные (i ++ и i --). При использовании данной операции в выражении в префиксной форме, сначала выполняется сама операция (изменяется значение i), и только потом вычисляется выражение. В постфиксной форме – операция применяется после вычисления выражения, например, для значений b = 7 и n = 1 будут получены следующие результаты:

1) c = b *++ n; – порядок выполнения: n = n +1, c = b * n, т.е. c = 14;

2) c = b * n ++; – в этом случае: c = b * n, n = n +1, т.е. c = 7.

Еще несколько примеров:

i += i; // равносильно i = i + 1;

I *= 4; // равносильно i = I * 4;

I /= 4; // равносильно i = i / 4;

i -= i; // равносильно i = i - 1;

 

Операции языка С / С ++ (арифметические: +,–,*,/,%) и наиболее часто использующиеся стандартные математические функции описаны в прил.1.

 

Стандартные функции вывода информации

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

puts (S) – вывод строки символов S с переходом на начало новой строки и вывод данных с форматированием;

рrintf (управляющая строка, список объектов вывода);

управляющая строка – заключенная в кавычки строка, содержащая спецификации преобразования объектов вывода, управляющие символы (признак «\») и любой набор символов, использующийся в качестве поясняющего текста – указывает компилятору вид выводимой информации;

список объектов вывода – печатаемые объекты (константы, переменные или выражения, вычисляемые перед выводом). Данные, указанные в списке выводятся в соответствии со спецификациями управляющей строки.

Спецификации преобразования имеют вид

% < флаг > < размер поля. точность > спецификация

флаг: (минус) выравнивание влево (по умолчанию выполняется выравнивание вправо); + (плюс) выводится знак положительного числа;

размер поля – задает ширину поля вывода (количество символов), при недостаточном значении выполняется автоматическое расширение;

точность – задает количество цифр в дробной части числа;

спецификация – формат преобразования выводимого объекта.

Приведем основные форматы печати:

%d – десятичные целые (int); %c – один символ (char);

%s – строка символов (string); %f – данные типа float;

%ℓd – длинное целое; %ℓf – данные типа double;

%x – шестнадцатеричные данные; %o – восьмеричные данные.

При необходимости вывода управляющих символов (% \ и т.п.) их нужно указать 2 раза, например:

printf("Только %d%% предприятий не работало. \n",5);

получим:

Только 5% предприятий не работало.

Управляющие символы: \ n – переход на новую строку; \ t – горизонтальная; \ v – вертикальная табуляция; \ b – возврат назад на один символ; \ r – возврат в начало строки; \ a – звуковой сигнал; \ f – прогон бумаги до начала новой страницы; \? – знак вопроса.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...