русс | укр

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

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

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

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


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

Рекомендации по программированию.

1) Не забываете завершать комментарии.

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

а = 100; / * инициализация */

printf ( " % d, f ); /* значение 100 */

В этом случае оператор printf войдет в комментарии, чтобы этого не случилось надо так:

а = 100; / * инициализация * /

printf ( " % d ", a ); / * значением 100 * /

2) Комментарии не могут размещаться внутри оператора.

3) Пропуск; в конце простого оператора приводит к ошибке.

4) Каждая переменная программы должна быть определена, а перед использованием проиниацилизирована. Имена переменных должны раскрывать их назначения.

5) При написании программы используйте смещение ее текста для выделения конструкции языка.

6) Не размещайте в одной строке более одного оператора.

7) Не путайте операции = и = =. Первая операция присваивает выражению, стоящему справа, значение выражения, стоящему слева. Вторая операция дает значение истинно или ложь в зависимости от того, равны значения в левой и правых частях или нет.

Замечание:В C значению истинно соответствует не только единица, но и любое другое не нулевое значение. Использование операции = в операторе if приводит к ошибке.

Пример:

if (i = 5); /*Использование такого = приведет к ошибке*/

printf (...);

────────────────

if (i = = 5); /*Правильная запись*/

printf(...);

8) Не забывайте о приоритете операции. Используйте скобки для обеспечения выполнения правильной последовательности действий.

9) Не возможно определить порядок обработки операндов в коммутативных операциях.

Пример:

int Z = 1; x = 1;

Z = (x*5) + (x = 0/2);

В этом случае можем получить различные значения в зависимости от того, какое выражение в скобках будет вычисляться в первую очередь, т.к. * и / имеет одинаковый приоритет.

Во избежание 2-хсмысленности следует использовать промежуточную переменную.

int Z, t, x = 1;

t = x * 5;

Z = t + ((x = 10)/2);

Необходимо помнить, что при использовании операции && и || порядок обработки строго определен, операции имеют вид:

выражение && выражение

выражение || выражение

В логической операции " u " && операндами могут быть любые скалярные выражения. Операция выполняется слева на право. Сначала вычисляются выражения слева, если оно равно " 0 ", то выражение справа не вычисляется и результатом операции будет " 0 ". Если не равно нулю результат будет единица. В логической операции " или "|| операндами могут быть любые скалярные выражения. Сначала вычисляются выражения слева, если оно равно нуль, то выражение справа не вычисляется и результатом операции будет единица. В противном случае вычисляется выражение справа и если оно равно нулю результатом операции будет ноль. Если выражение справа не=0, то результат будет единица.

Пример:

if ( * p || * p ++ )

обращение по адресу

В выраженном виде: вначале вычисляется левое выражение, если оно имеет значение истинно или = 1, то второе выражение не вычисляется. Это правило не действует для побитовых операций ( &-и и || -или).10) Не забывайте разницу между префиксами (++а), или постфиксными (а++) операциями.

11)Операции увеличения и уменьшения.Префиксные операции изменяют значение переменной до ее использования, а постфиксные – после.

Операции увеличения и уменьшения нельзя применять к выражениям, их можно применять только к отдельным переменным.

12) Будьте внимательны при выполнении операции сдвига. Сдвиг вправо данного типа unsigned (безнак.) эквивалентен делению на степень числа два. Сдвиг влево аналогичен умножению на степень числа два.

13) Определяете размер данного с помощью операции sizeof. Для определения размера некоторого объекта часто применяют const, что снижает мобильность некоторых программ. Использование sizeof поможет решить эту проблему.

14) Иногда в операторах if-else происходят ошибки из-за неправильного использования в операторе if-else операции присваивания вместо операции проверки на равенство.

15) Функция scanf может использоваться для чтения строк из потока ввода, для чего надо указать спецификатор формата %s. Этот спецификатор доставляет функции scanf считать символы, пока не встретится специальный символ, прочитанные символы помещаются в массив символов, на который указывает соответствующий аргумент, и результат завершается нулевым символом.

Применительно к scanf специальные символы – это пробел, новая строка, табуляция, переход форматов.

Пример:

# include < stdio.h >

main ( )

{ char str [80]

printf (" Введите строку ");

scanf ( " % S ", str );

printf (" это Ваша строка: % S", str);

}

При вводе строки экономический _ факультет программа выдаст только слово экономический.

16) Для определения длин (числа символов в строке) используется библиотечная функция strlen (s).Необходимо учитывать, что строка представляет массив элементов, в конце которого помещается символ \0 (По умолчанию). Следовательно, число байтов необходимых для хранения строки на единицу превышает число используемых символов.

Пример:

# include < stdio.h >

main ( )

{ int i, j, c;

char s[40]

printf ("ввод строки \ n ");

do {

scanf (" % S, S); / * ввести строку S * /

for (i=0, j=strlen (S) - 1; i<j; i++,i--) {

c = S[i], S[i] = S[j]; S[j] = 0; }

printf (" % S \ n ", S); }

while ( S[0] = = '0');

}

Просмотров: 525


Вернуться в оглавление



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


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

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

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


 


Полезен материал? Поделись:

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

 
 

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