Проста програма
на С
Лекция 1
Една проста порграма на С
Следната програма е написана на език за
програмиране С:
#include <stdio.h>
main()
{
printf("Programming in C is easy.\n");
}
Резултат от изпълнението на програмата
Programming in C is easy.
Важно за програмите на С
В С се разграничават малките и големите символи и това е
много важно! Всички ключови думи на С трябва да се пишат с
малки букви.
Изпъленението на програми на С започва от главната функция
с име
main()
Кръглите скоби, които следват след ключовата дума main
показват, че тази функция не получава аргументи от друга
функция (това ще бъде изяснено по-късно). За сега нашите
програми ще се състоят само от една функция ( главната
функция main()).
Фигурните скоби { и } определят началото и края на
програмата т.е. заграждат операторите, от които се състои
програмата (а също и операторите, от които се състои всяка
функция или операторите от един блок – сложен оператор).
Целта на реда от програмата
#include <stdio.h>
е да позволи използването на библиотечната функция printf, която
показва на екрана текста, който е заграден в кавички.
printf("Programming in C is easy.\n");
Функцията printf се използва за показване на екрана на текст и на
стойности на променливи. Текстът, който трябва да се покаже се
поставя в кавички “”, и се принтира без промяна.
Има обаче някои изключения. Те се правят със символите \ и %.
Тези символи са модификатори и например \n означава
преминаване на нов ред след отпчатването на текста в кавичките.
Така нашата програма, която съдържа само един оператор,
отпечатва на екрана:
Programming in C is easy.
и курсорът се премества в началото на следващия ред.
Както ще видим по-нататък символът, който следва след \ ще
определя какво да се извърши, т.е. tab, clear screen, clear line и др.
Друга важна особеност, която трябва да се опитате да запомните
е, че всеки оператор на С и всяко извикване на функция
завършват с точка и запетая ;.
Обобщение на най-важните моменти до тук:
Изпълнението на програмата започва от main()
Ключовите думи се пишат с малки букви
Операторите завършват с точка и запетая ;
Текстовите стрингове се заграждат с кавички “”
С е чувствителен към малките и главни букви и трябва да се
опитате да пишете имената на променливите с малки букви.
\n означава курсорът да мине в началото на следващия ред.
printf() може да се използва за да покаже текст на екрана.
Фигурните скоби { } обределят началото и края на програмен
блок.
Какъв ще бъде резултатът от изпълнението на следната
програма:
#include <stdio.h>
main()
{
printf("Programming in C is easy.\n");
printf("And so is Pascal.\n");
}
А на тази програма:
#include <stdio.h>
main()
{
printf("The black dog was big. ");
printf("The cow jumped over the moon.\n");
}
Друга важна особеност на програмирането на С е, че
не е необходимо няколко пъти да извиквате
функцията printf, така че се опитайте да разберете
какво ще покаже следната програма на екрана:
#include <stdio.h>
main()
{
printf("Hello...\n..oh my\n...when do i stop?\n");
}
Променливи
С осигурява за програмистите четири основни типове
данни. Потребителят трябва да декларира променливите преди
да ги използва в програмата.
Да се декларират променливите означава да им се даде
име и да се определи какъв тип данни ще имат.
Опитайте се да свикнете да декларирате променливите
като използвате символите от долния регистър (малки букви).
Например променливите дадени по-долу имат едно и също име,
но са различни, защото едното име е зададено с главна буква, а
другото с малка:
sum
Sum
Декларацията на променливите се прави
след отварящата фигурна скоба на
функцията main():
#include <stdio.h>
main()
{
int sum;
sum = 500 + 15;
printf("The sum of 500 and 15 is %d\n", sum);
}
Резултат от изпълнението на програмата:
The sum of 500 and 15 is 515
Възможно е да декларирате променливите навсякъде в
програмата, но нека да започнем по най-простия начин и след
това да преминем към различните възможности.
Основният формат за деклариране на променливи е:
data_type var , var , ... ;
Където data_type е един от четирите базови типа: integer,
character, float или double.
Нашата примерна програма декларира променливата sum
да бъде от тип int (INTEGER). На променливата sum се
присвоява стойността на израза 500+15 като се използва
оператора за присвояване =.
sum = 500 + 15;
Нека сега да разгледаме по-подробно функцията printf(). В
този пример тя има два аргумента, които са разделени със
запетайка. Нека да разгледаме първият аргумент:
"The sum of 500 and 15 is %d \n"
Символът % е специален символ в С. Той се използва за
да покаже стойност на променливи. Когато се изпълнява
програмата, С започва да показва текста докато открие знакът
%. Ако той открие такъв символ, той проверява какъв е
следващия аргумент (в нашият случай това е sum), и показва
неговата стойност, след което продължава нататък.
Символът d, който следва след % означава, че се очаква
цяло число. Така, че когато компилаторът на С достигне до
символите %d, се взема стойността на следващия аргумент на
функцията printf() (в нашият случай това е стойността на
променливата sum, която е 515), и се показва на екрана.
Така изходът на тази програма е:
The sum of 500 and 15 is 515
Някои от форматиращите символи и идентификатори за тип
за функцията printf са:
Форматиращи символи за управление на курсора:
\n new line
\t tab
\r carriage return
\f form feed
\v vertical tab
Идентификатори за типа на данните за функция printf():
%d decimal integer
%c character
%s string or character array
%f float
%e double
Следващата програма извежда две цели числа разделени със
символ tab.
Това е направено като се използва форматиращия
идентификатор за управление на курсора \t.
#include <stdio.h>
main()
{
int sum, value;
sum = 10;
value = 15;
printf("%d \t %d\n", sum, value);
}
Изходът от програмата изглежда така:
10 15
Какъв ще е резултатът от изпълнението на следната програма?
#include <stdio.h>
main()
{
int value1, value2, sum;
value1 = 35;
value2 = 18;
sum = value1 + value2;
printf("The sum of %d and %d is %d\n", value1, value2, sum);
}
Забележете, че тази програма декларира три променливи, всички
от тип integer, на един ред за деклариране. Това може да се
направи на три отделни редове за деклариране ето така:
int value1;
int value2;
int value3;
Коментари
Добавянето на коментари в програмата е желателно.
Коментарите могат да се добавят към програми на С по
следния начин:
/* bla bla bla bla bla bla */
Забележете, че /* отваря полето за комернтар, а */ затваря
полето за коментар.
Коментарите могат да включват няколко последователни
реда.
Не може да се пишат вложени коментари!
/* this is a comment. /* this comment is inside */ wrong */
В този пример, първото срещане на */ затваря полето за
коментари за целия ред и означава, че текста wrong е оператор
на С или променлива, и в този пример ще се генерира
съобщение за грешка.
За какво се използват коментарите
За документиране на променливите и тяхното използване
За обясняване на трудни секции от кода
За описание на програмата, автора, датата, направените
модификации, направените тестове и др.
За посочване на авторските права за използване на
програмата.
Стил на подреждане на програмата на С
Когато пишат програми на С програмистите се придъжат към
следния стил на подреждане на отделните части на програмата:
/* ЗАГЛАВНА HEADER СЕКЦИЯ */
/* Съдържа name, author, revision number */
/* INCLUDE СЕКЦИЯ */
/* съдържа #include statements */
/* СЕКЦИЯ ЗА КОНСТАНТИ И ПРОТОТИПИ */
/* съдържа прототипи на функции и #defines */
/* СЕКЦИЯ ЗА ГЛОБАЛНИ ПРОМЕНЛИВИ */
/* всички глобални променливи се декларират тук */
/* СЕКЦИЯ ЗА ФУНКЦИИ */
/* съдържа функции дефинирани от потребителя */
/* main() СЕКЦИЯ */
int main()
{
}
Придържането към този стил на подреждане на секциите на
програмите е необходимо, защото:
така програмите са по-лесни за четене;
така програмите са по-лесни за модифициране;
програмите са съвместими относно своя формат;
програмите се самодокументират.
Още за променливите
Променливите трябва да започват с буква или
подчертаващо тире и може да бъдат следвани от
всяка комбинация от символи, подчертаващи тирета
или цифрите от 0-9.
Следва списък на валидни имена на променливи:
Summary
exit_flag
i
Jerry7
Number_of_moves
_valid_flag
Трябва да осигурите за вашите променливи
смислени имена. Причините за това са следните:
Смислените имена на променливите означават
самодокументиране на променливите (вие
виждате какво прави променливата още щом
прочетете името й).
Смислените имена са по-лесни за разбиране.
Смислените имена правят програмата по-лесна за
четене.
Защо са невалидни следните имена на променливи?
value$sum
exit flag
3lotsofmoney
char
Типове данни и константи
Четирите основни типa данни са:
Integer
Това са цели числа, положителни и отрицателни.
Поддържа се и тип unsigned integer ( само за положителните
цели числа). В допълнение има и short integers и long integers.
Ключовата дума, която се използва е:
int
Пример за цяло число е 32.
Пример за деклариране на целочислена променлива
наречена sum e:
int sum;
sum = 20;
FLOATING POINT
Това са дробни числа (с плаваща запетая), както положителни
така и отрицателни. Ключовата дума, която се използва за
дефиниране на променливи, които ще работят с дробни числа
е:
float
Пример за дробно число е 34.12.
Пример за деклариране на променлива за работа с дробни
числа с име money e:
float money;
money = 0.12;
DOUBLE
Това са експоненциални числа, както положителни
така и отрицателни (т.е. големи дробни числа).
Ключовата дума, която се използва за да се
дефинират променливи за работа с големи дробни
числа е:
double
Пример за експоненциално число е 3.0Е2. Пример за
деклариране на променлива от тип double наречена
big е:
double big;
big = 312E+7;
CHARACTER
Това са отделни символи (един символ). Ключовата дума, която
се използва за да се дефинират променливи от символен тип
(за работа със символи) е
char
Пример за символна стойност е буквата А. Пример за
деклариране на символна променлива (променлива от
символен тип или променлива за работа със символи) наречена
letter е:
char letter;
letter = 'A';
Забележете, че при присвояването на символа А на
променливата letter, символът се загражда с апостроф, (single
quotes).
Запомнете златното правило: Един символ – използва се
апостроф.
0 коментара
За да коментирате, трябва да сте влезли в профила си.
Влезте