Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по программ(мои).doc
Скачиваний:
17
Добавлен:
01.03.2025
Размер:
969.73 Кб
Скачать

1.Синтаксис языка Си, зарезервированные имена.

Набор правил оформления операций, функций и т.д.

Алфавит языка включает: латинские буквы и _; арабские цифры; спец символы (+ - * ~ и т.д.); разделительные символы (пробел, новая строка).

Лексемы (миним. Знач.единица текста) : константы, идентиф, зарезер слова, знаки операций и т.д.

Си чувствит к регистру.

Ещё один базовый элемент – комментарии. /* */.

Имена всех библиотечных типов, макрокоманд, переменных и функций зарезервированы и переопределять и использовать как идентиф их нельзя. Зарезир след идентиф int, char, goto и т.д. Остальные имена из библиотек можно использовать, если библиотека не используется.

#include <stdio.h>

int main (void) {

printf ("Hello, World!\n");

return 0;

}

2.Форматированный и неформатированный ввод-вывод.

Форматированный ввод-вывод Подключаемый файл <stdio.h> – printf - вывод на консоль – scanf - ввод с консоли– fprintf - вывод в файл – fscanf - ввод из файла – sprintf - создание строки – sscanf - анализ строки

Форматированный вывод на консоль printf(строка_формата, аргумент1,аргумент2, …, аргументN)

Прим.: printf(“Hello, world!\n”);// без аргументов

Прим.: int a=2, b=3;

int sum=a+b; // с аргументами

printf(“%d”, sum);

%20s - вывод строки в 20 позициях (по умолчанию строка выравнивается вправо, слева вставляются пробелы)

Форматированный ввод с клавиатуры

scanf(строка_формата, аргум1, …, аргументN)

int a, b;

scanf(“%d%d”, &a, &b);

(( Для строк используется адрес первого элемента (или имя массива)

char str[20];

scanf(“%s”, str);

или (запись в массив начиная с 5-го элемента)

• scanf(“%s”, &(str[5]);))

Форматированный вывод из файла и ввод в файл

 int fprintf(FILE *указатель файла, const char *управляющая_строка, арг1...);    int fscanf(FILE *указатель файла, const char *управляющая_строка, арг1...);   Здесь указатель файла - указатель файла, возвращаемый в результате вызова функции fopen(). Операции ввода/вывода функции fprintf() и fscanf() выполняют с тем файлом, на который указывает указатель файла.

• fprintf(дескриптор_файла, строка_формата, аргумент1, аргумент2, …, аргументN)

((( FILE* fout=fopen(“out.txt”, “w”);

if (fout==0) { … } // ошибка открытия

fclose(fout); // По окончании работы с дескриптором файл нужно закрыть)))

Для неформатир. чтения и записи данных, тип которых может занимать более 1 байта, в файловой системе языка С имеется две функции: fread() и fwrite(). Эти функции позволяют читать и записывать блоки данных любого типа. Их прототипы следующие:

size_t fread(void *буфер, size_t колич_байт, size_t счетчик, FILE *уф);

size_t fwrite(const void *буфер, size_t колич_байт, size_t счетчик, FILE *уф);

Для fread() буфер — это указатель на область памяти, в которую будут прочитаны данные из файла. для fwrite() буфер —записаны в файл. счетчик определяет, сколько считывается или записывается элементов данных, причем длина каждого элемента в байтах равна колич_байт. уф — это указатель файла, то есть на уже открытый поток.