
- •Основные понятия программирования
- •Понятие алгоритма. Алгоритмизация
- •Свойства алгоритма
- •Запись алгоритма на естественном языке
- •Изображение алгоритма в виде схемы
- •Понятие о языках программирования
- •Понятие о структурном подходе к разработке алгоритмов
- •4 Идти к 8
- •6 Идти к 8
- •8 Останов
- •Первая программа на Си
- •Процесс создания программы
- •Комментарии
- •Директива #include
- •Макросы
- •Переменные и типы данных
- •Правила именования идентификаторов
- •Типы данных
- •Int двухбайтовое целое число
- •Оператор printf: вывод на экран
- •Последовательности для вывода специальных символов
- •Спецификация вывода
- •X тип int в шестнадцатеричном виде
- •Оператор scanf: ввод с клавиатуры
- •Логическая организация программы на Си
- •Функция main
- •Глобальные и локальные переменные
- •Операторы и операции
- •Арифметические операции
- •Битовые операции
- •Операции отношения
- •Логические операции
- •Операции присваивания
- •Другие операции
- •Математические функции
- •Управляющие структуры
- •Операторы ветвления
- •Операторы цикла
- •Массивы
- •Функции
- •Интегрированная среда разработки turbo c
- •Общие сведения и принципы работы
- •Стандартные органы управления
- •Главное меню
- •Запуск иср и выход
- •Работа с окнами и файлами
- •Система помощи
- •Редактор
- •Компиляция и выполнение программ
- •Технология создания с-программы
- •Лабораторные работы
- •Лабораторная работа №1
- •Создание нового файла
- •Ввод и редактирование исходного текста
- •Сохранение
- •Выполнение программы
- •Исправление ошибок
- •Просмотр результатов выполнения
- •Закрытие файла
- •Открытие и выполнение ранее сохраненного файла
- •Вызов справки
- •Лабораторная работа №2
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Лабораторная работа №5
- •Лабораторная работа №6
- •Лабораторная работа №7
- •Лабораторная работа №8
- •Список вопросов
- •Литература
- •Приложение Пример оформления отчета по лабораторной работе
- •Блок-схема алгоритма
- •Текст программы
- •Результат выполнения программы
- •Теория и технология программирования
-
Последовательности для вывода специальных символов
Кроме \n, существуют и другие последовательности для вывода специальных символов на экран, наиболее часто используемые:
\t — вывод горизонтальной табуляции;
\r — возврат каретки (в начало текущей строки);
\\ — вывод одного обратного слеша «\»;
\" — вывод двойной кавычки.
-
Спецификация вывода
Как видно из рассмотренного выше примера, спецификации (правила форматирования значений при выводе) помещаются внутри выводимой строки. Вслед за этой строкой должны стоять нуль (если спецификаций не указано) или более переменных или выражений, разделенных запятыми. Каждой спецификации в операторе printf должна соответствовать переменная соответствующего типа. Если используется несколько спецификаций, то всем им должны соответствовать переменные того типа, который задается спецификацией.
Более формально полную спецификацию вывода можно определить следующим образом (поля в квадратных скобочках — необязательные):
%[флаги][ширина][.точность][l]символ_формата |
где l — используется для указания целых длинных типов, а ширина — минимальный размер поля вывода.
Значения флагов:
- выравнивание по левому краю
+ вывести знак значения – как плюс, так и минус
пусто для неотрицательных значений
вместо знака плюс вывести пробелы.
Точность: для целых — число цифр, для вещественных — число цифр после десятичной точки, для строк — число символов.
Символы формата:
с тип char
s строка
d тип int
o тип int в восьмеричном виде
u unsigned int (unsigned — беззнаковый)
X тип int в шестнадцатеричном виде
ld тип long
lo тип long в восьмеричном виде
lu unsigned long
lx тип long в шестнадцатеричном виде
f типы float и double
в виде с фиксированной точкой
e типы float и double в экспоненциальном виде
g типы float и double
в наиболее коротком виде из f или e.
Таблица 3 — Простейшие спецификации ввода-вывода для основных типов данных языка Си
-
Тип
Спецификация
int
%d
unsigned
%u
long
%ld
unsigned long
%lu
float
%f
double (вывод)
%f
double (ввод)
%lf
Внимание! Частая ошибка — отсутствие соответствующей переменной для каждой спецификации в строке printf. Другая частая ошибка — несоответствие типа переменной спецификации. Обычно это происходит тогда, когда в строке много спецификаций и программист путает порядок переменных. |
Листинг 3 — Пример использования оператора printf
/* printf.c – пример использования оператора printf. */
#include <stdio.h> #include <conio.h>
#define sqr(x) ((x) * (x)) #define pi 3.14159265
void main() { float x = 2.5; int i = 11; int j = 119;
clrscr();
printf(“\nЗначение квадрата 2.5 = %10.4f”, sqr(x)); printf(“\nЧисло пи = %10.4f”, pi); printf(“\nЗначение 2 * пи = %10.4f”, 2.0 * pi); printf(“\n\nШестнадцатеричный вид числа 11 = %x”, i); printf(“\nШестнадцатеричный вид числа 119 = %x”, j); printf(“\nВосьмеричный вид числа 119 = %o\n”, j); } |
Рисунок 19 — Результат выполнения программы printf.c