Presentation laddar. Vänta.

Presentation laddar. Vänta.

F2 1 Programmeringsteknik, 4p vt-00 Kommentarer Allt mellan /* och */ Varje kommentar byts ut mot en blank av kompilatorn /* Exempel på uttryck, tilldelningsoperatorn.

Liknande presentationer


En presentation över ämnet: "F2 1 Programmeringsteknik, 4p vt-00 Kommentarer Allt mellan /* och */ Varje kommentar byts ut mot en blank av kompilatorn /* Exempel på uttryck, tilldelningsoperatorn."— Presentationens avskrift:

1 F2 1 Programmeringsteknik, 4p vt-00 Kommentarer Allt mellan /* och */ Varje kommentar byts ut mot en blank av kompilatorn /* Exempel på uttryck, tilldelningsoperatorn och kommentarer*/ #include int main(void) { int x,y; x = 7; /* x får värdet 7 */ y = 3; /* y får värdet 3 */ x = 2*y; /* x får värdet 6 */ y = 5; /* y får värdet 5, x påverkas ej */... }

2 F2 2 Programmeringsteknik, 4p vt-00 Identifierare Får innehålla siffror, bokstäver (A..Z, a..z) och _ Måste inledas med bokstav (A..Z, a..z) eller _ Antalet särskiljande tecken varierar, i ANSI-C minst de 31 första Identifierare som inleds med _ används i stort sett uteslutande för systemprogramändamål Nyckelorden reserverade identifierare som ej kan omdefinieras.

3 F2 3 Programmeringsteknik, 4p vt-00 Strängkonstanter Omges av dubbelsnuttar ”hejsan” ’a’ ≠ ”a”

4 F2 4 Programmeringsteknik, 4p vt-00 Operatorer & skiljetecken Aritmetiska operatorer (% resten vid heltalsdivision) % kontextberoende int a=0;b=7; printf(”a=%i och b=%i”,a,b); a = b%3; Operatorer, skiljetecken och blanktecken separerar element i språket

5 F2 5 Programmeringsteknik, 4p vt-00 Prioritetsordning I vilken ordning ett uttryck evalueras Parenteser bryter denna ordning Associativiteten avgör ordningen vid lika prioritet

6 F2 6 Programmeringsteknik, 4p vt-00 ++ & -- Unära operatorer för att öka resp. minska med ett Både post- och prefix (ex. sid 85) Bör användas mycket försiktigt!

7 F2 7 Programmeringsteknik, 4p vt-00 Tilldelningsoperatorn Lägst prioritet Associerar höger-vänster Variabel på vänster sida Uttryck på höger sida (Obs! typerna)

8 F2 8 Programmeringsteknik, 4p vt-00 #include alla rader som inleds med # är direktiv till preprocessorn include fungerar som ”klistra in”/paste i ett ordbehandlingsprogram Primära syftet är att tillhandahålla funktionsprototyper i t.ex. stdio.h finns bl.a. följande prototyper : extern int printf (const char *format,...); extern int scanf (const char *format,...); Koden för dessa funktioner är redan kompilerad och läggs till i ett senare skede

9 F2 9 Programmeringsteknik, 4p vt-00 Datatyper Värdemängd [-128,…,127] (konstanter) Operationer [+,- *,/,%….] Relationer [,<=,….] Egenskaper [udda,jämna]

10 F2 10 Programmeringsteknik, 4p vt-00 Datatyper Minnet uppbyggt av bytes (8 informationsbitar) Varje byte finns i en minnesadress I en byte lagras ett bitmönster Hur skall ett bitmönster tolkas? Positivt binärt tal (0..255) Binärt tal med tecken (-128..+127)

11 F2 11 Programmeringsteknik, 4p vt-00 Datatyper i C

12 F2 12 Programmeringsteknik, 4p vt-00 forts. datatyper

13 F2 13 Programmeringsteknik, 4p vt-00 Mer än en byte unsigned måste anges, men signed är automatisk Flyttal –float –double –long double Tecken –Char

14 F2 14 Programmeringsteknik, 4p vt-00 Tecken & typen char Alla uppräkningsbara typer (integral type) är heltal Alla sådana kan anv. för att representera tecken ’4’, ’.’, ’ä’… En variabel av typen char kan lagra ett litet heltal (1 byte - men längden odef. I C) Oftast 8 bitar ->256 distinkta värden ASCII - numrering av teckenuppsättningen (app. D s.703)

15 F2 15 Programmeringsteknik, 4p vt-00... & typen char Variabler av typen char, kan delta i aritmetiska ber. char c; c = ’5’; printf(”%i %i %i”,c,c+1,c+2); I utskrifter kan man välja format, och få antingen ASCII- värdet eller tecknet

16 F2 16 Programmeringsteknik, 4p vt-00 exempel /* * testar fenomenet med tecken som heltal */ #include int main(void) { unsigned char c = 'z'; /* med unsigned fungerar det!! */ printf(”I ASCII-tabellen ? z -> %c %c %c \n\n",c+1,c+2,c+3); c = ’å’; printf("ord('å')=%u ",c); c = ’ä’; printf("ord(’ä')=%u ",c); c = ’ö’; printf("ord(’ö')=%u ",c); return 0; } På min Mac!

17 F2 17 Programmeringsteknik, 4p vt-00 Heltal & flyttal int är den ”normala” heltalstypen (char, short, long, unsigned) Suffix används för att ange heltalstypen för en konstant (u,l,ul) Flyttalstyperna: float, double, long double (double default för konstanter)

18 F2 18 Programmeringsteknik, 4p vt-00 Representation av flyttal Normaliserat Signifikanta siffror Exponentdel

19 F2 19 Programmeringsteknik, 4p vt-00 Operatorn sizeof För att ta reda på hur många bytes som reserverats för ett objekt –typer –variabler –uttryck Garanterat att char ≤ short ≤ int ≤ long float ≤ double ≤ long double

20 F2 20 Programmeringsteknik, 4p vt-00 getchar & putchar Används för att läsa resp. skriva ett tecken i taget EOF definieras i stdio se ex. s.124

21 F2 21 Programmeringsteknik, 4p vt-00 Matematiska funktioner Finns i bibliotek Inkluderas med #include math.h Argumentet & resultatet av typen double int abs(int) (i stdlib.h) double fabs(double) (i math.h)

22 F2 22 Programmeringsteknik, 4p vt-00 Typkonvertering Flera slag av implicit konv. i uttryck cast - explicit konvertering (typ) Obs! cast operatorn är unär och har samma prioritet som övriga unära op.


Ladda ner ppt "F2 1 Programmeringsteknik, 4p vt-00 Kommentarer Allt mellan /* och */ Varje kommentar byts ut mot en blank av kompilatorn /* Exempel på uttryck, tilldelningsoperatorn."

Liknande presentationer


Google-annonser