Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум ЭВМ ответы.doc
Скачиваний:
3
Добавлен:
07.05.2019
Размер:
309.25 Кб
Скачать

2. Структура программы. Примеры простейшей программы, использующей ввод/вывод на экран(сложить 2 числа)

 Рассомтрим следующую программу:

#include<stdio.h>    /* Пример 1 */   main() {   int year;   year=2000;   printf("Сейчас %d год\n",year); }

   Первая строка #include<stdio.h> сообщает о необходимости подключения файла stdio.h. Этот файл содержит информацию, необходимую для првильного выполнения функций библиотеки ввода/вывода. Язык Си предусматривает использование таких файлов, которые называются заголовочными. В данном случае использование файла stdio.h необходимо, так как в этом файле находится информация о функции printf(), которая используется в нашей программе.
   Вторая строка /* Пример 1 */ является комментарием.
   Строка main() определяет имя функции. Любая программа на языке Си включает минимум одну или более функций. Выполнение программы всегда начинается с функции main(). Поэтому каждая программа на языке Си должна содержать её.
   Следующая строка содержит открывающеюся фигурную скобку, обозначающую начало тела функции main(). Фигурные скобки в языке Си Всегда используются парами (открывающая и закрывающая). Закрывающая скобка встретится в данной программе далее.

   Строка int year; объявляет переменную, названную year, и сообщает компилятору, что это переменная целого типа. В языке Си все переменные должны быть объявлены прежде, чем они будут использованы. Процесс объявления переменных включает в себя определение имени и указания типа переменных.    Строка year=2000; является оператором присваивания. Здесь переменной с именем year присваивается значение 2000. Заметим, что в языке Си в операторе присваивания используется просто знак равенства. Все операторы в языке Си заканчиваются символом точки с запятой (;).    Строка printf("Сейчас %d год\n",year); является вызовом стандартной функции printf(), которая выводит на экран некоторую информацию. Эта строка состоит из двух частей: имени фукции printf() и двух её аргументов "Сейчас %d год\n" и year, разделённых запятой. Функция printf() является универсальной функцией форматного вывода. Для вызова функции нужно правильно написать имя функции и в скобках указать необходимые фактические аргументы. Первый аргумент функции ptintf() - это строка в кавычках "Сейчас %d год\n", которую называют управляющей строкой. Эта строка может содержать любые символы или спецификации формата, начинающиеся с символа %. Обычные символы просто отображаются на экран в том порядке, в котором они следуют. Спецификация формата, начинающаяся с символа %d указывает формат, в котором будет выводится значение переменной year, являющейся вторым аргументом функции printf(). Спецификация %d указывает, что будет выводится целое число в десятичной записи. Комбинация символов '\n' сообщает функции printf() о необходимости перехода на новую строку. Этот символ называется символом новой строки.    Последняя строка программы содержит закрывающую фигурную скобку. Она обозначает, в данном случае, конец функции main().

--------------   Рассмотрим второй пример, в котором будет использоваться ввод данных с клавиатуры. Для этого будет использоваться библиотечная функция scanf(), которая позволяет вводить информацию с клавиатуры во время выполнения программы:

#include<stdio.h>    /* Пример 2: вычисление длины окружности */   main() {   int radius;   float length;   printf("Введите значение радиуса: \n");   scanf("%d",&radius);   length=3.1415*2*radius;   printf("Радиус - %d\n, длина - %f\n",radius,length); }

   В этой программе по сравнению с предыдущей появились новые моменты.
   Во-первых, объявлены переменные двух разных типов: radius - типа целое(int); length - типа с плавающей запятой (float), содержащую дробную часть.
   Во-вторых, используется функция scanf() для ввода с клавиатуры значения радиуса окружности. Первый аргумент функции scanf() "%d" указывает, что будет вводится целое десятичное число. Второй аргумент - имя переменной, которой будет присвоено введенное значение. Символ & (амперсанд) перед именем переменной radius необходим для правильной работы функции scanf(). Более подробно использование этого символа будет обсуждаться позднее.
   в следующей строке программы целые числа - 2 и radius умножаются на число с плавающей точкой 3.1415 и результат присваивается переменной типа float. Язык Си допускает использование в выражениях переменных разных типов. Для вывода результатов используется функция printf(), которая содержит 4 аргумента. Спецификатор формата %f используется для печати значения переменной length типа float.
   В рассмотренном примере длина окружности вычисляется только для целых радиусов. Для того чтобы программа могла вычислять длину окружности для любых радиусов, необходимо объявить переменную radius как float, а в функции scanf() использовать спецификатор"%f".

3. использование переменных. Способы задания , идентификатор, основные операции языка С++ с примерами

Здесь тип должен быть одним из существующих в Си типов переменных, а список переменных может состоять из одной или нескольких переменных, разделенных запятыми. При объявлении переменных компилятор выделяет место в памяти компьютера, необходимое для размещения переменной указанного типа. Примеры объявления переменных:

int a,b,c;

float radius,length;

unsigned char ch1,ch2;

long double integral;

   Очень важное значение имеет вопрос о месте объявления переменной в программе. Правило, оределяющее место объявления переменной в программе, называется правилом видимости.    В языке Си могут быть три места, где переменная может быть объявлена. Во-первых, вне каких либо функций, в том числе и main(). Такая переменная называется глобальной и может использоваться в любом месте программы (за исключением глобальных статических переменных, речь о которых далее). Во-вторых, переменная может быть объявлена внутри блока, в том числе внутри тела функции. Такая переменная называется локальной и может использоваться только внутри этого блока. Такая переменная неизвестна вне этого блока. Кроме того, переменная может быть объявлена как формальный параметр функции. Переменная, объявленная как формальный параметр функции, используется для передачи информации этой функции, а также может расматриваться как локальная переменная функции. Рассмотрим пример объявления переменных в разных местах программы:

#include<stdio.h> #include<conio.h>    /* Пример 3 */   /*Объявляем переменные в разных местах программы*/   char ch;  /*Объявляем глобальную переменную*/   main() {   int n;  /*объявление локальной переменной внутри функции*/   printf("Введите символ:");   ch=getch();  /*использование глобальной переменной*/   printf("Введите количество символов в строке:");   scanf(%d,&n);  /*использование локальной переменной*/   print_str(n);  /*вызываем собственную функцию по печати строки из одного символа (количество символов в строке задает пользователь)*/ }   /*А это уже наша функция, не из библиотеки*/   int print_str(int m)  /*заголовок функции print_str() с объявлением формального параметра m*/   {   int j;  /*объявление локальной переменной для функции print_str()*/   for(j=0;j<m;j++)  printf("%c\n",ch);  /*используем локальную переменную j и глобальную ch*/   }

   При написании программ необоходимо помнить следующие правила:   

  • две глобальные переменные не могут иметь одинаковые имена;   

  • локальная переменная одной функции может иметь такое же имя как локальная переменная другой функции (или формальный параметр другой функции);   

  • две локальные переменные в одном блоке не могут иметь одинаковые имена, в том числе формальный переметр функции не должен совпадать с локальным параметром, объявленным в функции.