Практикум для изучения дисциплины «Основы программирования»



Pdf көрінісі
бет53/81
Дата08.07.2020
өлшемі1,55 Mb.
#74978
түріПрактикум
1   ...   49   50   51   52   53   54   55   56   ...   81
Байланысты:
А.А. Тюгашев
А.А. Тюгашев, А.А. Тюгашев, А.А. Тюгашев
ЗАМЕЧАНИЕ 
Обратите  внимание  на  то,  что  каждое  измерение  записывается  в  своих 
квадратных скобках. 
В примере к переменной y добавляется значение элемента массива matr, 
находящееся на пересечении i-й строки и j-го столбца матрицы. 
Аналогично  выполняется  работа  с  трехмерными  и  имеющими  большее 
число измерений массивами. 
Важным  элементом  программирования  является  возможность  задания 
значений  переменной  при  объявлении.  В  некоторых  языках,  например, 
принадлежащих  к  Паскаль-семейству,  по  умолчанию  все  переменные 
инициализируются  нулем.  В  Си  по  умолчанию  переменным  не 
присваивается 
никакого 
значения, 
что 
служит 
источником 
трудноуловимых  ошибок,  ведь  значение  неинициализированной  явным 
образом  переменной  соответствует  случайному  числу,  находившемуся  в 
данной ячейке памяти до запуска программы. Причем может оказаться, что 
50 раз при запуске там случайно оказывается, например, ноль и программа 
работает штатно, а затем происходит неожиданный сбой на 51-м запуске, 
когда в данной ячейке будет иное значение. В связи с этим хорошим тоном 
в программах на Си является запись вида 
int k=0,b
=2; /* инициализация при объявлении */ 
float z=3.21; 


98 
 
Подобным образом можно инициализировать и массивы: 
int a[7]={-7,0,1,2,15,21,-
1}; /* одномерный массив*/ 
char ima[20]="дядя Ваня"; /* строка — массив символов */ 
 
int mat[2][3]={ {1, 2, 3}, 
                {-1,0, 1}   
              }; 
Как  и  в  других  языках  программирования,  в  Си  возможно  создание  на 
основе  базовых  типов  данных более  сложных  конструкций.  В  некоторых 
языках  подобного  рода  конгломераты  называются  записями,  в  других — 
структурами и т. д. 
Идея структуры состоит в том, что под одним именем группируются сразу 
несколько  параметров  (элементов  данных).  Можно  попытаться  описать, 
например,  гоночный  автомобиль  следующим  набором  параметров: 
мощность  двигателя  (целое  число  лошадиных  сил),  изготовитель  (строка 
символов),  тип  мотора  (строка  символов),  количество  передач  (целое 
число),  максимальная  скорость  (число  с  плавающей  точкой).  В  языке 
программирования  Си  возможно  объявление  соответствующей  данному 
описанию структуры: 
struct  

  int Power; 
  char Manufacturer[40]; 
  char Motor[40]; 
  int transmissons; 
  float MaxSpeed;  
} Auto; 
После  этого  объявления  можно  обращаться  к  отдельным  элементам 
данных структуры Auto. Делается это следующим образом, например: 
Auto.Power=340; 
Auto.MaxSpeed=380.2; 
scanf("%s",Auto.Manufacturer); 
Помимо простого объявления структуры в языке Си возможно объявление 
структуры с определением нового типа данных с именем, совпадающим с 
именем  структуры.  Для  этого  используется  ключевое  слово  typedef.  В 
приведенном примере, например, заголовок мог бы выглядеть следующим 
образом: 
typedef struct {…} Auto; 
После этого можно объявлять переменные нового типа Auto, например: 
Auto car,car2; 


99 
 
Дальнейшее  обращение  к  членам  данных  переменных  car  и 
сar2 
производится стандартным образом, например: car.Power, car.Motor 
и т. д. 


Достарыңызбен бөлісу:
1   ...   49   50   51   52   53   54   55   56   ...   81




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет