AVR: märkmeid

Andmetüübid (data types)

ArduinoMINMAXBITTEBaite
int8_tchar-12812781
uint8_tunsigned char, byte025581
int16_tshort-3276832767162
uint16_t
unsigned short065535162
int32_tlong-21474836482147483647324
uint32_tunsigned long, double (Atmega)04294967295324
int64_tlong long−9,223,372,036,854,775,8089,223,372,036,854,775,807648
uint64_tdouble018,446,744,073,709,551,615648

Kommentaarid

Ühel real olev kommentaar:

// Kõik joonte taga on kommentaar

Mitmerealine kommentaar:

/* Kõik siin vahel on kommentaar. Ka mitmel real. */

Faili päis

Kõikide .c, .h ja .ino failide päisesse tuleks lisada info sell faili kohta, kes on autor ja mida kood teeb.

 /**
* File:        mingifail.c
* Author:      Minu Nimi
* Created:     19.01.2019
* Last edit:   27.01.2019
* Version: 01
*
* Description: Teeb seda mida vaja
*/

Muutujad

  • Muutuja nimi peaks kirjeldama sisu
  • Muutujad algavad väikse tähega
  • Mitmesõnaliste muutujate puhul algavad järgnevad sõnad suuretähega
  • Soovitatav on muutuja deklareerimisel anda talle algväärtus (Initializing).
int age; // Declaration
age = 6; // Assigning a value
int number = 10; // Initializing

Link: https://codingmeta.com/variables-c/

#define Makrod

  • Kirjutatakse suurtähtedega
  • Mitmesõnalised nimed kirjutatakse altkriipsuga

#define MAX_SIZE 6

Treppimine

  • Treppimine 1 võrra (Tab) on 4 tühikut
  • Üks koodirida ei tohiks ületada 80 tähemärki (loetavuse huvides)

Massiivid – Array

Ühe- ja kahemõõtmelise massiivi deklaleerimine:

char tect[3];
int table[8][8];

Teksti moodustamine märgimassiivist

text[0] = 'A';
text[1] = 'B';
text[2] = 0; //Teksti lõpetamise tunnus (null-bait)

Tabeli ühe elemendi muutmione:

table[4][3] = 2;

struct

Bool

Bool andmetüüp on pärit c++ keelest ja c-keeles see tegelikult puudub. Selle asemel on kasutusel täisarvud, kus 0 == FALSE ja iga muu arv TRUE.

Funktsioonid

  • Nimed algavad suure tähega
  • Nimed kirjutatakse kokku KaameliKüüruMeetodil
  • Iga funktsiooni defineerimisele eelneb kommentaar, mis sisaldab funktsiooni eesmärki, tööpõhimõtteid, piiranguid. Kui funktsiooni käigus muudetakse andmeid, mis pole funktsioonile lokaalsed, siis see tuleb samuti kirja panna.
/**
* Description:    midagi         
* Parameters:     min - integer, midagi
*                 max - integer,
* Return:         Returns an integer
*/

Kui funktsioon ei tagasta väärtust, on selle tüüp void.

void TeeMidagi(void) {
//midagi
}

Muuljuhul vastavalt tagastatavale väätusele.

int Sum(int a, int b)
{
return a + b;
}

whil

int x = 0;

while (x < 5)
{
x++;
}

for

x = 0;
for (int i = 0; i < 5; i++)
{
x += 2;
}

continue ja break

int x = 0;
int y = 0;

while(1) // Lõputu tsükkel
{
if (x >= 100) break; // Tsüklist väljutakse, kui x=100
x++;

// Kui x on 10 või vähem, siis alustatakse järgmist tsüklit
if (x <=) continue;
y++;
}

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.