русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Согласно Венгерской нотации рекомендуется в имени указывать тип переменной


Дата добавления: 2014-04-05; просмотров: 850; Нарушение авторских прав


 

примеры:

Примеры правильных имён Примеры неправильных имён
hello Hello this_is_very_long_var _u_name   a var1 my.var1 char $my _TYPE

Ключевые слова Си

Ключевые слова- это предопределенные идентификаторы, кото­рые имеют специальное значение для компилятора Си. Их можно использовать только так как они определены. Имена объектов программы не могут совпадать с названиями ключевых слов.

Список ключевых слов:

auto, double, int, struct, break, else, long, switch, case, enum, register, typedef, char, extern, return union, const, float, short, unsigned, continue, for, signed, void, default, goto, sizeof, while, do, if, static, volatile.

Ключевые слова не могут быть переопределены. Тем не менее, они могут быть названы другим текстом, но тогда перед компиляцией они должны быть заменены посредством препроцессора на соответствующие ключевые слова.

Понятие lvalue и rvalue.

Для того, чтобы отличать выражения, обозначающие объекты, от выражений, обозначающих только значения были введены понятия lvalue и rvalue. Определение lvalue использовается для обозначения выражений, которые могли стоять слева от знака присваивания (left-value); им противопоставлялись выражения, которые могли находиться только справа от знака присваивания (right-value).

Характерные случаи использования lvalue и rvalue:

rvalue:

- Выражения, обозначающие временные объекты. В частности, результат вызова функций, возвращающих объекты не по ссылке; результат встроенных операций +, -. *, / и т.п.; явное создание временной переменной int() или C(); преобразования не к ссылочным типам и т.д.

- Результат встроенной операции взятия адреса (&) — rvalue типа указатель.

- Результат встроенных постфиксных операций ++, --.

- Литералы за исключением строковых.



- Константы перечислений.

lvalue:

- Выражения, непосредственно обозначающие объект, non-modifiable в случае const-квалификации. Например, имя переменной, параметра функции и т.п.

- Выражения ссылочных типов. non-modifiable в случае const-квалификации. В частности, результат вызова функций, возвращающих объекты по ссылке; выражения, состоящие из имен ссылочных переменных; операции преобразования к ссылочному типу и т.д.

- Результат встроенной операции разыменования (*) — lvalue указуемого типа; non-modifiable в случае const-квалификации.

- Результат встроенных префиксных операций ++, --.

- Имя функции — non-modifiable lvalue; может быть преобразовано к rvalue «указатель на функцию».

- Имя массива — non-modifiable lvalue; может быть преобразовано к rvalue «указатель на первый элемент массива».

- Строковые литералы — non-modifiable lvalue; может быть преобразовано к rvalue «указатель на char/wchar_t».

 

Типы данных.

Типы данных. В языке Си имеются два существенно различных типа данных: int- целый и float - вещественный(с плавающей точкой). Из них можно создавать еще два типа: char - символьный , double - вещественный с двойной точности.

Следует различать тип данных и модификатор типа.

Имеются следующие базовые типы:

- • char (символьный) – занимает 1 байт (8 бит) памяти

- • int (целый) – 2 байта

- • float (вещественный) – 4 байта

- • double (вещественный с двойной точностью) – 8 байт

- • void (пустой тип)

К модификаторам относятся:

- • unsigned (беззнаковый)

- • signed (знаковый)

- • short (короткий)

- • long (длинный)

Тип данных и модификатор типа определяют:

- - формат хранения данных в оперативной памяти (внутреннее представление данных)

- - диапазон значений в пределах которого может изменяться переменная

- - операции которые могут выполняться над данными соответствующего типа

Итак, к данным целого типа относятся следующие типы:

char, int, long int (2 байта), short int (4 байта). Модификаторы signed и unsigned могут предшествовать любому целому типу, но они не обязательны. Они указывают, как интерпретируется старший бит переменной. По умолчанию все переменные целого типа считаются signed, т.е. левый бит интерпретируется как знак.

К вещественным типам данных (с плавающей точкой) относятся:

float, double, long double (10 байт).

 

Функции

Функция - это самостоятельная единица программы, созданная для решения конкретной задачи. Функциями удобно пользоваться, например, если необходимо выполнить однотипные действия с одинаковым по типу набором данных.

Функции могут возвращать значение. Это значение может быть использовано далее в программе.

Использование функций позволяет:

- улучшить структуру текста программы;

- избежать дублирования кода.

 

Существует два типа функций:

Прямые (выполняют ряд действий и передают управление вызывающей функции);

2) рекурсивные (многократно вызывают "сами себя").

Пример рекурсивной функции:

int Factorial (int a)
{
if(a==a)
{
return 1;
}
else
{
int fact a=a factorial(a-1);
return fact;
}
}

 


Блоки кода программы.

Блоки кода служат для логического разделения областей программы. Блок кода выделяется в тексте фигурными скобками:

{

Блок кода

}

Могут содержать в себе вложенные Блоки кода.

{

Блок кода

{

Блок кода 1

}

}

 

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

Использование блоков кода позволяет графическую структуру программы сделать более читабельной.

Операторы языка C.

Арифметические операторы + - * …

1.1) % - остаток от целочисленного деления
int x=1, y=2, z;
z=x/y; //z=0
z=x%y; //z=1
z=3%5; //z=2

1.2)Инкремент – увеличение числа на единицу.
Декремент – уменьшение числа на единицу.

x=1;
y=x++; (y=x+1)
y++; (y=y+1)

префиксная запись y=x++
постфиксная запись y=++x

1) Оператор присваивания
x=выражение
a=b=c=d
a=(b=(c=d))

2) Логические операторы

true (!=0)
false (0)

3.1) Операторы отношения
< , <= , >=, >, = =, !=
3.2) Логические операторы
!, && , //

( и ) ( или)
if(year>14&&year<18)
if(t>36.7|| t<36 || p>140)

3) Тернарный оператор

Тернарный оператор «?:» является сокращенной формой конструкции if…else. Он получил такое имя потому, что включает в себя три операнда. Оператор вычисляет условие и возвращает одно значение в случае, если условие верно, и другое значение, если условие неверно. Синтаксис оператора:

условие ? значение_истина : значение_ложь

Здесь условие — это выражение типа Boolean, значение_истина представляет собой значение, которое возвращается, если условие равно true, и значение_ложь возвращается в противном случае.

 

4) Оператор запятая “ , ”
Группирует несколько выражений там, где компилятор ожидает одно.


1) int a=1, b=2, c;
c=a,b; //с=1
c=(a,b); //c=2
c=a++,b++ ; //c=1, a=2, b=3


2) if(std::cin>>x, x>0)
//вычисляет все, но формируется последняя

char symbol;
symbol=‘A’;
printf(“%c”, symbol);
char symb 1[10];
symb 1[0]=’s’;
symb 1[1]=’t’;
symb 1[2]=’u’;
symb 1[3]=’d’;
………………

Данные

 

Данные могут быть:

 

Целые числа;

Числа с плавающей точкой(арифметические типы данных). Служат для выполнения вычислений;

 

Int float double unsigned short long

Символы и строки;

char char[]

Логические;

bool

Символьные данные (литералы) – символ, пара символов или три символа, заключенные в кавычки.

 

ASCII (7-и битная кодировка)
0-127 символов
KOI-8
UNICODE 65535 символов

Строковые литералы – последовательность, заключенная в двойные кавычки символов.

const char[]

Перечисление.
enum
my_action =0
//плюс
=1
//минус
=2
//умножить
=3
//делить



<== предыдущая лекция | следующая лекция ==>
Каждая программа на С обязательно имеет функцию с именем main | Enum Action


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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