Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб1.Простая программа на Си.docx
Скачиваний:
2
Добавлен:
08.05.2019
Размер:
47.88 Кб
Скачать

Справочная информация. Спецификации строки формата

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

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

Тип

Описание

%c

char

Одиночный символ

%d (%i)

int

Знаковое десятичное целое число

%e (%E)

float или double

Число в формате с плавающей точкой в экспоненциальной форме

%f

float или double

Знаковое десятичное число с дробной частью

%o

int

Беззнаковое восьмеричное целое

%s

вектор char

Последовательность символов (строка)

%u

int

Беззнаковое целое

%x (%X)

int

Беззнаковое шестнадцатеричное целое

%g (%G)

float или double

использует %f или %e по требованию

%p

указатель

Адрес, сохранённый в указателе

Точность задаётся количеством цифр w для целых и парой w. для чисел с плавающей точкой, где w – общее количество знаков, d – количество цифр в дробной части.

Флаги

Флаг

Значение

-

Прижать влево

+

Всегда печатать знак

Пробел

Печатать пробел, если нет знака числа

0

Печатать с ведущими нулями

#

Использовать альтернативную форму

%#o %#x %#f %#e %#g

Управляющие коды:

\b backspace (на позицию назад)

\f formfeed (пропуск)

\n new line (новая строка)

\r carriage return (возврат каретки)

\t horizontal tab (горизонтальная табуляция)

\' single quote (одиночный апостроф)

\0 null (пустой символ)

Примеры:

int n = 25;

float x = 2.54;

char c = 'A';

printf("% 5d,%8.1f,_%d \n", n, x, c);// _ _ _25,_ _ _ _ _2.5,_65

printf("%-5d,%8.6f,%#6x \n", n, x, c);// 25_ _ _,2.540000,_ _0x41

printf("%+5d,%4.2e,%c \n", n, x, c); // _ _+25,2.54e+000,A

Задачи для решения

  1. Даны две целых переменных a и b. Обменять их значения.

  2. Дано натуральное число в шестнадцатеричной системе счисления. Напечатайте его значение в десятичной системе счисления.

  3. Дано два целых числа. Напечатайте сумму, разность и произведение данных чисел.

  4. В прямоугольнике даны длины сторон. Вычислите и напечатайте периметр и площадь прямоугольника.

  5. Дано два натуральных числа. Вычислите и напечатайте их частное и остаток от деления.

  6. Дано натуральное двузначное число. Напечатайте сумму его цифр. Например, сумма цифр двузначного числа 92 равна одиннадцати.

  7. Даны целые коэффициенты квадратного уравнения . Вычислите и напечатайте его дискриминант .

  8. Целая переменная c должна использоваться как переключатель, т.е. если ее значение равно 0 (выключено), то ей следует присвоить значение 1 (включено), и наоборот. Напишите программу, которая преобразует введенное значение c. Условный оператор не использовать.

  9. Цвета в шестнадцати цветовой палитре делятся на тёмные (с номерами от 0 до 7) и светлые (с номерами от 8 до 15) так, что каждому тёмному цвету соответствует светлый. Например, тёмному цвету 1 соответствует светлый цвет 9, а светлому цвету 14 соответствует тёмный цвет 6. По заданному номеру цвета вычислите номер соответствующего ему цвета.

  10. Дана целая переменная a, не равная нулю. Присвойте ей противоположное значение и напечатайте его. Например, если значение переменной a равно -15, то противоположным значением будет 15.

  11. Вычислите сумму первых n членов натурального ряда чисел.

  12. Вычислите n-ый член арифметической прогрессии по заданному первому члену a и разности d.

  13. Дано натуральное трехзначное число. Напечатайте сумму цифр этого числа.

  14. До 1971 года в Англии в денежной системе использовались следующие единицы: 1 фунт стерлингов = 20 шиллингов; 1 шиллинг = 12 пенсов. “Нищий” в Сити в среднем зарабатывал P пенсов. Сколько это составляет фунтов, шиллингов и пенсов. Например, 512 пенсов составляют 42 шиллинга и 8 пенсов, а 42 шиллинга составляют 2 фунта и 2 шиллинга. Ответом будет 2, 2 и 8.

  15. На 1 января приходится понедельник — первый день недели. От начала года идёт k-ый день. Какой это день недели (указать порядковый номер дня недели)?