Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:"— Μεταγράφημα παρουσίασης:

1 ΛΟΓ102: Τεχνολογία Λογισμικού Ι nickie@softlab.ntua.gr Διδάσκων: Νίκος Παπασπύρου http://www.softlab.ntua.gr/~nickie/TUC/log102/ 1Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Διαφάνειες παρουσίασης #2 4 Σχόλια 4 Εισαγωγή στις printf και scanf 4 Τελεστές και εκφράσεις 4 Εντολές και ροή ελέγχου

2 2Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Σχόλια  Μεταξύ /* και */ #include /* This simple program greets the world by saying "hello" */ void main () { printf( /* eh? */ "Hello world!\n"); } u Το παρακάτω είναι λάθος /* Nested /* comments */ are wrong! */

3 3Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Εκτύπωση με την printf u Απλοί τύποι δεδομένων int %d char %c double %lf string %s u Παράδειγμα printf("%d, %lf, %c, %s\n", 42, 1.2, 'a', "hello"); u Αποτέλεσμα 42, 1.200000, a, hello

4 4Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Εισαγωγή με την scanf u Ίδιοι κωδικοί για τους απλούς τύπους u Παράδειγμα int n; double d; char c; scanf("%d", &n); scanf("%lf", &d); scanf("%c", &c);

5 5Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Ένα πιο σύνθετο παράδειγμα #include void main () { int n; printf("Give me a number: "); scanf("%d", &n); printf("Here is the number: %d\n", n); printf("And its half: %lf\n", (double) n / 2); }

6 6Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Τελεστές και εκφράσεις(i) u Αριθμητικοί τελεστές +-*/%+-*/% u Σχεσιακοί τελεστές ==!=<> = u Λογικοί τελεστές && λογική σύζευξη(και) || λογική διάζευξη(ή) ! λογική άρνηση(όχι)  π.χ. (x % 3 != 0) && !finished

7 7Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Τελεστές και εκφράσεις(ii) u Τελεστές bit προς bit (bitwise) & σύζευξη bit(AND) | διάζευξη bit(OR) ^ αποκλειστική διάζευξη bit(XOR) ~ άρνηση(NOT) << ολίσθηση bit αριστερά >> ολίσθηση bit δεξιά u Παράδειγμα (0x0101 & 0xfff0) << 2  0x0400

8 8Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Τελεστές και εκφράσεις(iii) u Τελεστής συνθήκης (a >= b) ? a : b u Τελεστής παράθεσης a-1, b+5 u Τελεστές ανάθεσης a = b+1 a += x ισοδύναμο με a = a + x u Τελεστές αύξησης και μείωσης a++a-- τιμή πριν τη μεταβολή ++a--a τιμή μετά τη μεταβολή

9 9Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Eντολές και έλεγχος ροής(i) u Κενή εντολή ; u Εντολή έκφρασης a = b+5; a++; u Εντολή if if (a >= b) max = a; else max = b;

10 10Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Eντολές και έλεγχος ροής(ii) u Σύνθετη εντολή if (a >= b) { min = b; max = a; } else { max = b; min = a; }

11 11Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Eντολές και έλεγχος ροής(iii) u Εντολή while int i = 1, s = 0; while (i <= 10) { s += i; i++; } συνθήκη εντολή αληθής ψευδής while ( συνθήκη ) εντολή

12 12Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Eντολές και έλεγχος ροής(iv) u Εντολή do-while int i = 1, s = 0; do s += i++; while (i <= 10); συνθήκη εντολή ψευδής αληθής do εντολή while ( συνθήκη );

13 13Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Eντολές και έλεγχος ροής(v) u Εντολή for int i, s; for (i=1, s=0; i <= 10; i++) s += i; for ( αρχικοποίηση ; συνθήκη ; βήμα ) εντολή συνθήκη εντολή αληθής ψευδής βήμα αρχικοποίηση

14 14Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Eντολές και έλεγχος ροής(vi) u Εντολή break int s; for (i=0, s=0; i < 10; i++) { int x; scanf("%d", &x); if (x == 9999) break; s += x; } printf("Sum is: %d\n", s);

15 15Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Eντολές και έλεγχος ροής(vii) u Εντολή continue int s; for (i=0, s=0; i < 10; i++) { int x; scanf("%d", &x); if (x == 9999) continue; s += x; } printf("Sum is: %d\n", s);

16 16Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Eντολές και έλεγχος ροής(viii) u Εντολή switch char ch; switch (ch) { case 'a': printf("alpha\n"); break; case 'b': case 'c': printf("beta or c\n"); break; default: printf("other\n"); }

17 17Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Eντολές και έλεγχος ροής(ix) u Ετικέτες και εντολή goto int i = 1, s = 0; loop: s += i++; if (i < 10) goto loop; printf("The sum is %d\n", s); u Όχι goto: δομημένος προγραμματισμός!


Κατέβασμα ppt "ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google