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

Лекция-СИ_4_рус.ppt

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

Управляющие операторы языка С. Массивы Лектор Махметова А. М. Управляющие операторы языка С. Массивы Лектор Махметова А. М.

Вопросы: o o Массив переменных Управляющие операторы: а. оператор Break б. оператор Continue в. Вопросы: o o Массив переменных Управляющие операторы: а. оператор Break б. оператор Continue в. оператор Goto г. оператор выбора Switch

Массив – конечномерная последовательность данных одного типа. Массив – объект сложного типа. Каждый элемент Массив – конечномерная последовательность данных одного типа. Массив – объект сложного типа. Каждый элемент массива определяется именем массива и индексом (целое число), по которому к элементу массива производится доступ. В языке С элементы массивы нумеруется с нуля.

Описание массива: В программе одномерный массив объявляется следующим образом: <Тип> <имя массива>[размер]; где, размер Описание массива: В программе одномерный массив объявляется следующим образом: <Тип> <имя массива>[размер]; где, размер – количество элементов одномерного массива. int c[12]; int d[100], x[27];

Инициализация элементов массивы: #include <stdio. h> main() { int A[10]= {32, 25, 78, 10, Инициализация элементов массивы: #include main() { int A[10]= {32, 25, 78, 10, -3, 12, 0, 7, 14, 7}; int i; for (i=0; i<=9; i++) printf(“%5 d%7 dn”, i, A[i]); return 0; }

Двухмерные массивы состоят из строк и стобцов. Рассмотрим двухмерный массив a[3][4] : 0 столбец Двухмерные массивы состоят из строк и стобцов. Рассмотрим двухмерный массив a[3][4] : 0 столбец 1 столбец 2 столбец 3 столбец 0 строка a[0][0] a[0][1] a[0][2] a[0][3] 1 строка a[1][0] a[1][1] a[1][2] a[1][3] 2 строка a[2][0] a[2][1] a[2][2] a[2][3] Индекс столбца Индекс строки Имя массива

Пример: int b[2][2] = { { 1, 2 }, { 3, 4 } }; Пример: int b[2][2] = { { 1, 2 }, { 3, 4 } }; int b[2][2] = { 1, 2, 3, 4 };

int a[3][5]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} 1 2 int a[3][5]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} 1 2 3 4 5 6 7 8 9 10 11 int a[3][5]={{1, 2, 3}, {4, 5, 6, 7, 8}, {9, 10, 11}} 1 2 3 4 5 6 9 10 11 7 8

 Оператор Break Оператор break используется когда нужно выйти из цикла недожидаясь конца цикла. Оператор Break Оператор break используется когда нужно выйти из цикла недожидаясь конца цикла. Если оператор break используется во вложенных циклах, то выход осуществляется во внешний цикл.

 Пример: Дан двухмерный массив A[3, 3]. Нужно получить одномерный массив B[3] по следующим Пример: Дан двухмерный массив A[3, 3]. Нужно получить одномерный массив B[3] по следующим правилам: Если в строке имеется хотябы один отрицательный элемент то B[i]=1, иначе B[i]=0.

 #include <stdio. h> #include <conio. h> #define n 3 void main() { int #include #include #define n 3 void main() { int i, j, a[n][n], b[n]; clrscr(); for (i=0; i

for (i=0; i<n; i++) { b[i]=0; for (j=0; j<n; j ++) if (a[i][j]<0) { for (i=0; i

Оператор Continue Оператор continue когда в программе нужно перейти на следующуюю итерацию цикла не Оператор Continue Оператор continue когда в программе нужно перейти на следующуюю итерацию цикла не выполняя тело цикла.

 Пример: Дан одномерный массив – A[6]. Нужно составить программу которая возводт в квадрат Пример: Дан одномерный массив – A[6]. Нужно составить программу которая возводт в квадрат отрицательные элементы массива.

#include <stdio. h> #include <conio. h> #include <math. h> #define n 6 main() { #include #include #include #define n 6 main() { int i, a[n]; clrscr(); for (i=0; i

for (i=0; if i<n; i++) (a[i]>0) continue; else a[i]=pow(a[i], 2); for (i=0; i<n; i++) for (i=0; if i0) continue; else a[i]=pow(a[i], 2); for (i=0; i

Пример: Вывести на экран числа делящиеся на 7 без остатка, среди чисел от 1 Пример: Вывести на экран числа делящиеся на 7 без остатка, среди чисел от 1 до 100.

#include <stdio. h> #include <conio. h> void main() { int x; clrscr(); for (x=1; #include #include void main() { int x; clrscr(); for (x=1; x<=100; x++) { if (x%7) continue; printf ("%8 d n", x); getch(); } }

Оператор Goto формат: goto < метка >; метка – номер оператора к которому нужно Оператор Goto формат: goto < метка >; метка – номер оператора к которому нужно прейти.

#include <stdio. h> main () { int k; char symbol; c 1: printf( #include main () { int k; char symbol; c 1: printf("n Введите целое число и нажмите на Enter: "); scanf("%i", &k); if (k % 2 == 0) printf(“четное. "); else printf(“нечетное. "); printf("n Хотите ввести еще одно число? Да - 'Y', Нет - 'N' : "); scanf("%s", &symbol); if ((symbol=='Y')||(symbol=='y')) goto c 1; }

 Switch – оператор выбора формат: switch <выражение целого типа>; { case метка 1: Switch – оператор выбора формат: switch <выражение целого типа>; { case метка 1: операторы; case метка 2: операторы; . . . . [default: операторы; ] }

 Мысалы: #include <stdio. h> #include <conio. h> #include <math. h> main() { char Мысалы: #include #include #include main() { char symbol; int x, y, z; clrscr(); scanf("%c", &symbol); scanf("%d%d", &y, &z);

switch (symbol) { case '-' : x=y-z; break; case '+' : x=y+z; break; case switch (symbol) { case '-' : x=y-z; break; case '+' : x=y+z; break; case '*': x=y*z; break; case '/' : x=y/z; break; default: printf ("ne opredelennaia operaziaяn"); } printf("%3 dn", x); return 0; }

Случайные числа int rand() – 0. . RAND_MAX=32767. int random(n) – выдает случайные целые Случайные числа int rand() – 0. . RAND_MAX=32767. int random(n) – выдает случайные целые числа между 0 и n. Для использование функции rand(), random(n) необходимо подключить библиотеку .

Чтобы при каждом выполнений программы компьютер выдавал новые числа, необходимо перед функцияим rand(), random() Чтобы при каждом выполнений программы компьютер выдавал новые числа, необходимо перед функцияим rand(), random() подключит генератор случайных чисел - randomize().

#include <conio. h> #include <stdlib. h> void main() { int a[100]; int n; printf #include #include void main() { int a[100]; int n; printf (“n Enter the size of array: ”, n); scanf (“%i”, &n); For (i=0; i<=n; i++) {a[i]=rand()%100 -50; printf(“ %I getch(); } “, a[i]); }

Пример: Дан одномерный массив состоящий из натуральных чисел. Посчитать: -арифметическую среднюю элементов массива; - Пример: Дан одномерный массив состоящий из натуральных чисел. Посчитать: -арифметическую среднюю элементов массива; - сумму нечетных элементов; - Сумму четных элементов.

#include <stdio. h> #include <conio. h> void main() { int i; float a[10], s=0, #include #include void main() { int i; float a[10], s=0, g=0, t=0; clrscr(); printf("n ‚ Введите элементы массива a[i] =n"); for(i=0; i<10; i++) scanf("%f", &a[i]); for(i=0; i<10; i++) s+=a[i]; for (i=0; i<10; i=i+2) g=g+a[i]; for (i=1; i<10; i=i+2) t=t+a[i]; printf("s=%4. 2 fn", s/10); printf("g=%4. 2 f t=%4. 2 fn", g, t); getch(); }

Пример: Дан массив состоящий из целых чисел. Определить макмимальный элемент массива и его индекс, Пример: Дан массив состоящий из целых чисел. Определить макмимальный элемент массива и его индекс, затем первый элемент поменять с максимальным элементом. Также определить количество положительных и отрицательных элементов массива.

#include <stdio. h> #include <conio. h> main( ) { int a[10]={-1, -20, 4, 100, #include #include main( ) { int a[10]={-1, -20, 4, 100, 56, -5, 34, -45, 303, 2}; int i, index, max, kp, ko, zam; clrscr(); printf("n Исходный массивn"); for (i=0; i<10; i++) printf("%d ", a[i]); //вывод элементов исходного массива

max=a[0]; kp=0; ko=0; zam=a[0]; for (i=1; i<10; i++) if (a[i]>max) {max=a[i]; index=i; } a[index]=zam; max=a[0]; kp=0; ko=0; zam=a[0]; for (i=1; i<10; i++) if (a[i]>max) {max=a[i]; index=i; } a[index]=zam; a[0]=max; for (i=0; i<10; i++) { if (a[i]<0) ko=ko+1; else kp=kp+1; } printf("n Результат: n"); for (i=0; i<10; i++) printf("%d ", a[i]); printf("n кол-во положительных эл-ов массива: %d n", kp); printf(" n кол-во отрицательных эл-ов массива: %d, nn Нажмите на любую клавишу. . . ", ko); getch(); return(0); }