
- •1.Учебно-методический комплекс дисциплины
- •Данные о преподавателе:
- •1.2 Данные о дисциплине:
- •Выписка из учебного плана
- •1.3 Пререквизиты
- •1.4 Постреквизиты
- •1.5 Цели и задачи дисциплины
- •1.6 Перечень и виды заданий и график их выполнения
- •Виды заданий и сроки их выполнения
- •1.7 Список литературы
- •1.8 Контроль и оценка знаний.
- •1.9 Политика и процедура курса
- •2 Содержание Активного раздаточного материала
- •2,1 Тематический план курса
- •2.2 Конспект лекционных занятий
- •#Define millenium 1000
- •// Нельзя изменять
- •/* Это моя первая программа на Си*/
- •Void main()
- •Void main ()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main(void)
- •If (логическое выражение) оператор 1;
- •Void main()
- •If (логическое выражение)
- •If (условие 1 )
- •If (условие 1 )
- •If (X) printf ("Число не равно нулю");
- •Void main()
- •Void main(void)
- •Void main()
- •Void main()
- •Int n; // Количество узлов интерполяции
- •Int k; // Номер узла
- •Void main()
- •Vvedi 5 7
- •Int *a; // Указатель на массив целых чисел
- •Void main()
- •Int vect[10], s1[50];
- •Int vect [n];
- •Void main( )
- •Int min; // номер минимального элемента
- •Int random ( int n )
- •Void lin(char a)
- •Void z1(int * X, int * y)
- •Void z1(int*, int*);
- •Int имя переменной;
- •Void main()
- •8 Есть цифра
- •8 Есть буква или цифра
- •Int integ;
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Int ocen;
- •Void main( )
- •File *указатель на файл;
- •Fclose(имя_указателя);
- •Void main()
- •Int h; /*дескриптор создаваемого файла*/
- •Void main()
- •Initgraph(&g_driver,&g_mode," ");
- •Vgamed 1 640x350
- •Vgahi 2 640x480
- •Initwindow ( 400, 300 ); // открыть окно для графики 400 на 300
- •Void main(void)
- •Int g_driver,g_mode,g_error;
- •2.3 Планы лабораторных занятий
- •Планы занятий в рамках самостоятельной работы студентов под руководством преподавателя (срсп).
- •2.5 Планы занятий в рамках самостоятельной работы студентов (срс).
- •2.6 Тестовые задания для самоконтроля с указанием ключей
- •Глоссарий
Void main()
{printf("Работа с функциями библиотеки обработки символов \n");
printf ("%s%s\n",isdigit(8)?"8 есть ":"8 не ","цифра");
printf ("%s%s\n\n",isdigit('#')?"# есть ":"# не "," цифра ");
printf ("%s%s\n",isalpha('A')?"A есть ":"A не ","буква");
printf ("%s%s\n",isalpha('a')?"a есть ":"a не "," буква ");
printf ("%s%s\n",isalpha('&')?"& есть ":"& не "," буква ");
printf ("%s%s\n",isalnum('A')?"A есть ":"A не "," буква или цифра");
printf ("%s%s\n",isalnum('8')?"8 есть ":"8 не "," буква или цифра ");
printf ("%s%s\n",isalnum('#')?"# есть ":"# не "," буква или цифра ");
getch();
}
на экране будет
Работа с функциями библиотеки обработки символов
8 Есть цифра
# не цифра
A есть буква
a есть буква
& не буква
A есть буква или цифра
8 Есть буква или цифра
# не буква или цифра
Массивы символов. Строки
Массивы типа char - символьные массивы - занимают в языке особое место. Во многих языках есть специальный тип данных - строка символов (string). В языке С отдельного типа строки символов нет, а работа со строками реализована путем использования одномерных массивов типа char. В языке С символьная строка - это одномерный массив типа char, заканчивающийся нулевым байтом. Нулевой байт - это байт, каждый бит которого равен нулю. Для нулевого байта определена специальная символьная константа '\0'. Это следует учитывать при описании соответствующего массива символов. Так, если строка должна содержать N символов, то в описании массива следует указать N+1 элемент.
Например, описание
char str[11];
предполагает, что строка содержит 10 символов, а последний байт зарезервирован под нулевой байт. Конечно, мы задали обычный одномерный массив, но если мы хотим трактовать его как строку символов, то это будет строка максимум из 10 элементов.
Хотя в языке С нет специального типа строки, язык допускает строковые константы. Строковая константа - это список литер, заключенных в двойные кавычки. Например,
"Borland C++", "Это строковая константа".
В конец строковой константы не надо ставить символ '\0'. Это сделает компилятор, и строка "Borland C++" в памяти будет выглядеть так:
B |
O |
R |
l |
A |
N |
D |
|
C |
+ |
+ |
\0 |
Есть два простых способа ввести строку с клавиатуры. Первый способ - воспользоваться функцией scanf( ) со спецификатором ввода %s. Надо помнить, что функция scanf ( ) вводит символы до первого пробельного символа. Второй способ - воспользоваться специальной библиотечной функцией gets ( ), объявленной в файле stdio.h. Функция gets( ) позволяет вводить строки, содержащие пробелы. Ввод оканчивается нажатием клавиши Enter. Обе функции автоматически ставят в конец строки нулевой байт. В качестве параметра в этих функциях используется просто имя массива.
Вывод строк производится функциями printf( ) или puts( ). Обе функции выводят содержание массива до первого нулевого байта. Функция puts( ) добавляет в конце выводимой строки символ новой строки. В функции printf( ) переход на новую строку надо предусматривать в строке формата самим.
Рассмотрим пример.
char str[80]; // Зарезервировали место для строки
printf ("Введите строку длиной менее 80 символов: ");
gets(str); /* читает строку с клавиатуры,
пока не нажмете клавишу Enter */
// вывод строки на экран
printf ("Вы ввели строку "):
puts(str);
printf(''Введите еще одну строку длиной менее 80 символов: ");
scanf("%s", str); /* читает строку с клавиатуры,
пока не встретится пробел */
printf (''Bы ввели строку %s\n", str):
}
Массив символов (типа char) можно инициализировать как списком из отдельных символьных констант, так и строкой символов. При этом в случае инициализации строкой символов массив получит в конце и нулевой символ, ограничивающий строку. Примеры описания строк
char animal[4];
char animal[4] = {‘c’,’a’,’t’,’\0’};
char animal[] = “cat”;
Функции преобразования символьных строк: atoi(), atof().
При вводе информации иногда целесообразнее ввести строку символов, а затем преобразовать в соответствующее число.Для этого используются функции atoi() и atof(). Первая преобразует строку в целое, вторая - в число с плавающей точкой. Пример:
#include <stdlib.h>
#include <stdio.h>
main()
{
char ch[10];