- •1 Порядок разработки программного продукта
- •2 Структура программы на языке с
- •Int age; // Поле age
- •Void main(void) // Основная функция
- •3 Типы данных языка с
- •Void main(void)
- •Int *iptr; // Объявление указателя
- •Void main(void)
- •Int *iptr; // Объявление указателя
- •Void main(void)
- •Void show_string(char *string)
- •Void main(void)
- •4 Операции языка с
- •Арифметические операции
- •Void main(void)
- •Void main(void)
- •Логические операции
- •Void main(void)
- •Операции отношения
- •Поразрядные операции
- •Побитовые операции
- •Void main(void)
- •Адресные операции
- •Операция “условие”
- •Void main(void)
- •Операция sizeof()
- •Void main(void)
- •Int size;
- •Void main(void)
- •Int *iptr;
- •Void main(void)
- •Int *list,I;
- •Операция вызова функции
- •5 Операторы языка с
- •Условный оператор if
- •Оператор switch
- •Void main(void)
- •Void main(void)
- •Оператор цикла for
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •Цикл while
- •Void main(void)
- •Цикл do ... While
- •Void main(void)
- •Вложенные циклы
- •Void main(void)
- •Void main(void)
- •Int I,j,score;
- •Int scores[line][column];
- •Оператор безусловного перехода
- •Оператор break
- •Void main(void)
- •Оператор continue
- •Void main(void)
- •If (I % 5) continue;
- •Оператор return
- •6 Организация функций
- •Int sum_vect(int V[], int n)
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •7 Библиотечные функции
- •7.1 Функции форматного ввода-вывода
- •Int printf(char*format[, argument,...]);
- •Void main(void)
- •Void main(void)
- •Int scanf(char *format[,argument,...]);
- •Функции для работы с файлами
- •Void main(void)
- •Int vect[line];
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •7.3 Графические средства языка с
- •Void main(void)
- •Initgraph(&gdriver, &gmode, ""); // Инициализация графического режима
- •Int maxX, maxY;
- •Void far initgraph(int far *driver, int far *mode, char far *path);
- •Void main(void)
- •Int driver, mode, errorcode;
- •Void far rectangle(int left, int top, int right, int bottom);
- •Void far setviewport(int left, int top, int right, int bottom, int flag);
- •Void far circle(int X, int y, int radius);
- •7.4 Функции для работы со строками
- •Void main (void)
- •Void main (void)
- •Void main (void)
- •Void main (void)
- •Void main (void)
- •7.5 Математические функции
- •Продолжение таблицы а.7
- •Продолжение таблицы а.7
Void main(void)
{
int value=255;
printf("Десятичное значение %d в 8-ричном виде %5o\n",value,value);
printf("Десятичное значение %d в 16-ричном виде %4x\n",value,value);
printf("Десятичное значение %d в 16-ричном виде %4X\n",value,value);
}
Неправильное использование спецификации преобразования приводит к неверному результату (см.пример 7.2):
//Пример 7.2.
//Спецификаторы преобразования
#include <stdio.h>
Void main(void)
{
unsigned int value=42000;
long int one_million=1000000;
printf("Вывод 42000 как unsigned %u\n",value);
printf("Вывод 42000 как int %d\n",value);
printf("Один миллион равен %ld\n",one_million);
printf("Один миллион равен %d\n",one_million);
}
Вывод значения 42000 типа unsigned по формату %d дает результат -23536, а значения 1000000 типа long int по формату %d — 16960.
В конце управляющей строки format находится символ \n, который называется управляющей последовательностью. В табл. 7.2 представлены некоторые символы.
Таблица 7.2 — Управляющая последовательность символов
Символ |
Наименование |
Выполняемая операция |
\n |
Новая строка |
Осуществляет переход на новую строку |
\t |
Табуляция |
Переход на семь позиций вправо |
\b |
Шаг назад |
Сдвиг на одну позицию влево |
\r |
Возврат каретки |
Возврат к началу строки |
\f |
Подача бланка |
Протяжка на одну страницу |
\\ |
Обратная косая черта |
( \ ) |
\’ |
Апостроф |
( ‘ ) |
\” |
Кавычки |
( “ ) |
Функция scanf() осуществляет форматированный ввод с клавиатуры. Прототип этой функции
Int scanf(char *format[,argument,...]);
находится в библиотечном файле <stdio.h>. Управляющая строка символов format содержит спецификаторы преобразования. Функция scanf() использует те же спецификаторы преобразования, что и printf(). Отличия лишь в том, что отсутствует спецификатор %g и для целых типа short применяется спецификатор %n. Argument — это имя переменной, которой будет присвоено введенное значение. Перед аргументом в функции scanf() используется знак & (амперсант), который обозначает: принять число и разместить его по адресу (см. пример 4.5). Знак & не пишется, если вводится значение символьной переменной (см. пример 5.5).
Функции для работы с файлами
Система ввода-вывода языка С поддерживает интерфейс, не зависящий от того, какое в действительности используется физическое устройство ввода-вывода (клавиатура, дисплей, диск). Стандарт ANSI языка С связывает каждое из устройств ввода-вывода с логическим устройством, называемым потоком. В языке С существует два типа потоков: текстовый (text) и двоичный (binary). Текстовый поток — это последовательность одиночных или парных символов (табуляция, возврат каретки и др.). Двоичный поток — это последовательность байтов, которые соответствуют тому, что находится на внешнем устройстве. Файл — это способ хранения информации на физическом устройстве.
Рассмотрим пример 7.3, в котором открывается файл, содержащий целые числа (первое число — это общее количество значений в файле), значения присваиваются элементам линейного массива vect.
// Пример 7.3.
// Работа с файлом, чтение из файла целых чисел
#include <stdio.h>
#include <stdlib.h>
#define LINE 3000