Главная страница

Шафеева практика С. Практикум по программированию на языке с методические указания к лабораторным работам Омск 2008 2


Скачать 1.01 Mb.
НазваниеПрактикум по программированию на языке с методические указания к лабораторным работам Омск 2008 2
АнкорШафеева практика С.pdf
Дата06.04.2018
Размер1.01 Mb.
Формат файлаpdf
Имя файлаШафеева практика С.pdf
ТипПрактикум
#17709
КатегорияИнформатика. Вычислительная техника
страница7 из 7
1   2   3   4   5   6   7
Variable 'identifier' is initialized more than once (Идентификатор перемен- ной инициализирована более одного раза).
Unable to open include file 'filename' (Невозможно открыть файл).
Undefined structure 'structure' (Неопределенная структура "структура").
Undefined symbol 'identifier' (Неопределенный символ идентификатора).
Undefined symbol 'symbol' in module 'module' (Неопределенный символ "символ" в модуле "модуль").
Unexpected "}" (Непредвиденная "}").
Unknown preprocessor directive: 'identifier' (Неизвестны директивы пре- процессора: идентификатора).
Wrong number of arguments in call of macro 'macro' (Неправильное число параметров в обращении макрокоманды " макрокоманда ").
Ошибки стадии выполнения
Division by zero (Деление на нуль).
Possibly incorrect assignment (Возможность неправильного значения).
Suspicious pointer conversion (Подозрительное преобразование указателя).
Function should return a value (Функция не возвращает значение).
Математические ошибки
DOMAIN – Аргумент функции вне сферы этой функции.
OVERFLOW –Результат слишком большой, чтобы быть представленным в возвращаемом значении функции.
PLOSS – Произошла частичная потеря значимости.
SING – Специфический аргумент: аргумент функции имеет незаконную величину. Например, передается нуль в функцию, которая запрашивает ненуле- вую величину.
TLOSS – Полная потеря значимости.
UNDERFLOW – Результат слишком мал.

63
Приложение Е
Функции преобразования символов (файл ctype.h)
Функция
Прототип и краткое описание действий isalnum
int isalnum (int c);
Дает значение не нуль, если с – код буквы или цифры (А

Z, а

z, 0

9), и нуль – в противном случае. isalpha
int isalpha (int c);
Дает значение не нуль, если с – код буквы (А

Z, а

z), и нуль – в противном случае. isascii
int isascii (int c);
Дает значение не нуль, если с есть код ASCII, т.е. прини- мает значение от 0 до 127, в противном случае – нуль. iscntrl
int iscntrl (int c); Дает значение не нуль, если с – управ- ляющий символ с кодами 0

00

0

01F или 0

0F, нуль
– в противном случае. isdigit
int isdigit (int c);
Дает значение не нуль, если с – цифра (0

9) в коде ASCII, и нуль – в противном случае. isgraph
int isgraph (int c); Дает значение не нуль, если с – види- мый (изображаемый) символ с кодом (0

21

0

7E), и нуль – в противном случае. islower
int islower (int c);
Дает значение не нуль, если с – код буквы на нижнем реги- стре (а

z), и нуль – в противном случае. isprint
int isprint (int c);
Дает значение не нуль, если с – печатный символ с кодом
(0

20

0

7E), и нуль – в противном случае. ispunct
int ispunct (int c); Дает значение не нуль, если с – символ разделитель (т.е. соответствует iscntrl или isspace) и нуль – в противном случае. isspace
int isspace (int c); Даетзначение не нуль, если с – обоб- щенный пробел: пробел, символ табуляции, символ новой строки или новой страницы, символ возврата каретки (0

09

0

0D, 0

20), и нуль – в противном случае. isupper
int isupper (int c);
Дает значение не нуль, если с – код буквы на верхнем ре- гистре (А

Z), и нуль – в противном случае. isxdigit
int isxdigit (int c);
Дает значение не нуль, если с – код шестнадцатеричной цифры (0

9, А

F, а

f), и нуль – в противном случае.

64
Функция
Прототип и краткое описание действий toascii
int toascii (int c);
Преобразует целое число с в символ кода ASCII, обнуляя все биты, кроме младших семи. Результат от 0 до 127. tolower
int tolower (int c);
Преобразует код буквы с к нижнему регистру, не буквен- ные коды не изменяются. toupper
int toupper (int c);
Преобразует код буквы с к верхнему регистру, не буквен- ные коды не изменяются.
Функции ввода-вывода для стандартных потоков
(файл stdio.h)
Функция
Прототип и краткое описание действий getch
int getch (void); Считывает один символ с клавиату- ры без отображения на экране.
getchar
int getchar (void); Считывает очередной символ из стандартного входного потока (stdin). gets
char * gets (char *s); Считывает строку s из стандарт- ного входного потока (stdin). printf
int printf (const char *format [, argument, …]);
Функция форматированного вывода в стандартный по- ток stdout. putchar
int putchar (int c);
Записывает символ с в стандартный поток вывода
(stdout). puts
int puts (const char *s);
Записывает строку s в стандартный поток вывода
(stdout). scanf
int scanf (const char *format [, address, …]);
Функция форматированного ввода из стандартного по- тока stdin. sprintf
int sprintf (char *s, const char *format [, argument, …]);
Функция форматированной записи в строку s. sscanf
int sscanf (const char * s, const char *format [, address, …]);
Функция форматированного чтения из строки s. ungetch
int ungetch (int c);
Возвращает символ с в стандартный поток ввода stdin, заставляя его быть следующим считываемым символом.

65
Функции для работы со строками
(файлы string.h, stdlib.h)
Функция
Прототип и краткое описание действий atof
double atof (const char *str); (stdlib.h)
Преобразует строку str в вещественное число типа double. atoi
int atoi (const char *str); (stdlib.h)
Преобразует строку str в целое число типа int. atol
long atol (const char * str); (stdlib.h)
Преобразует строку str в целое число типа long. itoa
char * itoa(int v, char *str, int baz);
Преобразует целое v в строку str. При изображении числа ис- пользуется основание baz ( 2

baz

36 ). Для отрицательного числа и baz = 10 первый символ «минус» (-) ltoa
char * ltoa(long v, char *str, int baz);
Преобразует длинное целое v в строку str. При изображении числа используется основание (2

baz

36). strcat
char *strcat (char *const char *si);
Приписывает строку si к строке sp (конкатенация строк). strchr
char *strchr (const char *str, int c);
Ищет в строке str первое вхождение символа с. strcmp
int strcmp (const char *str1, const char *str2);
Сравнивает строки str1и str2. Результат отрицателен, если
str1

str2; равен нулю, если str1= = str2, и положителен, если
str1

str2 (сравнение беззнаковое). strcpy
char *strcpy(char *sp, const char *si);
Копирует байты строки si в строку sp. strcspn
int strcspn (const char *str1, const char *str2);
Определяет длину первого сегмента строки str1, содержаще- го символы, не входящие во множество символов строки str2.
Ищет один из символов одной строки в другой strdup
char * strdup(const char *str);
Выделяет память и переносит в нее копию строки str. strlen
unsigned strlen (const char *str);
Вычисляет длину строки str. strlwr
char * strlwr(char *str);
Преобразует буквы верхнего регистра в строке в соответст- вующие буквы нижнего регистра. strncat
char * strncat(char *sp, const char *si, int kol); Припи- сывает kol символов строки si к строке sp (конкатенация). strncmp
int strncmp(const char *str1, const char *str2, int kol);
Сравнивает части строк str1 и str2, причем рассматриваются

66
Функция
Прототип и краткое описание действий первые kol символов. Результат отрицателен, если str1

str2; равен нулю, если str1= = str2, и положителен, если str1

str2. strncpy
char * strncpy(char *sp, const char *si, int kol);
Копирует kol символов строки si в строку sp («хвост» отбра- сывает или дополняется пробелами). strnicmp
int strnicmp (char *str1, const char *str2, int kol);
Сравнивает не более kol символов строки str1 и строки str2, не делая различия регистров (см. функцию strncmp()). strnset
char * strnset (char *str, int c, int kol);
Заполняет строку str заданным символом с. strpbrk
int strpbrk (const char *str1, const char *str2);
Ищет в строке str1 первое появление любого из множества символов, входящих в строку str2. strrchr
char * strrchr (const char *str, int c);
Ищет в строке str последнее вхождение символа с. strset
char * strset (char *str, int c);
Заполняет строку str заданным символом с. strspn
int strspn (const char *str1, const char *str2);
Определяет длину первого сегмента строки str1, содержаще- го только символы, из множества символов строки str2.
Ищет символ одной строки, отсутствующий в другой strstr
char * strstr (const char *str1, const char *str2); Ищет в строке
str1 подстроку str2. Возвращает указатель на тот элемент в строке str1, с которого начинается подстрока str2. strtod
double strtod (const char *str, char **endptr ); (stdlib.h)
Преобразует символьную строку str в число двойной точно- сти. Если endptr не равен NULL, то *endptr возвращает как указатель на символ, при достижении которого прекращено чтение строки str. strtok
char * strtok (char *str1, const char *str2); Ищет в строке
str1 лексемы, выделенные символами из второй строки. strtol
long strtol (const char *str, char **endptr, int baz); (stdlib.h)
Преобразует символьную строку str к значению «длинное число» с основанием baz (2

baz

36). Если endptr не равен
NULL, то *endptr возвращает как указатель на символ, при достижении которого прекращено чтение строки str. strupr
char * strupr(char *str); Преобразует буквы нижнего ре- гистра в строке str в буквы верхнего регистра.
ultoa
char * ultoa (unsigned long v, char *str, int baz);
Преобразует беззнаковое длинное целое v в строку str.

67
Приложение Ж
Библиотека заголовочных файлов
Стандартные функции [6]
<ctype.h> - преобразования и проверки символов;
<complex> - комплексных чисел;
<ctime> - системные часы;
<locale.h> - установки локальной среды;
<math.h> (<cmath>) - математические функции;
<new> - работы с динамической памятью;
<numeric> - числовых операций;
<signal.h> - обработки сигналов;
<stdio.h> - ввода/вывода (чтение/запись символов), работы с файлами;
<stdlib.h> - работы с памятью, преобразования, некоторые математи- ческие функции;
<string.h> - работы со строками в стиле С;
<time.h> - для работы с датой и временем;
<valarray> - классы для численных расчетов.
Константы, макросы и типы данных определены в файлах:
<assert> - для диагностики;
<errno.h> - для проверки ошибок;
<float.h> - для работы с числами с плавающей точкой;
<fstream> - файловые потоки;
<ios> - базовые классы потоков ввода/вывода;
<istream> - входные потоки;
<ostream> - выходные потоки;
<sstream> - строковые потоки;
<sstreambuf> - буферизация потоков;
<iostream> - для потокового ввода/вывода;
<limits.h> - определение размеров целочисленных данных;
<setjmp.h> - возможности нелокальных переходов;
<signal.h> - функции и макросы для обработки сигналов (прерываний).
<stdarg.h> - поддержка функций с неопределенным числом параметров.
Контейнерные классы
<bitset> - битовое множество;
<deque> - двусторонняя очередь;
<list> - двусвязный список;
<queque>- очередь;
<set> - множество;
<stack> - стек;
<vektor> - одномерный массив.
Как правило, каждый компилятор содержит больше заголовочных файлов.

68
СОДЕРЖАНИЕ
Ввод – вывод в языке СИ. Структура программы.
Порядок выполнения лабораторных работ
Лабораторная работа 1. Основы программирования в среде языка
Си. Оператор присваивания
Лабораторная работа 2. Программирование разветвленных алго- ритмов. Операторы передачи управления
Лабораторная работа 3. Программирование циклических алгорит- мов с заданным числом повторений
Лабораторная работа 4. Программирование циклических алгорит- мов с предусловием
Лабораторная работа 5. Программирование циклических алгорит- мов с постусловием
Лабораторная работа 6. Программирование алгоритмов обработки одномерных массивов
Лабораторная работа 7. Обработка двумерных массивов
Лабораторная работа 8. Программирование c применением функций
Лабораторная работа 9. Программирование с возвратом из функ- ций нескольких значений
Лабораторная работа 10. Обработка символьных и строковых даных
Лабораторная работа 11. Файлы
Лабораторная работа 12. Структуры
Лабораторная работа 13. Модульное программирование
Лабораторная работа 14. Динамические структуры. Списки
Лабораторная работа 15. Графика
Задание к расчетно-графической работе
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
ПРИЛОЖЕНИЕ А. Главное меню среды ТП
ПРИЛОЖЕНИЕ Б. Операции языка С/С++
ПРИЛОЖЕНИЕ В.Типы данных
ПРИЛОЖЕНИЕ Г. Обозначения графические в схемах алгоритмов
ПРИЛОЖЕНИЕ Д. Сообщения об ошибках
ПРИЛОЖЕНИЕ Е. Функции для работы с сисмволами и строками
ПРИЛОЖЕНИЕЖ. Библиотека заголовочных файлов
3 4
4 9
14 17 19 22 25 28 32 36 40 44 47 48 51 53 55 56 58 59 60 61 63 67
Редактор ___________
Свод. темплан 200__ г.
И Д № от . .
Подписано в печать _________. Бумага офсетная. Формат 64

84 1
/
16
Отпечатано на дупликаторе. Усл. печ. л. 2. Уч. - изд.л. 2.
Тираж . Заказ .
Издательство ОмГТУ. 644050, Омск, пр. Мира 11
Типография ОмГТУ
1   2   3   4   5   6   7


написать администратору сайта