Разделы презентаций


Подпрограммы Указатели

Содержание

Задача. Дана строка длиной до 80 символов. Подчеркнуть гласные русские буквы.Тест.Исх. строка: Осень зима весна летоРезультат: – – – – –

Слайды и текст этой презентации

Слайд 1Лекция 4
Подпрограммы
Указатели

Лекция 4ПодпрограммыУказатели

Слайд 2Задача. Дана строка длиной до 80 символов. Подчеркнуть гласные русские

буквы.
Тест.
Исх. строка: Осень зима весна лето
Результат: – –

– – – – – –

Задача. Дана строка длиной до 80 символов. Подчеркнуть гласные русские буквы.Тест.Исх. строка:	Осень зима весна летоРезультат:		 –

Слайд 3Схема главной функции main



начало

Ввод строки s

вывод ‘-’

конец
i=0; s[i]!=‘\0’;

i++
вывод пробела
s[i]- гласная
да
нет
Вызов ф-ции
Glas(s[i])

Схема главной функции main началоВвод строки sвывод ‘-’конецi=0; s[i]!=‘\0’;   i++вывод пробелаs[i]- гласнаяданетВызов ф-цииGlas(s[i])

Слайд 4Схема функции Glas(c), определяющей является ли заданный символ с гласной

буквой.



Glas (c)

mgl[]=“aAeEиИ…яЯ”
j=0; j

Схема функции Glas(c), определяющей является ли заданный символ с гласной буквой.   Glas (c)mgl[]=“aAeEиИ…яЯ”j=0; j

Слайд 5Программа
#include
/* Функция проверки, является ли символ гласной буквой */
int

Glas (char c)
{ char mgl[] = “aAeEиИ…яЯ”; // массив гласных

букв
int j;
for (j=0; j<18; j++)
if (c==mgl[j]) return 1;
return 0;
}
Программа#include 	/* Функция проверки, является ли символ гласной 	буквой */int Glas (char c){ char mgl[] = “aAeEиИ…яЯ”;

Слайд 6
void main()
{ char s[80]; // исходная строка
int i;

// индекс очередного символа строки
puts (“Введите

строку”);
gets (s);
for (i=0; s[i] != ‘\0’; i++)
if (Glas(s[i])) putchar(‘-’);
else putchar (‘ ’);
}
void main(){ char s[80]; // исходная строка	int i;      // индекс очередного

Слайд 72-й вариант функции Glas()
int Glas (char c)
{ char mgl[] =

“aAeEиИ…яЯ”; // массив гласных // букв
int j,

pr=0;
for (j=0; j<18 && pr==0; j++)
if (c==mgl[j]) pr=1;
return pr;
}

2-й вариант функции Glas()int Glas (char c){ char mgl[] = “aAeEиИ…яЯ”; // массив гласных 					  //	букв

Слайд 8Указатели
Указатель – это переменная, которая ссылается на другую переменную. Значением

указателя является адрес переменной, на которую он ссылается.

Описание переменной

типа указатель:
тип * имя;
УказателиУказатель – это переменная, которая ссылается на другую переменную. Значением указателя является адрес переменной, на которую он

Слайд 9Примеры объявления указателей:
int * p1; /* p1 – указатель на

цел. переменную */
float * p2; /* указатель на вещ.

переменную */
char * p3; /* указатель на симв. переменную */


int n=0, k=1;
int * p1 = &n; /* указателю p1 присваивается адрес n */

Примеры объявления указателей:int * p1; /* p1 – указатель на цел. переменную */float * p2;  /*

Слайд 10 Пример расположения переменных в памяти:
Адрес

Память

… …


-------------------
3100 0 n
-------------------
3102 1 k
-------------------
3104 3100 p1
-------------------

Пример расположения переменных в памяти:		Адрес    Память		…	   …

Слайд 11Операция разадресации *
Чтобы через указатель обратиться к той переменной, на

которую он ссылается, используется операция разадресации “*”.

Пример:
int

*p1, k=1;
p1=&k;
(*p1)++; /* значение k увеличивается на 1,
т.к. *p1 - переменная, на которую ссылается указатель p1 */
printf (“%d”, *p1); /* вывод значения 2 */
Операция разадресации *Чтобы через указатель обратиться к той переменной, на которую он ссылается, используется операция разадресации “*”.

Слайд 12Использование указателей в качестве параметров функций

Пример 1

/* Функция обмена

значений двух переменных */
void swap (float *a, float *b)

/* a,b - указатели на заданные переменные */
{ float c;
c = *a; *a =*b; *b = c;
}
Использование указателей в качестве параметров функций Пример 1/* Функция обмена значений двух переменных */void swap (float *a,

Слайд 13
/* Гл. функция для тестирования ф-ции swap */


void main()
{ float

a=5.5, b=-2.4,
c=10, d=20;

swap (&a, &b);
swap (&c, &d);
printf (“После обмена a=%.1f, b=%.1f”, a, b);
printf (“\n c=%.0f, d=%.0f\n”,c,d);
}
/* Гл. функция для тестирования ф-ции swap */void main(){ float a=5.5, b=-2.4,

Слайд 15 Пример 2
/* Функция вычисления суммы и количества положительных элементов массива

*/

void SumPos (float m[ ], int n, float *s, int

*k)
/* Вх. параметры:
m – указатель на заданный массив,
n – число элементов массива.
Вых. параметры:
*s – сумма положительных элементов массива,
*k – количество положительных элементов */
{ int i;
for (i=0, *s=0, *k=0; i if (m[i]>0) (*s)+=m[i], (*k)++;
}
Пример 2/* Функция вычисления суммы и количества положительных элементов массива */void SumPos (float m[ ], int

Слайд 16 /* Пример вызова функции */
float a[20], s;
int k;

SumPos (a, 20,

&s, &k);

/* Пример вызова функции */	float a[20], s;	int k;	…	SumPos (a, 20, &s, &k);

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика