it-place.net > Уроци > C-Cplusplus
Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Изучаване на основните понятия в С
  1. Изучаване на основните понятия в С
napster
     
Автор  napster (13.06.2008 09:47)  съобщение до автора
Погледнат  2382 пъти  добави към любими
Оценка  добави коментар
Гласове  2  изпрати на приятел
Коментари  (2)  абонирай се за C-Cplusplus
    Страница 1 / 1

 



Този урок има за цел да напълно неоппитните с много малка част от програмирането на С. След разбира се като сте прочели Започване на програмиране под С/С++, компилатори, редактори , разбрали сте че при писането на С, написаният сорс код трябва да се компилира за да работи програмата, и горе долу сте усмислили дадените там компилатори. Сега вече ги знаете като имена! Тези компилатори които са показани в Започване на програмиране под С/С++, компилатори, редактори , работят под Windows.
 
Ще разгледаме тази програма:
CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/*Име на файла: C2FIRST.C Начална програма на С,
   която демонстрира коментарите на С и показва
   няколко променливи и техните декларации*/

#include <studio.h>
 
main ()
  {
   
int i, j; /* Тези три реда декларират
                 четири променливи */
   
char c;
   
float x;
   
i = 4; /* На i и j се присвояват
              целочислени стойност */
   
j = i + 7;
   
c = 'A'; /* Всички знакови константи
                се ограждат в апострофи */
   
x = 9.087; /* x изисква за стойност,
                  число с плаваща запетая, тъй
                  като е дакларирана като променлива
                  с плаваща запетая */
   
x = x * 4.5; /* Променя с формула
                    това което е в x */
   
printf("%d %d %c %f", i, j, c, x) /* Изпраща стойностите
                                         на променливите към екрана */
   
return 0; /* Завършва програмата
                 и функциите с return */
 
}

Така изглежда горе долу една програма на С. Сега след като имаме примерния код на една програма на С, сега вече можем да я разбием на части за да се получи самото обяснение по-ясно за неопитните.
Започвам обяснението:


      /* Име на файла: C2FIRST.C Начална програма на С,
      която демонстрира коментарите на С и показва
      няколко променливи и техните декларации*/

 Това нещо(така ще наричам от тук на татък всяко ново нещо, което се предполага че го чувате за пръв път) се нарича коментар. Така написан коментара е от старият вариан, който за мен лично е по удобен. Обяснавям защо:
Коментарите в С могат да се пишат по два начина:

Вариант 1: /*коментар*/
Вариант 2: //коментар

Предполагам възникна въпроса „Каква е разликата?”:
Разликате е в това, че единият (Вариант 1) може да се пише на няколко реда, докато другият (Вариант 2) може да се пише само на един ред. Това разбира се не пречи при писането на код да се смесват коментарите. При първият вариант (който аз го предпочитам повече), повечето програмисти забравят да приключат коментара. При мен рядко се случва защото съм си настроил синтаксиса на С (т.н. ярки оцветявания) и разбирам кога не съм го затворил.
От друга страна новият стил наложи по малко въеждане (писане на код). Описаният по горе коментар би изглеждал нещо такова в новият стил:

1. //Име на файла: C2FIRST.C
2. //Начална програма на С, която демонстрира коментарите на С
3. //показва няколко променливи и техните декларации


При писането или четенето на код, в програмите ще срешнето много други коментари.


Минаваме към следващата част на урока – ФУНКЦИИТЕ:

main()
{


Така започва точно тази функция. Отварящата и затварящата фигурна скоба на функцията main() ограждат самото тяло на тази програма. Повечето програми на С съдържат и повече от една функция, но винаги самата програма трябва да съдържа тази функция. Естесвено не е нужно тази функция да бъде първата, но в повечето случай е.
Първата фигурна скоба е отваряща и започва от първият и единствен блок на тази програма. Когато програмата се компилира, компилаторът търси тази фигурна скоба на функцията [main()], като започва последователно изпълнение на инструкциите от програмата. При компилирането основната задача на компилатора е да провери главно синтаксиса и семантиката на написаната програма.

Следват променливите:

    int i, j; /* Тези три реда
              декларират четири променливи */
    char c;
    float x;


Декларацията на променливите описва всички променливи, които са изпползвани в блока.
Виждате как съм сложил коментара.
Много е вайно да се има на предвид, че всички програми на С включват:
-    Данни;
-    Команди;
Всички данни са съставени от променливи и константи. Както ясно се разбира променливата се променя, а константата не. Сега няма да се спираме на тези понятия, защото ще ги разгледаме в дру урок. Константа в С е всако число, дума, знак или фраза.

Кнстантите в тази програма са:

    4
    7
    'A'
    9.087
    4.5


Обяснение на променливите:
Пре спокойно можете да имате колкото си искате променливи в програмата, за да можете да съхранявате данните който се променят в нея. Променливите имат имена, за да може да се разграничават. За просвояване на стойност се използва знака за присвояване (= - равно) в някаква конструкция.

Пример:

Sales = 25 000

С този пример ние поставяме константата 25 000 в променливата Sales. В примерната програма по-горе има следните променливи:

i
j
c
x


Трите реда код след фигурната скоба в тази програма, декларират тези променливи. Декларацията на променливита позволява на остатъка от програмата да знае, че в нея ще се появяват две целочислени променливи(i, j), както и знакова променлива(c). Декларирана е променлива за числа с плаваща запетая(x).

Присвояването на стойнст, може да се види в следващите редове:

    i = 4; /* На i и j се присвояват
              целочислени стойност */
    j = i + 7;
    c = 'A'; /* Всички знакови константи
                се ограждат в апострофи */
    x = 9.087; /* x изисква за стойност,
                  число с плаваща запетая, тъй
                  като е дакларирана като променлива
                  с плаваща запетая */
    x = x * 4.5; /* Променя с формула
                    това което е в x */


Въпреки, че математическите оператори(+-*/) са от дясната страна на знака(=), то абсолютно винаги изчисленията се извършват преди да се осъществи самото присвояване.
Следващият ред включва специалната и първоначално много объркваща конструкция:

printf("%d %d %c %f", i, j, c, x) /* Изпраща стойностите
                                         на променливите
                                     към екрана */



Когато програмата се изпълни и стигне до този ред, тя отпечатва съдуржанието на четирите променливи на екрана. Не изписва ("%d %d %c %f", i, j, c, x) въпреки че изглежда че така го прави. Това се нарича форматиращ низ. Тези неще ще ги разгледаме в следващите уроци.
Това е единственият  (printf) в тази програма за това е единственият възможен изход.
Много е важно да запомните че това не е команда. В езика С няма команди за вход и изход. Просто (printf)  е вградена функция. Всички имена на функции в С имат следващи ги кръгли скоби().

Последните няколко реда:

return 0; /* Завършва програмата
                 и функциите с return */
  }


К онструкцията (return) проста казва на С, че тази функция е свършила. В действителност конструкцията (return) не е задължителна в езика С. С ще знае кога е свършила програмата, но е добра практика да го има в кода (в края на функцията).
След (return) е затварящата фигурна скоба на функцията [main()]. Тя сигнализира за края на блока, започнал в началото на програмта.


Надявам се урока да Ви е полезен!!!



   


Ключови думи: основни понятия в С функция математически оператори програмиране под С компилатор програмен език C


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 За автора: napster  
Доста чета. Всякакви глупости. Интерсувам се от програмиране! Абе до каквото се докопам!!! Спортувам, но не прекалявам.
   
 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

Ами че то си е написано!

  napster на 25.09.2008 07:57

какво означава %d %d %c %f..?

  dani_el_ на 22.09.2008 14:46

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008