Скачать презентацию Пример Управляющая строка содержит компоненты трех типов Скачать презентацию Пример Управляющая строка содержит компоненты трех типов

ЯП Лекция 2.ppt

  • Количество слайдов: 29

Пример Пример

Управляющая строка содержит компоненты трех типов: обычные символы, которые просто копируются в стандартный выходной Управляющая строка содержит компоненты трех типов: обычные символы, которые просто копируются в стандартный выходной поток (выводятся на экран дисплея); спецификации преобразования, каждая из которых вызывает вывод на экран очередного аргумента из последующего списка; управляющие символьные константы. Каждая спецификация преобразования начинается со знака % и заканчивается некоторым символом, задающим преобразование. Между знаком % и символом преобразования могут встречаться другие знаки в соответствии со следующим форматом: % [признаки] [ширина_поля] [точность] [F|N|h|l|L] c_n Все параметры в квадратных скобках не являются обязательными. На месте параметра c_n (символ преобразования) могут быть записаны: с - значением аргумента является символ; d или i - значением аргумента является десятичное целое число; е - значением аргумента является вещественное десятичное число в экспоненциальной форме вида 1. 23 e+2; Е - значением аргумента является вещественное десятичное число в экспоненциальной форме вида 1. 23 E+2; f - значением аргумента является вещественное десятичное число с плавающей точкой; g (или G) - используется, как е или f, и исключает вывод незначащих нулей; о - значением аргумента является восьмеричное целое число; s u - значением аргумента является беззнаковое целое число; - значением аргумента является строка символов (символы строки выводятся до тех пор, пока не встретится символ конца строки или же не будет, выведено число символов, заданное точностью); х - значением аргумента является шестнадцатеричное целое число с цифрами 0, . . . , 9, а, b, с, d, е, f; X - значением аргумента является шестнадцатеричное целое число с цифрами 0, . . . , 9, А, В, С, О, Е, F; р - значением аргумента является указатель; n - применяется в операциях форматирования. Аргумент, соответствующий этому символу спецификации, должен быть указателем на целое. В него возвращается номер позиции строки (отображаемой на экране), в которой записана спецификация %n.

Например, в результате вызова функции: printf( Например, в результате вызова функции: printf("t. Computern%dn", i); сначала выполняется горизонтальная табуляция (t), т. е. курсор сместится от края экрана, затем на экран будет выведено слово Computer, после этого курсор переместится в начало следующей строки (n), затем будет выведено целое число i по формату %d (десятичное целое), и, окончательно, курсор перейдет в начало новой строки (n). Напечатать строку символов можно и так: printf("Это строка символов");

Форматированный ввод данных Функция scanf( ) (прототип содержится в файле stdio. h) обеспечивает форматированный Форматированный ввод данных Функция scanf( ) (прототип содержится в файле stdio. h) обеспечивает форматированный ввод. Ее можно записать в следующем формальном виде: scanf("управляющая строка", аргумент_1, аргумент_2, . . . ); Аргументы scanf( ) должны быть указателями на соответствующие значения. Для этого перед именем переменной записывается символ &. scanf("%d", &a); scanf("%c", &b); scanf("%d%c%f", &a, &b, &t);

Пример Пример

Операции Операции

Структурированные типы данных Массивы определяются так же, как и переменные: int a[100]; char b[20]; Структурированные типы данных Массивы определяются так же, как и переменные: int a[100]; char b[20]; float d[50]; Двумерный массив представляется как одномерный, элементами которого так же являются массивы. Например, определение char а[10][20]; задает такой массив. Пусть задан массив: int a[2][3]; Тогда элементы массива а будут размещаться в памяти следующим образом: a[0][0], a[0][1], a[0][2], a[1][0], a[1][1], a[1][2].

Массивы Язык Си позволяет инициализировать массив при его определении. Для этого используется следующая форма: Массивы Язык Си позволяет инициализировать массив при его определении. Для этого используется следующая форма: тип имя_массива[. . . ]. . . [. . . ] = {список значений}; Примеры: int a[4] = {0, 1, 2, 3, 4}; char ch[2] = {'d', 'e', '9'}; int b[1][2] = {{1, 2}, {3, 4}, {5, 6}};

Пример Пример

Строки символов char array[] = Строки символов char array[] = "Строка"; char s[ ] = {'С', 'т', 'р', 'о', 'к', 'а', ''}; Если string - массив символов, то ввести строку с клавиатуры можно так: gets(string); (ввод оканчивается нажатием клавиши ). Вывести строку на экран можно следующим образом: puts(string);

Пример Пример

Функции работы со строками Отметим также, что для работы со строками существует специальная библиотека Функции работы со строками Отметим также, что для работы со строками существует специальная библиотека функций, прототипы которых находятся в файле string. h. Если string 1 и string 2 - массивы символов, то вызов функции strcpy( ) имеет вид: strcpy(string 1, string 2); Эта функция служит для копирования содержимого строки string 2 в строку string 1. Массив string 1 должен быть достаточно большим, чтобы в него поместилась строка string 2. Так компилятор не отслеживает этой ситуации, то недостаток места приведет к потере данных. Вызов функции strcat( ) имеет вид: strcat(string 1, string 2); Эта функция присоединяет строку string 2 к строке string 1 и помещает ее в массив, где находилась строка string 1, при этом строка string 2 не изменяется. Нулевой байт, который завершал первую строку, заменяется первым байтом второй строки. Функция strlen( ) возвращает длину строки, при этом завершающий нулевой байт не учитывается. Если a - целое, то вызов функции имеет вид: a = strlen(string); Функция strcmp(string 1, string 2 ) сравнивает две строки и возвращает 0, если они равны.

Пример Пример

Пример Пример

Операции увеличения и уменьшения Если N = 5, то х = N++; устанавливает х Операции увеличения и уменьшения Если N = 5, то х = N++; устанавливает х равным 5, а х = ++N; полагает х равным 6.

Бинарные операции Бинарные операции

Операторы - условные операторы, к которым относятся оператор условия if и оператор выбора switch; Операторы - условные операторы, к которым относятся оператор условия if и оператор выбора switch; - операторы цикла (for, while, do while); - операторы перехода (break, continue, return, goto);

Оператор if (выражение) оператор-1; [else оператор2; ] if (i < j) i++; else { Оператор if (выражение) оператор-1; [else оператор2; ] if (i < j) i++; else { j = i-3; i++; }

Сложный IF int main ( ) { int t=2, b=7, r=3; if (t>b) { Сложный IF int main ( ) { int t=2, b=7, r=3; if (t>b) { if (b < r) r=b; } else r=t; return (0); }

Оператор switch int i=2; switch (i) { case 1: i case 2: i case Оператор switch int i=2; switch (i) { case 1: i case 2: i case 0: i case 4: i default: } += 2; *= 3; /= 2; -= 5; ;

Оператор break обеспечивает прекращение выполнения самого внутреннего из объединяющих его операторов switch, do, for, Оператор break обеспечивает прекращение выполнения самого внутреннего из объединяющих его операторов switch, do, for, while. После выполнения оператора break управление передается оператору, следующему за прерванным

Оператор while (выражение) тело ; int i, j, k; . . . i=0; j=0; Оператор while (выражение) тело ; int i, j, k; . . . i=0; j=0; k=0; do { i++; j--; while (a[k] < i) k++; } while (i<30 && j<-30);

Оператор for for ( выражение 1 ; выражение 2 ; выражение 3 ) тело Оператор for for ( выражение 1 ; выражение 2 ; выражение 3 ) тело int main() { int i, b; for (i=1; i<10; i++) b=i*i; return 0; } int main() { int top, bot; char string[100], temp; for ( top=0, bot=100 ; top < bot ; top++, bot--) { temp=string[top]; string[bot]=temp; } return 0; } for (; ; ) {. . . break; . . . }

Оператор continue int main() { int a, b; for (a=1, b=0; a<100; b+=a, a++) Оператор continue int main() { int a, b; for (a=1, b=0; a<100; b+=a, a++) { if (b%2) continue; . . . /* обработка четных сумм */ } return 0; }

Цикл с постусловием (do — while) Цикл с постусловием (do — while)

Переключатель Переключатель

Задача: каждое слово строки вывести на экран в отдельную строку Задача: каждое слово строки вывести на экран в отдельную строку

Вывод несовпадающих символов Вывод несовпадающих символов

Математические функции abs(i) fabs(x) sqrt(x) pow(x, y) log(x) log 10(x) sin(x) cos(x) asin() math. Математические функции abs(i) fabs(x) sqrt(x) pow(x, y) log(x) log 10(x) sin(x) cos(x) asin() math. h