Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Void main(void)




Void main(void)

{

char name[30];

printf (“Как Вас зовут? ”);

scanf(“%s\n”,name);

printf(“Привет, %s\n”,name);

}

 

На запрос “Как Вас зовут?” Вы вводите имя, например, Саша. Из 30 элементов массива будут заняты только первые 4 под имя, а пятым элементом автоматически допишется нулевой байт.

Инициализация символьного массива может осуществляться двумя способами:

1) посимвольно:

char str[11] = {‘К’,’о’,’м’,’п’,’и’,’л’,’я’,’т’,’о’,’р’,’\0’};

2) как строка символов char str[11] = “Компилятор”.

Второй способ более предпочтителен, так как он короче и нулевой байт добавляется автоматически. В первом случае необходимо дополнить строку нулевым байтом.

Допускается объявление массива символов путем указания заведомо большего размера массива:

char str[80] = “Инициализация”;

можно вообще размер не указывать:

char str[ ] = “Инициализация”.

При работе со строками символов можно не создавать массивы, если использовать указатели.

char *str = “Строка символов”; // Описание и инициализация

С данной строкой символов можно работать как с массивом:

char ch;

ch = str[0]; // ch присваивается символ ‘С’

ch = str[5]; // ch присваивается символ ‘а’

ch = str[10]; // ch присваивается символ ‘в’

В примере 3.7 показан вывод строки символов в цикле while в функции show_string:

 

//Пример 3.7.

//Работа с указателем на строку, вывод строки символов

#include <stdio.h>

void show_string(char *string)

{

while(*string) //Пока не конец строки

putchar(*string++);

}

{

show_string("Строка символов +++++++++");

}

Для работы со строками в языке С предусмотрена библиотека функций (см. разд. 7.4).

Рассмотрим еще один вариант массива — двумерный (массив одномерных массивов). Форма объявления его следующая:

 

тип имя[размер1][размер2];

 

Элементы массива в памяти располагаются последовательно построчно, то есть вначале элементы первой строки, следом второй и т.д. Количество байт в памяти определяется так:

 

Кол. байт = (размер типа) * (кол. строк) * (кол. столбцов).

 

Двумерный массив можно представить в виде таблицы (рис. 3.2, а):

int a[2][3]; первый индекс — номер строки, второй — номер столбца (две строки и три столбца). Индексация массива начинается с нуля.

Самый простой способ инициализации массива — при его объявлении указать список инициализаторов:

int m[2][3] = {7,3,2,1,0,4};

int m[2][3] = {{7,3,2,},

{1,0,4 }};

int m[3][3] = {{7,3,2},{1,0,4}};

Размещение объявленного массива в памяти показано на рис. 3.2, б. Количество инициализаторов может не совпадать с количеством элементов массива:

int m[2][3] = {7,5,1,2}; // Инициализации

int m[2][3] = {{7,5},{1,2}}. // различны

Остальные значения не определены (рис. 3.2, в). Можно объявлять массив с неизвестным количеством элементов:

int m[ ][2] = {{1,2},

{3,4},

{5,6}};

размещение показано на рис. 3.2, г.

К произвольным типам данных относятся также структуры (struct), объединения (union) и перечисления (enam). Определение, инициализация и работа со структурой показаны в примере 2.1. Остальные типы здесь не рассматриваются.

Константа — это объект, который нельзя изменять при выполнении программы. Константы могут быть именованными и неименованными. Константы могут быть любого типа, в том числе и “указатель на...”, а также типа “строка”, строковая константа заключается в кавычки (двойные):

 

name = “Строка символов”.

 

Рис. 3.2

 

Именованная константа — константа, которая описана и инициализирована в программе, обращение к ней с помощью идентификатора (имени), например: PI, Bolcman и т.д.

Неименованная константа — не имеет имени и используется непосредственно в тексте выражения, например 3.14; ‘A’; 1 и т.д.

4 Операции языка С

Выражение в языке С состоит из операндов и операций, например: C=A+B; A, B, C — операнды; + и = — это операции (сложения и присваивания).

Операции — это действия над данными. Знак операции — это символ или комбинация символов, которые сообщают компилятору о необходимости произвести определенные арифметические, логические или другие действия.

Операции бывают:

1) унарные, состоящие из одного операнда: A++; -- b;

2) бинарные, состоящие из двух операндов: A - B;

3) тернарные — три операнда: (a>b)? a:b;.

Операции можно объединить по группам.




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 337; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.