- •1) Базовые элементы языка с. Алфавит и словарь языка (в1б1, в3б3)
- •2) Основные типы данных. Классификация их типов. Модификация базовых типов. (в1б2, в3б17)
- •3) Константы (в1б3, в3б2)
- •4) Переменные (в1б4, в3б16)
- •5) Структура с-программы. Понятие локальных и глобальных переменных. Функция main(). Директивы препроцессора (# include и #define). Комментарии. (в1б5, в3б1)
- •6) Операции языка с. Арифметические, логические операции. Поразрядные операции. (в1б6, в3б15)
- •7. Операции языка с. Операция присваивания и отношения. Операция определения размера. Оператор последовательного вычисления. (в1б7, в2б30)
- •8. Операции языка с. Условная операция. Операция (), операция []. (в1б8, в3б14)
- •9) Приоритет операций и порядок вычислений (в1б9, в2б29)
- •10) Основные сведения о вводе-выводе. (в1б10, в3б13)
- •11) Ввод-вывод символов (в1б11, в2б28)
- •12) Форматированный ввод-вывод. Модификаторы формата. Спецификаторы преобразования. Подавление ввода. (в3б12, в1б12)
- •13) Операторы языка с. Условные операторы (if, switch). (в1б13, в2б27)
- •14) Операторы цикла (while, for, do while )(в1б14, в3б11)
- •15) Операторы безусловного перехода ( break, continue, go to, return) (в1б15, в2б26)
- •16) Одномерные массивы. (в1б16, в3б10)
- •17) Строковый литерал. Чтение и запись строк. (в1б17, в2б25)
- •18)Двухмерные массивы. Массивы строк (в1б18, в3б9)
- •19) Инициализация массива. (в1б19, в2б24)
- •20) Способы доступа к элементом массива. (в1б20, в3б8)
- •22) Указательные переменные. Операции получения адреса (&) и раскрытие ссылка (*) (в1б22, в3б7)
- •23) Указательные выражения. Адресная арифметика. (в1б23, в2б22)
- •24) Связь массивов и указателей (в1б24,в3б6)
- •25) Функции динамического распределения памяти (в1б25, в2б21)
- •26) Динамическое выделение памяти для массивов. (в1б26, в3б5)
- •27) Функции. Определения функций. Оператор return.( в1б27, в3б20)
- •28) Функции. Прототипы функции. (в1б28, в3б4)
- •29) Функции. Вызов функций: вызов по значению и по ссылке. (в1б29, в2б19)
- •30) Передача массива в функцию. (в1б30, в3б27)
- •31) Классы памяти. Область видимости. (в2б1, в3б28)
- •32) Аргумент функции main(): argv и argc (в2б2, в3б26)
- •33) Рекурсия. (в2б3, в3б29)
- •34) Вызов библиотечных функций(в2б4, в3б25)
- •35) Директива препроцессора #define: создание макрофункций с помощью директивы #define (в2б5, в3б30)
- •36) Директивы условной компиляции #if, #else, #elif, #endif, #ifdef, #ifndef (в2б6, в3б24)
- •37) Понятие структуры. Доступ к членом структуры (в2б7)
- •38) Присваивание структур (в2б8, в3б23)
- •39) Массивы структуры(в2б9)
- •40) Передача членов структур функциям. Передача целых структур функциям. (в2б10, в3б22)
- •41) Указатели на структуры. Средство typedef (в2б11)
- •42) Понятие объединение и перечисления. Битовые поля. (в2б12,в3б21)
- •44) Методы поиска: последовательный и двоичный поиск. (в2б14, в3б20)
- •45) Основы файловой системы. Стандартные потоки. Указатель файла. Открытые файлы. Закрытые файлы. (в2б15)
- •46) Форматированный ввод-вывод в файл (в2б16, в2б17, в3б19)
- •48) Понятие очереди, стеков, связанных списков и деревьев. (в2б12, в3б18)
46) Форматированный ввод-вывод в файл (в2б16, в2б17, в3б19)
Формат преобразования определяется символом. Все возможные символы формата приведены в таблице 1.
Таблица 1
Символ формата |
Тип выводимого объекта |
%c – char |
Символ |
%s – string |
Строка |
%d – int |
Целое число |
%u – unsigned int |
Целое беззнаковое значение |
%o – int |
Беззнаковое число в 8-ричном представлении |
%x – int |
Беззнаковое число в 16-ричном представлении |
%ld – long |
Длинное число в 10-чном представлении |
%lo – long |
Длинное число в 8-ричном представлении |
%lx – long |
Длинное число в 16-ричном представлении |
%lu – unsigned long |
Беззнаковое длинное число |
%f – float/double |
Число с фиксированной точкой |
%e – float/double |
Число в экспоненциальной форме |
%g – float/double |
В виде f или e в зависимости от значения |
%lf – long/float |
Длинное число с фиксированной точкой |
%le – long/float |
Длинное число в экспоненциальной форме |
%p – pointer |
Указатель (16-ричный адрес) |
Каждая спецификация преобразования соответствует одному из аргументов, которые следуют за форматной строкой. Управляющие символы имеют вид:
\b – возврат курсора на шаг назад
\f – новая страница
\n – новая строка
\r – возврат коретки
\t – табуляция или перевод курсора в табличную позицию
\v – вертивальная табуляция
\" – кавычка
\’ – апостроф
\\ – обратная наклонная черта
\ddd – восьмиричный код
\0*dd – 16-ричный код
Список аргументов функции printf() содержит имена переменных, констант или выражения, которые необходимо вывести на экран. Например, при следующей записи на С
printf("%c = %d \n",g, g);
Значение переменной g выводится как символ алфавита, а после знака равенства – как числовое значение, соответствующее машинному коду этого символа. Перед символом преобразования может стоять цифра, явно указывающая количество позиций в выводимой строке, отведенных для элементов вывода:
printf("%c = %5d \n",g, g);
Пример:
#include
#include
main() {
int age;
float doxod;
age = 23;
doxod = 100;
printf("\n Возраст Андрея – %d. Его доход в $ составляет %.2f", age, doxod);
getch(); }
В данном примере последовательность "возраст Андрея – " будет выведена с новой строки. Символ %d – спецификация для целой переменной age. Вместо этой спецификации в выводимой строке будет подставляться целое число 23. Знак %.2f – спецификация (символ преобразования формата) для вещественного значения переменной доход, а также указание формата для вывода только двух цифр после десятичной точки. Таким образом, после выполнения программы на экране будет отображено: Возраст Андрея – 23. Его доход в $ составляет 100.00.
47) Запись и чтение символов. Ввод\ вывод строк. Стирание файлов.
1.Запись и чтение символа
Функции записи и чтения символа подобны fprintf и fscanf, только пишут и читают не в поток/из потока, а в строку/из строки:
int sprintf(char *string, char *format, args..)
int sscanf(char *string, char *format, args..)
Пример:
float full_tank = 47.0;
float miles = 300;
char miles_per_litre[80];
sprintf( miles_per_litre,"Miles per litre = %2.3f", miles/full_tank);
2.Ввод/вывод строк
Стандартная библиотека содержит функцию fgets. В результате обращения
fgets(line, maxline, fp)
следующая строка ввода (включая символ новой строки) считывается из файла fp в символьный массив line; самое большое maxline_1 символ будет прочитан. Результирующая строка заканчивается символом \0. Нормально функция fgets возвращает line; в конце файла она возвращает null.
Предназначенная для вывода функция fputs записывает строку (которая не обязана содержать символ новой строки) в файл:
fputs(line, fp)
3. Стирание файлов
Функция remove() стирает указанный файл. Вот ее прототип:
int remove(const char *имя_файла);
В случае успешного выполнения эта функция возвращает нуль, а в противном случае — ненулевое значение.