октября 31, 2011 | Published in Си и C++
Объявление массива в Си
Массив (Array) относится к вторичным типам данных. Массив в Си представляет собой коллекция явно определенного размера элементов определенного типа. то есть в отличие от массивов в Ruby массивы в Си являются однотипными (хранят данные только одного типа) и имеют заранее определенную длину (размер).
В Си массивы можно грубо разделить на 2 типа: массив чисел и массив символов. Разумеется, такое деление абсолютно условное ведь символы — это также целые числа. Массивы символов также имеют несколько иной синтаксис. Ниже приведены примеры объявления массивов:
Read the rest of this entry »
октября 29, 2011 | Published in Си и C++
Почти в любом языке программирования данные обладают определенным типом. Типы данных необходимы для того, чтобы различать в наборе битов и байтов символы, числа и структуры данных. Кроме того, типы данных позволяют более рационально использовать память.
Первичные типы данных в Си включают в себя:
Целочисленные типы (integer)
Целочисленные типы используются для хранения чисел в диапазоне определяемом компилятором. Традиционно целые числа занимают 2 байта памяти и значения, которые относятся к типу int находятся в диапазоне от -32768 до +32767. Тип signed int (целое со знаком) использует один бит для хранения знака числа и 15 бит для хранения самого числа. Помимо канонического int, Си имеет еще 2 integer-типа данных:
- short int
- long int
Все три типа имеют как форму со знаком, так и беззнаковую форму (соотв. signed и unsigned). Short int обычно использует половину объема памяти int однако это не константное соотношение, например, в некоторых компиляторах int может занимать не 16 бит, а 32, а short int 16, а не 8. Тип long int обычно использует объем памяти в двое больший, чем int, то есть 4 байта, что опять-таки может изменяться в различных компиляторах. В signed-типах один бит всегда занимается хранением знака числа, в unsigned все биты занимаются исключительно хранением значения числа при этом unsigned-числа всегда считаются целыми.
Read the rest of this entry »
октября 29, 2011 | Published in Си и C++
Знакомство с языком Си мы начнем с написания простой программы «Hello, World!», которая будет заниматься печатью на экран сообщения «Hello, World!».
Язык Си относится к процедурным (императивным) языкам программирования, а значит программа на Си является ни чем иным, как описанием последовательности действий — алгоритма выполнения определенной задачи. Си обладает концепцией основной функцией программы, т.е. любая программа на Си должна содержать функцию main(). Функция main() как раз и занимается тем, что предоставляет алгоритм выполнения нашей программы без углубления в детали его работы. Детали работы алгоритма принято выносить в отдельные функции, а их, при необходимости, в библиотеки.
Первая программа:
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return(0);
}
Read the rest of this entry »