КАТЕГОРИИ: Архитектура-(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; Просмотров: 368; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |