Author Topic: Програмски јазик C  (Read 8648 times)

Offline Georgi

  • Стручњак
  • ***
  • Posts: 353
  • Gender: Male
Програмски јазик C
« Opened on 11.03.2010, Thursday, 10:40:50 (Edited 17.03.2010, Wednesday, 21:10:54) »
Еве нешто од мене што мислам дека би им било од корист на  почетниците со програмирањето, се надевам дека ќе ме разберите.

Како и секој друг програмски јазик и "C" има своја азбука која се состои од:
-Малите и големите букви на англиската азбука
-Цифрите 0,1,2..9
-Сите специјални знаци (-+“#%...
-Празно место "Space"

Во програмскиот јазик "C" има разлика дали ќе се користи мала или голема буква. Со комбинирање на знаците се добиваат зборови, односно наредбите на програмскиот јазик "C". Постојат резервирани зборови (If, else, int, char, float...) и кориснички имиња.

Правила за применување на променливите и константите
(променливите имиња-идентификатори)
-Неможат да почнуваат со број (2i)
-Можат да содржат број (h2o)
-Неможат да содржат аретметички оператори (g+c)
-Неможат да содржат интерпункциски знаци (#@x!!)
-Можат да содржат и почнуваат со долна црта (mal_broj)
-Не можат да бидат резервиран број (else)
-Не можат да содржат празно место
-Можат да содржат мали и големи букви

Основна структура на програма во C
#include <stdio.h>
main()
{
     наредби;
     наредби;
}


Првата линија во програмот #include <stdio.h> му кажува на компјутерот да ја повика, вклучи стандардната влесно-излезна библиотека. Функцијата main() го означува местото од каде почнува извршувањето на програмот. Ова значи дека секоја програма мора некаде да ја содржи main(). Блокот на наредби во "C" почнува со { а завршува со }.

Основни типови на податоци во "C"
Променливите и константите се основни облици на податоци со кои се работи во програмите. Константите се фиксни вредности што во текот на програмата неможат да се менуваат а променливите можат да добијат било која вредност од едно множество на вредности. Константите во програмскиот јазик C можат да се дефинираат во два начини. Првиот е со користење на резервираниот збор "const":
const int radius=5;
Вториот начин е со користење на:
#define MAX10
Наредбата #define слично и како #include мора да биде сместена пред main(). Вообичаено е константите дефинирани со помош на define да ги именуваме со големи букви.  Секоја променлива која се користи во програмот мора предходно да се декларира т.е. најави. Декларацијата содржи попис на променливи, им се одредува вредност. Во C програмскиот јазик постојат неколку основни типови податоци:
-char (знаковен тип)
-int (целоброен тип)
-float, double (реален тип)

Покрај овие постојат и квалификатори, кои се придружуваат на основните типови.
-short int
-long int
Со овај пример се дефинираат цели броеви со различна должина. Типот short воглано има 16 bit, типот long 32 bit,  па значи целобројниот тип податоци "int" може да има или 16 или 32 bit. Веќе спомнав дека сите променливи на почетокот мора да бидат декларирани. Пример:
{
char x;
int a,b,c;


Во програмскиот јазик C е карактеристично што променливите можат да бидат иницијализирани (да им биде зададено почетна вредност) во декларацијата. Пример:
int a=1, zbir=0;
char x='a';

Знаковен тип податоци (char)
Во променливата од тип char може да се смести еден знак од вкупно 256. Секој знак на тастатурата има единствен нумерички код ASCII. Со деклариранје на променливите ние резервираме простот во меморијата на компјутерот. При задавањето на вредности се користат апострофи.

Целоброен тип на податоци (int)
Променливите од бројот int претставуваат цели броеви но може да се случи на променлива од тип инт да се добие децимален број. Во тој случај на променливата и се доведува првиот цел број од променливата. Пример:
int b=4,3   /* b=4 */ -коментар

На променливата од тип int може да се додели и знак, во тој случај променливата го прима ASCII кодот од тој знак. Пример:
int b='A'  /* b=65 */

Променливите од тип int можат да се декларираат како short и long и како unsigned (пимаат само позитивни вредности) и signed (и позитивни и негативни). Кај signed еден bit e резервиран за предзнакот на бројот.

Реален тип податоци
Променливите од овај тип се декларирааат како float i double со таа разлика дека double користи повеќе bit  и со тоа се озвозможува поголем опсег и поголема точност при претставувањето реални броеви.



Испишување на податоци
Наједноставна метода е со користење на наредбата printf. За да може да се искористи оваа наредба мораме да ја вклучиме стандардната библиотека на функции #include <stdio.h>. Пример да се испише текст здраво:
printf("Zdravo!");
Текстот кој се испишува мора да се стави меѓу наводници.

Кога сакаме да испишеме вредност на некоја променлива во текстот мора да вклучиме одреден формат за променливата. Најчесто користени формати се:
Формати |  Tип
%d    -->   int
%c     -->  char
%f     -->   float
%lf     -->  double


Пример за испишување на променлива x од тип int:
printf("Vrednosta na X e %d",x)

Со една иста наредба можат да се испишат и повеќе променливи притоа за секоја променлива мора да се вклучи посебен формат.
Пример да се испишат три променливи, а од тип int, b од тип float и c од тип double.
printf("a=%d, b=%f, c=%lf",a,b,c);
За де се премине во нов ред при испишувањето во текстот го вклучуваме т.н. escape -> \n.
printf("a=%d, b=%f, c=%lf\n",a,b,c);
или
printf("a=%d\n b=%f\n c=%lf\n",a,b,c);

Escape карактери:

\n  -> Нов ред
\t   -> Хоризонтален табулатор
"   -> Испишува наводници
\   -> Испишува коса црта
'    -> Испишува апостров
a   -> Системско звонче

Внесување на податоци
Наједноставна метода е со користење наредбата scanf. Пример за наредба со која се внесува вредност за променливата a од тип int.
scanf("%d",&a);
И во оваа наредба мора да се зададе формат, а пред променливата мора да стои знакот & (ја одредува адресата на променливата). Пример да се направи програма која вчитува вредности за целобројните променливи а,b,c и ја прикажува следната порака на екран.
а=___cm    b=___mm
#include <stdio.h>
main()
{
int a,b;  /* Deklariranje na promenlivite */
printf("Vnesi 2 broja:");  /* Ispishuvanje poraka na ekran */
scanf("%d %d",&a,&b);  /* Vnesuvanje na vrednosti na promenlivite a i b*/
printf("a=%dkg  b=%d",a,b);  /* Ispishuvanje na krajnata poraka */
}


Offline Georgi

  • Стручњак
  • ***
  • Posts: 353
  • Gender: Male
Одг: Програмски јазик C
« Reply #1 on 13.03.2010, Saturday, 13:47:50 (Edited 17.03.2010, Wednesday, 22:04:32) »
Аритметичи оператори во C
Во C постојат 5 аритметички операции:
-множење *
-делење /
-остаток од делење %
-збир +
-разлика -

Ако во изразот имаме операнди од различен тип тогаш операндот од "послоб" тип се претвора во "појак" тип.
int-->float-->double
Операнди од одреден тип даваат резултати од истиот тип. Пример:
1. 3+4=7
2. 3.0+4=7.0
3. 3/4=0
4. 3.0/4=0.75
Во C програмскиот јазик аритметичките оператори можеме да ги комбинираме со операторот за доделување "=".

Со следниов пример се покажува како може некој израз да се напише со стратена варијанта:
x=x*y  -->  x*=y
x=x/y  -->  x/=y
x=x%y  --> x%=y
x=x+y  -->  x+=y
x=x-y  -->  x-=y

Пример.1: Да се направи програма со која ќе се испишат цифрите на еден трицифрен број и нивниот збир.

#include <stdio.h>
main()
{
int a,b,c,d,z;
printf("Vnesi eden tricifren broj:\n");
scanf("%d",&a);
b=a/100;
c=a%100/10;
d=a%100%10;
printf("Cifrite od ovaj tricifren broj se: %d, %d, %d \n",b,c,d);
z=b+c+d;
printf("Zboriot na cifrite e %d \n",z
}


Пример.2: Да се пресмета периметар на триаголник.

#inclide <stdio.h>
main()
{
int a,b,c;
printf("Vnesi gi stranite: ");
scanf("%d%d%d",&a,&b,&c);
z=a+b+c;
printf("Perimetarot e: %d",z);
}


Пример.3: Да се внесат минути и да се претворат во часови и минути.

#include <stdio.h>
main()
{
int a,h,m;
printf("Vnesi minuti: ");
scanf("%d",&a);
h=a/60;
m=a%60;
printf("%d",a," minuti se %d",h," casa i %d ",m," minuti");
}


Offline Georgi

  • Стручњак
  • ***
  • Posts: 353
  • Gender: Male
Одг: Програмски јазик C
« Reply #2 on 17.03.2010, Wednesday, 22:01:07 »
Релациски оператори

операција  /  симбол
помало  -->  <
поголемо еднакво  --> <=
поголемо  --> >
поголемо еднакво --> >=
еднакво --> ==
различно --> !=

-Во С не постојат логички типови податоци (boolean) - true / false
-Секоја вредност различна од 0 се третира како true
-Секоја вредност еднаква на 0 се третира како false

Логички оператори

операција / симбол
NOT  --> !
AND  --> &&
OR  --> ||

Примери:

!1=0
!0=1
0&&0=0
0&&1=0
1&&0=0
1&&1=1

0||0=0
0||1=1
1||0=1
1||1=1


-Приоритет во извршувањето на операциите од највисок до најнизок ранг
1.  ()  !
2.  *  /  %
3.  +  -
4.  < <= > >=
5.  ==  !=
6. &&
7. ||

Наредби за избор

1. IF наредба
Оваа наредба се користи кога сакаме да се изврши една или повеќе наредби доколку е исполнет одреден услов. Синтаксата е следна:

if (услов)
наредба;


Наредбата се извршува доколку условот е различен од 0 (true). Доколку треба да се извршат повеќе наредби истите ги ставаме меѓу блок { }.

Пример:
Да се испише апсолутна вредност на внесен број.

#include <stdio.h>
main()
{
int n;
printf("Vnesi eden broj: ");
scanf("%d",&n);
if (n<0)
n=-n;
printf("Apsolutna vrednost e: %d",n);
}


2.IF..ELSE наредба
Оваа наредба се користи за избор од две можности. Синтаксата е следна:

if (услов)
наредбаА
else
наредбаB;


Пример:
Да се провери дали внесениот број е парен или непарен.

#include <stdio.h>
main()
{
int n;
printf("Vnesi eden broj: ");
scanf("%d",&n);
if (n%2=0)
printf("\nBrojot e paren!")
else
printf("\nBrojot e neparen!");
}


Да се внесат 3 броја и да се испише најголемиот

#include <stdio.h>
main()
int a,b,c,m;
scanf("%d%d%d",&a,&b,&c);
if (a>b)
m=a
else
m=b;
if (m>c)
printf("Najgolem e: %d",m)
else
printf("Najgolem e: %d",c);
}


Доколку нешто не е јасно слободно може да прашате, колку што можам ќе појаснам. Ако не можите да најдете некој компајлер TURBO C, Dev C/C++ пишите ќе ви пратам. Следува уште...  ;)

Offline LadyEK

  • Нов член
  • *
  • Posts: 2
Одг: Програмски јазик C
« Reply #3 on 22.01.2014, Wednesday, 21:20:07 (Edited 22.01.2014, Wednesday, 21:35:19) »
Помош ве молам, ми требаат одговори на следниве прашања.Благодарам

Offline Devil

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 5329
  • Gender: Male
    • Македонски форум за електроника
Одг: Програмски јазик C
« Reply #4 on 22.01.2014, Wednesday, 21:26:26 »
Прво прочитај правила, се трудиме да пишуваме кирилица :D

Поголем дел од одговорите ќе ги најдеш тука
Code: [Select]
http://www.cplusplus.com
Jас не сум себичен, помагам. Помагај и ти !

Секоја куќа си има свои куќни правила.Почитувај ги куќните правила!

Offline LadyEK

  • Нов член
  • *
  • Posts: 2
Одг: Програмски јазик C
« Reply #5 on 22.01.2014, Wednesday, 21:31:27 »
Благодарам :)