Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Лабораторный практикум по программированию на языке Си

Покупка
Новинка
Артикул: 842165.01.99
Доступ онлайн
640 ₽
В корзину
В пособии дано краткое изложение основ программирования на языке Си с примерами. Рассмотрены следующие темы: программы линейной и разветвляющейся структуры; циклы с параметром; циклы с предусловием и постусловием; указатели и ссылки; функции и способы передачи аргументов; одномерные массивы; сортировка массивов; двумерные массивы; символьные массивы и строки; массивы структур; текстовые файлы; бинарные файлы. Приведены задания к лабораторным работам. Для студентов младших курсов.
Степанов, В. П. Лабораторный практикум по программированию на языке Си : учебно-методическое пособие по курсу «Информатика» / В. П. Степанов. - Москва : Изд-во МГТУ им. Баумана, 2007. - 47 с. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2169343 (дата обращения: 21.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ 
имени Н.Э. БАУМАНА 
В.П. Степанов 
ЛАБОРАТОРНЫЙ ПРАКТИКУМ  
ПО ПРОГРАММИРОВАНИЮ  
НА ЯЗЫКЕ СИ 
Учебно-методическое пособие по курсу «Информатика» 
М о с к в а 
Издательство МГТУ им. Н.Э. Баумана 
2 0 0 7 


УДК 681.3.06 
ББК 22.18 
С79 
Рецензенты: В.Н. Шакин, Л.Н. Жукова  
Степанов В.П. 
С79 
Лабораторный практикум по программированию на языке Си: 
Учеб.-метод. пособие по курсу «Информатика». – М.: Изд-во 
МГТУ им. Н.Э. Баумана, 2007. – 48 с.  
 
В пособии дано краткое изложение основ программирования 
на языке Си с примерами. Рассмотрены следующие темы: программы линейной и разветвляющейся структуры; циклы с параметром; циклы с предусловием и постусловием; указатели и ссылки; 
функции и способы передачи аргументов; одномерные массивы; 
сортировка массивов; двумерные массивы; символьные массивы и 
строки; массивы структур; текстовые файлы; бинарные файлы. 
Приведены задания к лабораторным работам. 
Для студентов младших курсов. 
Библиогр. 4 назв. 
УДК 681.3.06 
                                                                                                        ББК 22.18 
 
 © МГТУ им. Н.Э. Баумана, 2007 


 
1. ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ 
РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ 
Цель работы – изучение базовых типов данных; разработка 
алгоритмов и составление программ разветвляющейся структуры.  
В языке Cи применяются следующие базовые типы данных 
языка: int – целый, char – символьный, float – вещественный, double – вещественный двойной точности. Для определения производных типов данных служат квалификаторы – short, long, signed, 
unsigned. Все переменные, с которыми работает программа, необходимо описать с указанием их типов. Функция printf() предназначена для форматированного вывода данных. Ее формат:  
рrintf (<управляющая строка>, <список аргументов>); 
Управляющая строка, заключаемая в кавычки, указывает компилятору на тип выводимой информации. Она может содержать 
спецификации преобразования и управляющие символы. Вид спецификации преобразования:  
% <флаг> <размер поля> .< точность> <спецификация> 
где флаг может принимать следующие значения: минус – выравнивание влево выводимого числа (по умолчанию выполняется выравнивание вправо); плюс – выводится знак положительного числа; размер поля – задает минимальную ширину поля; при недостаточной ширине поля выполняется автоматическое расширение; 
точность – задает количество цифр в его дробной части; спецификация указывает вид выводимой информации.  
Приведем некоторые форматы печати: %d – десятичное целое 
число, %c – символ, %f – число с плавающей точкой. Для длинных 
чисел (long, double) используется дополнительный формат l.  
 
3


Функция scanf предназначена для форматированного ввода 
информации. Общий вид функции: 
scanf(<управляющая строка>, <список адресов>); 
Для нее, как и для функции printf(), указывается управляющая 
строка. Однако функция scanf(), в отличие от функции printf(), использует в списке адресов указатели на переменные, т. е. адреса. 
Для обозначения указателя перед именем переменной записывается символ &, означающий адрес переменной. Вводить данные 
можно как в одной строке через пробел, так и в разных строках. 
Для ввода значений строковых переменных символ & не применяется. При использовании формата % s строка вводится до первого 
пробела.  
Математические функции описаны в файле <math.h>. Приведем перечень некоторых математических функций: 
– sqrt(x), 
|x|– fabs(x), xn – pow(x,n), sin x– sin(x), cos x – cos(x). В этих функциях аргументы x имеют тип double, параметр n имеет тип int. Аргументы тригонометрических функций задаются в радианах. Все 
приведенные функции возвращают значение типа double. 
Операция присваивания имеет две формы записи – полную и 
краткую. С помощью одного оператора можнo присвоить одно 
значение нескольким переменным. Например: z = (x = y)*5 – сначала переменной x присваивается значение переменной y, далее 
вычисляется выражение x*5, и результат присваивается переменной z. 
Сокращенная форма операции присваивания записывается из 
совокупности одной из арифметических операций (+ , –, *, /, %) и 
знака =. 
Пример 1. Записать в сокращенной форме увеличение x в пять 
раз, прибавить к значению s 7: 
x* = 5; s+ = 7; /* x = x*5; s = s + 7; */ 
Cуществуют операции уменьшения (– –) и увеличения (++) 
значения переменной на единицу. Операции могут быть префиксные (++i и – – i) и постфиксные (i++ и i– –). В случае префиксной 
операции сначала выполняется сама операция, потом вычисляется 
выражение. В случае постфиксной операции – операция применяется после вычисления выражения.  
 
4


Разветвляющиеся алгоритмы реализуются с помощью двух 
операторов: условного оператора if и оператора switch. Условный 
оператор if имеет следующую форму: 
if ( <условие> ) <оператор1>; else <оператор2>; 
Оператор выполняет один из операторов в зависимости от условия. Если условие истинно, то выполняется <оператор1>, в 
противном случае – <оператор2>. Условный оператор имеет сокращенную форму записи:  
if ( <условие> ) <оператор>; 
В этом случае, если условие ложно, то выполняется следующий за if оператор программы. 
Условие должно быть заключено в скобки. Любое значение 
переменной, не равное нулю, считается истинным. Условие в 
скобках может быть простым или сложным. Простое условие создается с использованием шести операций отношения: == (равно), 
!= (не равно), > (больше), < (меньше), >= (больше или равно),  
<= (меньше или равно). Сложное условие получается из простых с 
использованием логических операций И (&&), ИЛИ (||) , НЕ (!). 
Сложное условие возвращает значение «истина» или «ложь» в зависимости от логического отношения между их операндами. Операция && возвращает значение «истина», когда истинны оба ее 
операнда, а во всех остальных случаях – значение «ложно». Операция || возвращает «ложно», когда ложны оба ее операнда, а во 
всех остальных случаях – «истина». Операция ! инвертирует значение своего операнда с «истины» на «ложь» и наоборот. 
Пример 2. Из двух значений a и b найти минимальное значение: 
if (a < b) min = a; else min = b; 
Пример 3. Написать условие того, что x находится на отрезке 
[a, b] или [c, d ]: 
(x >= a && x<=b || x >= c && x<=d) 
Операторы if/else могут быть многократно вложены один в 
другой. Если < оператор1 > и < оператор2 > в свою очередь являются операторами if, то такой оператор называют вложенным. 
 
5


Доступ онлайн
640 ₽
В корзину