- •Основы программирования
- •Средства создания программ
- •Работа в интегрированной среде разработки программ turbo c (Borland c)
- •Основные функциональные клавиши и сочетания клавиш в Turbo c
- •Контрольные вопросы
- •Основы языка Си
- •Составляющие языка Си
- •Понятия алгоритмических языков (На примере языка Си)
- •Структура программы на языке Си
- •Директивы препроцессора
- •Главная функция
- •Переменные и массивы
- •Объявления переменных и массивов
- •Комментарии
- •Основные операции в Си
- •Арифметические операции
- •Логические операции и операции отношения
- •Операции присваивания
- •Функции ввода и вывода
- •Функция форматированного вывода printf( )
- •Функция форматированного ввода scanf( )
- •Функция неформатированного ввода getch( )
- •Функция неформатированного ввода gets( )
- •Функция неформатированного вывода puts( )
- •Программа – диалог
- •Контрольные к лабораторной работе «Программа-диалог»
- •Программа–тест
- •Контрольные вопросы к лабораторной работе «Программа-тест»
- •Конструкция switch/case/default
- •Операторы цикла
- •Цикл for
- •Стандартные математические функции
- •Пример выполнения лабораторной работы «Вычисление значения функции»
- •Контрольные вопросы к лабораторной работе «Вычисление значения функции»
- •Вложенные циклы.
- •Использование оператора break в циклах
- •Оператор continue
- •Оператор безусловного перехода goto
- •Действия с одномерными массивами
- •Инициализация массива
- •Ввод значений элементов массива с клавиатуры
- •Заполнение массива случайными числами
- •Вычисление суммы и произведения элементов массива
- •Поиск максимального элемента массива и его номера
- •Вычисление среднего арифметического
- •Перестановка элементов в массиве
- •Сортировка массива
- •Заполнение массива элементами из другого массива.
- •Контрольные вопросы к лабораторной работе «Одномерный массив»
- •Контрольные к лабораторной работе «Программа-диалог»
- •Контрольные вопросы к лабораторной работе «Программа-тест»
- •Контрольные вопросы к лабораторной работе «Вычисление значения функции»
- •Контрольные вопросы к лабораторной работе «Одномерный массив»
Заполнение массива элементами из другого массива.
ПРИМЕР 38:
Задание
Записать в массив В подряд чётные элементы массива А, состоящего из N целых чисел. Вывести на экран полученный массив.
Решение.
#include <stdio.h> #define N 20 /*размер массива*/ void main ( ) { int A[N],B[N],i,j=0; clrscr(); for(i=0;i<N;i++) { printf("\nВведите %2d-й элемент массива А: ",i+1); scanf("%d",&A[i]); if(A[i]%2==0) /*проверка четности элемента*/ { B[j]=A[i]; j++; } /* j является счетчиком элементов*/ } if(j>0) /* j является общим количеством чисел в массиве В*/ { puts("\nМассив В:"); for(i=0;i<j;i++) printf("%4d", B[i]); } else puts("\nВ массиве А нет четных чисел"); getch(); } |
/*1*/ /*2*/ /*3*/ /*4*/ /*5*/ /*6*/ /*7*/ /*8*/ /*9*/ /*10*/ /*11*/ /*12*/ /*13*/ /*14*/ /*15*/ /*16*/ /*17*/ /*18*/ /*19*/ |
Пояснение
Размер массива В задан максимально возможным по условию данной задачи, т.е. такой же, как и размер массива А. В цикле ввода элементов массива А указано i+1 , чтобы на экране при выводе просьбы о вводе нумерация начиналась с 1, а не с нуля. Для решения вводится дополнительная переменная j (индекс элементов нового массива В и их счётчик). Начальное значение счётчика равно нулю, затем его значение увеличивается на 1 только в случае, если встретится чётный элемент. После окончания цикла ввода и проверки элементов на чётность переменная j будет уже являться общим количеством элементов массива В. Поэтому в качестве параметра цикла вывода на экран массива В (строка 15) и индекса элементов массива В (строка 16) надо взять другую переменную, например, вновь переменную i .
Контрольные вопросы к лабораторной работе «Одномерный массив»
Оператор цикла типа «Для». Форма записи, назначение. Пример использования
Как организовать тело цикла, состоящее из нескольких операторов.
Что такое массив. Как объявить целочисленный массив и массив действительных чисел.
Способы заполнения исходного массива. Для чего осуществляется инициализация массива.
Нумерация элементов массива. Что такое индекс элемента. Тип. Диапазон изменения. Может ли индекс быть отрицательным числом? Чётным?
Что происходит, когда индекс элемента выходит за размер массива? Например, объявлен массив int A[25]; А в программе встречается строка printf(“%d”, A[100]);
Функция random(N); Назначение, Описание работы.
Функция randomize( ); Назначение, Описание работы.
Контрольные к лабораторной работе «Программа-диалог»
Назначение директивы #include
Понятие формата. Виды форматов.
Управляющие последовательности в Си.
Функция форматированного вывода в Си. Форма записи, назначение и использование.
Функция форматированного ввода в Си. Форма записи, назначение и использование. Особенности её работы.
Функция неформатированного ввода в Си. Форма записи, назначение и использование.
Функция очистки буфера ввода и ее назначение.
Назначение функций atoi, atof, atol.
Контрольные вопросы к лабораторной работе «Программа-тест»
Назначение директивы #define.
Оператор условия в Си. Формы записи.
Арифметические и логические операции в Си.
Дополнительные операции присваивания в Си.
Особенности использования функций getch(), gets() и scanf() в Си.
Запишите два способа ввода численной переменной с клавиатуры (используя форматированный и неформатированный ввод).
Организация группы операторов в Си.