
- •1. Информатика как наука.
- •2. Информация в материальном мире. Свойства информации.
- •3. Представление информации в эвм.
- •4. Системы счисления. Перевод чисел в различные системы счисления.
- •6. Представление целых положительных и отрицательных чисел
- •7. Истории развития вычислительной техники
- •8. Обшая структура и принцип работы эвм
- •9. Классификация эвм
- •10. Микропроцессор. Принцип работы.
- •11. Память. Виды памяти.
- •12. Устройства ввода-вывода данных.
- •13. Операционные системы. Общие понятия.
- •14. Классификация операционных систем.
- •15. Основы работы с операционной системой Windows.
- •16. Работа с файлами и папками в os Windows. Общие положения.
- •17. Операционная система Unix. Общие понятия.
- •Часть 1 Работа в среде
- •18. Текстовый редактор Word. Набор, редактирование и форматирование текста
- •19. Возможности и технология работы в табличном процессоре мs Ехсеl.
- •20. Виды информационно-вычислительных сетей.
- •21. Техническое обеспечение информационно-вычислительных сетей.
- •22. Интернет: теоретические основы.
- •23. Принципы работы службы www
- •24. Принципы работы службы dns.
- •25. Принципы работы службы fтр.
- •26. Принципы работы службы e-mail
- •27. Языки программирования.
- •28. Компилятор и интерпретатор.
- •29. Этапы создания программы на языке с.
- •30. Структура программы на языке с.
- •Дополнительный пример
- •31. Среда программирования и алгоритмы.
- •32. Создание блок-схемы алгоритма решения задачи.
- •34. Целочисленные типы данных языка с.
- •35. Вещественные типы данных языка с.
- •36. Математические функции
- •37. Ввод/Вывод в с. Стандартные потоки
- •38. Использование функции scanf(). Спецификаторы преобразования. Модификаторы.
- •39. Использование функции printf(). Спецификаторы преобразования. Модификаторы.
- •40. Печать с заданием ширины поля и точности представления.
- •41. Сокращенный оператор ветвления if... Составной оператор.
- •42. Полный оператор ветвления if... Else. Составной оператор.
- •43. Оператор выбора switch() Оператор bгеак.
- •44. Бинарные логические операции. Операции сдвига.
- •45. Бинарные логические операции. Применение, масок. Включение и отключение битов.
- •46. Операторы цикла while … Операторы break, continue.
- •47. Операторы цикла for … Операторы break, continue.
- •48. Операторы цикла do … while Операторы break, continue
- •49. Вложенные циклы.
- •50. Одномерные массивы. Объявление. Инициализация.
- •51. Ввод-вывод одномерных массивов.
- •52. Поиск наибольшего и наименьшего значения массива и их индексов в одномерном массиве.
- •53. Двумерные массивы. Объявление. Инициализация.
- •54. Ввод-вывод двумерных массивов.
- •60. Односимвольные функции ввода/вывода: getchar() и putchar(). Перенаправление ввода/вывода.
- •61. Символы. Библиотека символьных функций и ctype.H.
- •62. Строки. Предоставление строки в памяти.
- •63. Ввод-вывод строк с использованием функций puts(), fputs(), printf(), gets(), fgets(), scanf().
- •64. Обработка строк. Библиотека строковых функций string.H.
48. Операторы цикла do … while Операторы break, continue
Циклы while и for являются циклами с предусловием. Проверка истинности условия осуществляется перед каждой итерацией цикла, поэтому существует вероятность того, что операторы, предусматриваемые циклом, никогда не будут выполнены. В языке С имеется цикл, в котором проверка условия выполняется на выходе из каждой итерации цикла (цикл с постусловием), благодаря чему гарантируется выполнение операторов хотя бы один раз. Это цикл do while.
В листинге 3.3 представлен пример решения предыдущей задачи с использованием цикла с постусловием.
Листинг 3.3
#include <stdio.h>
#define SCALE 0.6214
int main(void){
double kilometres, miles;
printf("Таблица перевода километров в мили\n");
printf("Километры Мили\n");
printf("----------------------\n");
kilometres=1.0;
do {
miles=SCALE*kilometres;
printf("%7.1f %7.2f\n", kilometres, miles);
kilometres+=1.0;
} while (kilometres<=20);
return 0;
}
После служебного слова do (до слова while) в фигурных скобках заключено тело цикла. После выполнения тела цикла осуществляется проверка условия, стоящего справа от слова while в круглых скобках. При выполнении этого условия тело цикла выполняется еще раз. После чего следует новая проверка условия продолжения цикла и т.д. до тех пор, пока условие будет оставаться истинным.
#include <stdio.h>
int main(){
int x, i, j;
printf("Введите сторону квадрата: ");
while (1){
if((scanf("%d", &x)==1) && x>=1 && x<=20)
break;
else {
printf("Вводите сторону квадрата от 1 до 20: ");
continue;
}
}
for (i=0; i<x; i++){
for (j=0; j<x; j++)
putchar('*');
putchar('\n');
}
return 0;
}
#include <stdio.h>
int main(){
float dist, top;
while (1) {
printf("Введите количество топлива: (-1 - vyhod): ");
//проверка правильности ввода количества топлива
if ((scanf("%f", &top))!=1) {//проверка правильности ввода количества топлива
while (getchar()!='\n')
continue;
continue;
}
if (top==-1) return 0;
//проверка правильности ввода количества миль
while (1) {
printf("Vvedite proidennyi put': ");
if ((scanf("%f", &dist)!=1)) {
while (getchar()!='\n')
continue;
continue;
}
else break;
}
printf("Rashod raven %.2f gallonov na 100 mil' \n", top/dist*100);
}
return 0;
}
49. Вложенные циклы.
50. Одномерные массивы. Объявление. Инициализация.
Массив является сложным объектом, состоящим из объектов-компонентов, называемых элементами одного и того же типа. Простые определения массива имеют вид
Тип данных x[n1][n2]...[nk]
Где x - идентификатор, определяемый в качестве имени массива, а ni - размерности массива. Массив x называется k-мерным массивом с элементами типа тип данных. Элементы i-го измерения имеют индексы от 0 до ni-1. Тип элемента массива может быть одним из основных типов, типом другого массива, типом указателя (pointer), типом структуры (struct) или типом объединения (union). Хотя элементы массива не могут быть функциями, они могут быть указателями на функции. Ниже приведены некоторые примеры определений массива:
int page[10]; /* одномерный массив из 10
элементов, перенумерованный с 0 до 9 */
char line[81];
float big[10][10], sales[10][5][8]; /*двумерный
массив и трехмерный массив*/
Ссылки на элемент k-мерного массива x делаются с помощью следующего обозначения:
x[i1][i2]...[ik]
где ij - целое выражение, при этом 0<=ij<=nj-1, а nj - максимальное значение j-го индекса массива x. Например:
page[5]
line[i+j-1]
big[i][j]
Указывая только первые p индексов, можно ссылаться на p-мерный подмассив k-мерного массива (p<=k), например,
sales[i] /* ссылка на двумерный подмассив массива
sales */
sales[i][j] /* ссылка на одномерный подмассив */
sales[i][j][k] /* ссылка на элемент массива*/