Рабочие листы
к вашим урокам
Скачать
1 слайд
Язык программирования Си
Строковые литералы, ввод-вывод
Ветвления
Югов Иван Олегович
МОУ Гимназия №10, г. Тверь
2 слайд
Строковые литералы
Указываются в кавычках:
"Test #2"; "Press any key...".
Пустая строка: "".
В тексте литерала единичные кавычки недопустимы, а двойные игнорируются:
"2º19'59" в. д." — недопустимо;
"Роман ""Тихий Дон""" → Роман Тихий Дон.
Кавычки нужно экранировать служебным символом «\»:
"Роман \"Тихий Дон\"" → Роман "Тихий Дон".
3 слайд
Строковые литералы
Экранирование — оформление служебных символов так, что они получают буквальное значение.
Символ «\» экранируется самим собой:
"C:\\bootlog.txt" → C:\bootlog.txt.
Символ «\» также экранирует конец строки:
"Программирование \
на языке Си"
обозначает строку
Программирование на языке Си.
4 слайд
Строковые литералы
Escape-последовательность (управляющая последовательность, УП) — последовательность символов, имеющая особое значение.
Используется для вставки служебных символов.
Начинаются с «\»: \", \\, \'.
Даёт возможность указывать символы по их восьмеричным (oct) и шестнадцатеричным (hex) кодам:
\000, где 000 — трёхзначный oct-код символа;
\x0, где 0 — hex-код символа (возможно несколько цифр).
"\065" → 5; "\x35" → 5; "\x74\145\x73\x74" → test.
В коде символов можно указывать меньше цифр, но нежелательно.
5 слайд
Строковые литералы
Примеры:
После символа \7 можно написать цифру 4: "\0074".
При записи "\74" получится символ с кодом 64: >.
Hex-запись не органичивается каким-то количеством цифр:
"\x445" — предупреждение о переполнении строковой константы. Результат не определён.
6 слайд
Строковые литералы
Как записать символ 5 сразу после символа \x44?
"\x44""5"
7 слайд
Строковые литералы
Стандартом также определены:
8 слайд
Строковые литералы
Примеры результата на экране:
"Information\b\bcs" → Informatics;
"A\tB\tC" → A B C.
Использование символа \n в литерале
"Л. Н. Толстой\n\"Война и мир\""
даёт на экране переход на следующую строку:
Л. Н. Толстой
"Война и мир".
Перед прочими символами «\» игнорируется:
\h → h, \N → N.
9 слайд
Строковые литералы
Каждый символ занимает в памяти 1 байт.
Любая строковая константа заканчивается символом с кодом 0 («нуль-терминатором»).
Все функции работы со строками это знают, поэтому не обрабатывают символы после первого же «нуль-терминатора» в строке.
Явно указывать «нуль-терминатор» не нужно.
10 слайд
Строковые литералы
Символьная константа — в апострофах:
'A'; '$'; '\''; '\077'; '\n'.
Занимает 1 байт:
не может быть пустым;
«нуль-терминатором» не заканчивается.
Может храниться в переменной типа char:
char P = 'A';
11 слайд
Строковые литералы
Возможна поддержка «широких» (wide) символов и строк — по 2 или 4 байта на символ.
«Широкие» литералы — с префиксом L:
L'Ы'
L"Lorem ipsum dolor sit amet..."
«Широкий» символ может храниться в переменной int (short, long):
short P = 'Ф';
12 слайд
Ввод-вывод
Используется заголовочный файл stdio.h.
Для его использования пишем в начале кода:
#include <stdio.h>
Основные операции:
ввод: scanf, fscanf, wscanf и т. п.;
вывод: printf, fprintf, wprintf и т. п.
13 слайд
Вывод (printf)
Функция printf выводит на стандартный поток вывода строковое выражение. Возвращает количество выведенных символов.
printf("Hello world!\n");
Полный формат вызова printf:
printf(Форматная строка, параметры);
Форматная строка — особая строковая константа, задающая формат вывода остальных параметров.
14 слайд
Вывод (printf)
Пример вывода с форматной строкой:
printf("Время: %d часов %d минут", H, M);
В форматной строке символ «%» является служебным. Экранируется сам собой:
printf("Загрузка завершена на 100%%");
Со знака «%» начинаются УП, задающие формат вывода для каждого из остальных параметров:
%ФлагиШиринаТочностьДлинаТип
15 слайд
Вывод (printf)
В форматных УП обязателен только Тип:
16 слайд
Вывод (printf)
Флаги определяют параметры вывода:
Пример: printf("Value %+i at %#X", Val, Cell);
Флаги можно комбинировать: printf("%#+X", U);
17 слайд
Вывод (printf)
Ширина — число: какой минимум знаков отвести под значение:
printf("%6i", Value);
Либо символ «*» — количество знаков указано в дополнительном параметре перед основным:
printf("%*i", Length, Value);
Если число короче, то остаток заполняется пробелами (или нулями, если есть флаг 0):
printf("[%12i]", 125); → [ 125]
Если число длиннее, то оно выводится целиком:
printf("[%3i]", 142857); → [142857]
18 слайд
Вывод (printf)
Точность — точка и следующее за ним число:
для целых (%i, %d, %u, %o, %x, %X) — минимум знаков под значение, остаток заполняется нулями; точность 0 означает вывод пустой строки для нулевого значения;
для %f, %e, %E — число десятичных знаков;
для %g, %G — максимальное число значащих цифр;
для %s — только указанное количество первых символов.
Точность по умолчанию — .1. Символы «.*» означают задание точности отдельным параметром.
Примеры:
printf("[%3.2d] [%.2f]", 3, 5.376); → [ 03] [5.38]
printf("[%.0d] [%.*f]", 0, 1, 2.39); → [] [2.4]
19 слайд
Вывод (printf)
Длина — уточняет длину типов:
h — для целых (%i, %d, %u, %o, %x, %X), тип «короткий» (short);
l — для целых (%i, %d, %u, %o, %x, %X), тип «длинный» (long);
ll — для целых (%i, %d, %u, %o, %x, %X), тип «очень длинный» (long long);
L — для вещественных (%f, %e, %E, %g, %G), тип «длинный» (long double).
20 слайд
Вывод (printf)
Пример:
char A = -1; unsigned char B = 1;
short C = -2; unsigned short D = 2;
long E = -3; unsigned long F = 3;
long long G = -4; unsigned long long H = 4;
double I = 5.0; long double J = 6.0;
char K = 'a';
printf("%d %u %hd %hu %li %lu %lli %llu %f %Lf \
%c %s", A, B, C, D, E, F, G, H, I, J, K, "!!!");
Вывод на экран:
-1 1 -2 2 -3 3 -4 4 5.000000 6.000000 a !!!
21 слайд
Вывод (printf)
Пример:
printf("%+07.*lF\n", 2, 3.14159265359);
printf("%.4s\n", "Computer");
printf("%c%c%c\n", 65, 66, 67);
printf("%f %f\n", 0.0 / 0.0, 5.0 / 0.0);
Вывод на экран:
+003.14
Comp
ABC
-nan inf
22 слайд
Ввод (scanf)
Полный формат вызова scanf:
scanf(Форматная строка, параметры);
Возвращает количество успешно считанных величин.
Форматная строка — как у printf.
В УП указывается тип. Можно указать ширину (максимальное количество знаков для считывания) и длину значения.
Остальные параметры — соответствующее количество адресов (переменных), в которые будут считаны данные.
23 слайд
Ввод (scanf)
Унарная операция & — взятие адреса.
Получает адрес, начиная с которого, в памяти хранится переменная: &A, &Result.
scanf("%Lf %Lf %Lf", &x, &y, &z);
Форматная строка может содержать другие символы кроме УП. Тогда необходимо водить и их:
scanf("R%i", &N);
(ожидается ввод, например, R12, R-46…)
Исключение — пробелы, переводы строк, табуляции.
24 слайд
Ветвления
Синтаксис ветвления:
if(условие)
команда1;
else
команда2;
Вычисляет значение условия.
Если условие истинно (ненулевое), тогда выполняется команда 1, иначе — команда 2.
25 слайд
Ветвления
Раздел else может отсутствовать.
Можно указать несколько команд — в {}:
if(условие)
{
командаA1; командаA2; командаA3;...
}
else
{ командаB1; командаB2; командаB3;...}
Точка с запятой после команды обязательна, после операторных скобок — нет.
26 слайд
Ветвления
Пример:
if(A == B || B == C || A == C)
if(A == B && B == C)
printf("Треугольник равносторонний\n");
else
printf("Треугольник равнобедренный\n");
else
printf("Треугольник общего вида\n");
Рабочие листы
к вашим урокам
Скачать
6 656 258 материалов в базе
Настоящий материал опубликован пользователем Фролова Людмила Сергеевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалВаша скидка на курсы
40%Курс профессиональной переподготовки
500/1000 ч.
Курс профессиональной переподготовки
600 ч.
Курс профессиональной переподготовки
300/600 ч.
Курс профессиональной переподготовки
300/600 ч.
Мини-курс
4 ч.
Мини-курс
6 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.