- •Форматный ввод/вывод данных.
- •1.Форматный вывод
- •2.Форматный ввод .
- •Операции языка с.
- •Лабораторная работа №1 Данные. Типы данных. Приведение типов. Циклы Теоретическая часть Типы данных
- •Оператор sizeof
- •Преобразования типов.
- •Примеры программ
- •Задание на лабораторную работу № 1
- •Операторы организации условных и безусловных переходов.
- •If (проверка_условия) инструкция_1; else инструкция_2;
- •Примеры программ
- •Задание на лабораторную работу № 2
- •Массивы.
- •Строки символов.
- •Структуры.
- •Оператор typedef.
- •Битовые поля.
- •Смеси (объединения).
- •Перечисляемый тип данных.
- •Примеры программ
- •Задание на лабораторную работу № 3
- •Примеры программ
- •Классы памяти.
- •Указатели на функции.
- •Рекурсия.
- •Примеры программ
- •Задание на лабораторную работу № 5
- •Контрольные вопросы:
- •Рекомендуемая литература
СОДЕРЖАНИЕ
Общие сведения о программировании на языках С и С++. Типичная структура программы. 5
Директива препроцессора #include 5
Составной оператор или блок { } 5
Пустой оператор или разделитель ; 5
Комментарии /* */ или // 5
Идентификаторы 6
Форматный ввод/вывод данных. 6
1.Форматный вывод 6
2.Форматный ввод . 8
Операции языка С. 9
Лабораторная работа №1 Данные. Типы данных. Приведение типов. Циклы 12
Теоретическая часть 12
Типы данных 12
Тип void 14
Оператор sizeof 14
Преобразования типов. 14
Примеры программ 15
Задание на лабораторную работу № 1 16
Контрольные вопросы: 16
Лабораторная работа №2 Циклы. Операторы организации условных и безусловных переходов. 18
Теоретическая часть 18
Операторы организации циклов. 18
Операторы организации условных и безусловных переходов. 20
Примеры программ 22
Задание на лабораторную работу № 2 23
Контрольные вопросы: 23
Лабораторная работа №3 Указатели. Структурированные типы данных 25
Теоретическая часть 25
Указатели и операции с ними. 25
Массивы. 26
Строки символов. 29
Структуры. 30
Оператор typedef. 32
Битовые поля. 33
Смеси (объединения). 34
Перечисляемый тип данных. 34
Примеры программ 35
Задание на лабораторную работу № 3 36
Контрольные вопросы: 37
Лабораторная работа №4 Файлы и файловые операции 38
Теоретическая часть 38
Файлы. 38
Примеры программ 42
Задание на лабораторную работу № 4 43
Контрольные вопросы: 43
Лабораторная работа № 5 Функции 45
Теоретическая часть 45
Общие сведения. 45
Классы памяти. 47
Указатели на функции. 48
Рекурсия. 49
Перегрузка функций в файле (только С++) 49
Примеры программ 50
Задание на лабораторную работу № 5 52
Контрольные вопросы: 52
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА 53
Общие сведения о программировании на языках С и С++. Типичная структура программы.
С – программа состоит из неограниченного числа функций, одна из которых обязательно должна именоваться main(). Этой функции передается управление сразу после запуска программы.
Простейшая программа (“Hello, world!!!”):
#include<stdio.h>
void main(void)
{
printf(“Hello, world!!!”);
}
Директива препроцессора #include
С ее помощью препроцессор дает распоряжение включить файл, указанный в качестве аргумента, в текущий файл. В большинстве случаев включается так называемый файл-заголовок, который содержит объявления функций, символьные константы, определения типов, шаблоны классов.
Составной оператор или блок { }
В приведенном выше примере после имени main() вы видите открывающуюся фигурную скобку «{», а в конце программы — закрывающуюся фигурную скобку «}». Эти скобки объединяют группу операторов, которая называется блоком операторов. Блоки операторов могут представлять собой совокупность простых операторов, а могут включать, например функции, операторы циклов, условные операторы.
Пустой оператор или разделитель ;
Каждый оператор программы должен заканчиваться точкой с запятой. Несколько операторов, разделенных точкой с запятой могут стоять в одной строке.
Комментарии /* */ или //
Начало текста комментария /* конец — */
Для С++ комментарий в одну строку — //.
Идентификаторы
Важным понятием языка является идентификатор, который используется в качестве имени объекта (функции, переменной, константы и т. п.). Идентификаторы должны выбираться с учетом следующих правил:
1. Они должны начинаться с буквы латинского алфавита (a,..., z, A,..,Z) или с символа подчеркивания (_).
2. В них могут использоваться буквы латинского алфавита, символ подчеркивания и цифры (0,.....9). Использование других символов в идентификаторах запрещено.
3. В языках С и С++ буквы нижнего регистра (a,..„z), применяемые в идентификаторах, отличаются от букв верхнего регистра (A,.....,Z). Это означает, что следующие идентификаторы считаются разными: name, NaMe, NAME и т. п.
4. Идентификаторы могут иметь любую длину, но воспринимаются и используются для различения объектов (функций, переменных, констант и т. п.) только определенные символы. Их число меняется для разных систем программирования (в Borland C++ оно может устанавливаться при настройке среды и имеет максимальное значение - 32). Предположим, что это число установлено равным 5. Тогда идентификаторы count и counter будут идентичны, поскольку у них первые пять символов совпадают.
5. Идентификаторы для новых объектов не должны совпадать с ключевыми словами языка и именами стандартных функций из библиотеки.
Форматный ввод/вывод данных.
1.Форматный вывод
Функция printf обеспечивает форматный вывод. Ее можно записать в следующем формальном виде:
printf («управляющая строка», аргумент _1, аргумент _2,...);
Управляющая строка содержит компоненты трех типов:
обычные символы, которые просто копируются в стандартный входной поток (выводятся на экран дисплея);
спецификации преобразования, которая вызывает вывод на экран очередного аргумента из последующего списка аргументов. В простейшем случае спецификация преобразования состоит из символа % и следующего за нем символа задающего преобразование (типы данных разбираются далее в лабораторных работах)
с - значением аргумента является символ;
d или i - значением аргумента является десятичное целое число;
е - значением аргумента является вещественное десятичное число в экспоненциальной форме вида l.23e+2;
Е - значением аргумента является вещественное десятичное число в экспоненциальной форме вида l.23E+2;
f - значением аргумента является вещественное десятичное число с плавающей точкой:
q (или G) - используется, как е или f, и исключает вывод незначащих нулей;
о - значением аргумента является восьмеричное целое число;
s - значением аргумента является строка символов (символы строки выводятся до тех пор, пока не встретится символ конца строки или же не будет выведено число символов, заданное точностью);
u - значением аргумента является беззнаковое целое число;
х - значением аргумента является шестнадцатеричное целое число с цифрами 0,..., 9, а, b, с, d, е, f;
X - значением аргумента является шестнадцатеричное целое число с цифрами 0,...,9, А. В, С, D. Е, F;
р - значением аргумента является указатель;
n - применяется в операциях форматирования. Аргумент, соответствующей этому символу спецификации, должен быть указателем на целое. В него- возвращается номер позиции строки (отображаемой на экране), в которой записана спецификация %n.
управляющие символьные константы:
\а - для кратковременной подачи звукового сигнала;
\b-для перевода курсора влево на одну позицию;
\f-для подачи формата;
\n-для перехода на новую строку;
\r-для возврата каретки;
\t - горизонтальная табуляция;
\v - вертикальная табуляция;
\\ - вывод символа \;
\' - вывод символа ';
\" - вывод символа ";
\? - вывод символа ?.
2.Форматный ввод .
Функция scanf обеспечивает форматный ввод. Ее можно записать в следующем формальном виде:
scanf («управляющая строка», аргумент _1, аргумент _2,....);
Аргументы scanf должны быть указателями на соответствующие значения. Для этого перед именем переменной записывается символ &. Назначение указателей будет подробно рассмотрено далее.
Управляющая строка содержит спецификации преобразования и используется для установления количества и типов аргументов. В нее могут включаться:
пробелы, символы табуляции и перехода на новую строку (все они игнорируются);
спецификации преобразования, совпадающие с аналогичными у функции printf
обычные символы, кроме % (считается, что они должны совпадать с очередными неизвестными символами во входном потоке).
Программа вычисляющая экспоненту введенного числа:
#include<stdio.h> //для printf() и scanf()
#include<math.h> //для exp()
void main(void)
{
float num,result;
printf("Enter a number = ");
scanf("%f",&num);
result=exp(num);
printf("Exponent of %f is %f\n",num,result);
getchar();
getchar();
}