Συναρτήσεις της βιβλιοθήκης math.h h (1/5) int abs( int x ), επιστρέφει την απόλυτη τιμή του ακεραίου x Πχ abs( 11) ισούται με 11, abs(34) ισούται με 34 double fb( fabs( double x ), επιστρέφει την απόλυτη τιμή του πραγματικού x Πχ fabs( 3.15) ισούται με 3.15, fabs(7.9) ισούται με 79 7.9
Συναρτήσεις της βιβλιοθήκης math.h h (2/5) double ceil(double x), στρογγυλοποιεί προς τα πάνω τον x Πχ ceil(3.12) ισούται με 4 double floor(double x), ) στρογγυλοποιεί προς τα κάτω τον x Πχ floor(3.12) ισούται με 3
Συναρτήσεις της βιβλιοθήκης math.h h (3/5) double sqrt(double x), επιστρέφει την τετραγωνική ρίζα του x Πχ sqrt(81) επιστρέφει 9 double pow(double x, double y), επιστρέφει το x εις την y Πχ pow(2, 3) επιστρέφει 8
Συναρτήσεις της βιβλιοθήκης math.h h (4/5) double cos(double x), επιστρέφει το συνημίτονο x [ 1,1], το x εκφράζει τη γωνία Πχ cos(3.1415) ισούται με 1 double sin(double x), επιστρέφει το ημίτονο x double tan(double x), επιστρέφει την εφαπτομένη x
Συναρτήσεις της βιβλιοθήκης math.h h (5/5) double exp(double x), επιστρέφει το e εις την x double log(double x), επιστρέφει το λογάριθμο με βάση e του x double log10(double x), επιστρέφει το λογάριθμο με βάση 10 του x
Παράδειγμα (1/2) #include <stdio.h> #include <stdlib.h> #include <math.h> main(){ double a,result; printf( Input double\n ); printf( Input double\n ); scanf("%lf",&a);
Παράδειγμα (2/2) // υπολογισμός τετραγώνου του a result = pow(a,2.0); printf( Result of a to 2 power is:%f\n,result); system( pause ); return 0; }
Άσκηση 5 Γράψτε ένα πρόγραμμα που να υπολογίζει και να τυπώνει το εμβαδό ενός τριγώνου με πλευρές a,b,c. Το εμβαδό υπολογίζεται από τον τύπο: E = sqrt(s*(s a)*(s b)*(s c)) Όπου s = (a + b + c)/2
Άσκηση 5 Λύση (1/2) #include <stdio.h> #include <stdlib.h> #include <math.h> main() { double a,b,c,s,e; //Δηλώσεις μεταβλητών // 1. Μήνυμα αίτησης προς τον χρήστη printf("input triangle sides\n"); // 2. Ανάγνωση πλευρών και αποθήκευση στις αντίστοιχες // 2. Ανάγνωση πλευρών και αποθήκευση στις αντίστοιχες μεταβλητές scanf("%lf %lf %lf",&a,&b,&c);
Άσκηση 5 Λύση (2/2) // 3. Πράξεις υπολογισμού εμβαδού s = (a + b + c)/2; E = sqrt(s*(s a)*(s b)*(s c)); )) // 4. Εκτύπωση αποτελέσματος printf("emvado:%lf\n",e); } system("pause"); return 0;
Άσκηση 6 Να γραφτεί ένα πρόγραμμα το οποίο να διαβάζει το μήκος των κάθετων πλευρών ενός ορθογωνίου τριγώνου και να υπολογίζει και να τυπώνει το μήκος της υποτείνουσας
Άσκηση 6 Λύση (1/2) #include <stdio.h> #include <stdlib.h> #include <math.h> main() { double a,b,ypoteinousa; //Δηλώσεις μεταβλητών // 1. Μήνυμα αίτησης προς τον χρήστη printf("input triangle sides\n"); // 2. Ανάγνωση πραγματικών scanf("%lf %lf",&a,&b);
Άσκηση 6 Λύση (2/2) /* 3. Υπολογισμός υποτείνουσας. Αντί να χρησιμοποιήσω ενδιάμεσες μεταβλητές για την αποθήκευση του τετραγώνου κάθε πλευράς, μπορώ να χρησιμοποιήσω κατ ευθείαν την τιμή που επιστρέφεται από τη συνάρτηση τετραγώνου pow */ ypoteinousa = sqrt(pow(a,2)+pow(b,2)); // 4. Εκτύπωση του αποτελέσματος printf("ypoteinousa:%f\n",ypoteinousa); } system("pause"); return 0;
Τύπος Δεδομένων char Οι χαρακτήρες αποθηκεύονται σαν διαδοχικοί ακέραιοι πχ Char ASCII code a 97 b 98 c 99 A 65 B 66 C 67
Άσκηση 7 char Γράψτε ένα πρόγραμμα που να ζητά από το χρήστη να δώσει ένα χαρακτήρα και στη συνέχεια να εκτυπώνεται ο χαρακτήρας και ο ASCII κωδικός του, καθώς και να υπολογίζεται και να εκτυπώνεται και ο επόμενος χαρακτήρας και ο ASCII κωδικός του.
Δεδομένα Δεδομένα: χαρακτήρας που δίνεται από το χρήστη Δεδομένα προς υπολογισμό: ο επόμενος χαρακτήρας
Άσκηση 7 char Βήματα υπολογισμού (1/4) Βήμα 1 : Ζητά από το χρήστη να δώσει 1 χαρακτήρα > 1. Εντολή εκτύπωσης αίτησης προς το χρήστη > συνάρτηση εκτύπωσης συμβολοσειράς 2. Διάβασμα του χαρακτήρα που έδωσε ο χρήστης και αποθήκευση σε μια μεταβλητή > συνάρτηση εισόδου με χρήση προσδιοριστή ανάγνωσης χαρακτήρα
Άσκηση 7 char Βήματα υπολογισμού (2/4) Βήμα 2 : Εκτύπωση του χαρακτήρα (σε μορφή χαρακτήρα και σε μορφή ASCII κωδικού) ) > συνάρτηση εξόδου για εκτυπώσεις μεταβλητών με χρήση κατάλληλων προσδιοριστών
Άσκηση 7 char Βήματα υπολογισμού (3/4) Βήμα 3 :Υπολογισμός επόμενου χαρακτήρα > εντολή καταχώρησης ηςπαράστασης που θα υπολογιστεί, σε νέα μεταβλητή
Άσκηση 7 char Βήματα υπολογισμού (4/4) Βήμα 4 : Εκτύπωση του επόμενου χαρακτήρα (σε μορφή χαρακτήρα και σε μορφή ASCII κωδικού) > συνάρτηση εξόδου για εκτυπώσεις μεταβλητών με χρήση κατάλληλων προσδιοριστών
Άσκηση 7 char Λύση (1/2) #include <stdio.h> #include <stdlib.h> main() { char a, a_next; //Δηλώσεις μεταβλητών //Βήμα 1 printf( Input character\n ); scanf( %c,&a); // Προσοχή στο &.. //Βήμα 2 printf( Input tcharacter is: %c, with ASCII code: %d\n,a,a);
Άσκηση 7 char Λύση (2/2) //Βήμα 3 a_next = a + 1; //Βήμα 4 printf( Next character is:%c with ASCII Code:%d,a_next,a_next); anextanext); //Συνάρτηση παγώματος οθόνης system( pause ); //Συνάρτηση επιστροφής return 0; }
Πράξεις με Χαρακτήρες Οι χαρακτήρες 0 έως 9, αποθηκεύονται ως διαδοχικοί ακέραιοι (ASCII). Πώς μετατρέπω έναν χαρακτήρα στον αντίστοιχο ακέραιο; 8 0 ισούται με 8 Πώς μετατρέπω ένα «πεζό» γράμμα στο αντίστοιχο κεφαλαίο Α a + pezo
Άσκηση 8 Φτιάξτε ένα πρόγραμμα που να διαβάζει 2 χαρακτήρες και να τυπώνει το ακέραιο άθροισμά των ψηφίων τους. Πχ αν ο χρήστης πληκτρολογήσει 4 6 Θα πρέπει να εκτυπωθεί ο ακέραιος 10.
Άσκηση 8 Λύση (1/2) #include <stdio.h> #include <stdlib.h> main(){ char oros1, oros2; int athroisma; //Δηλώσεις μεταβλητών // Μήνυμα ήυμααίτησης printf("input 2 digits \n"); // Διάβασμα και αποθήκευση στις μεταβλητές scanf("%c %c",&oros1, &oros2);
Άσκηση 8 Λύση (2/2) /* Υπολογισμός ακεραίων και καταχώρηση αθροίσματος */ athroisma = oros1 '0' + oros2 '0'; printf("sum is : %d\n", athroisma); system("pause"); return 0; }
Συναρτήσεις χαρακτήρων (1/2) Είσοδος: char a; scanf( %c,&a); Εναλλακτικά μπορεί να χρησιμοποιηθεί η a = getchar();
Συναρτήσεις χαρακτήρων (2/2) Έξοδος: char a = q ; printf( Character is : %c,a); Εναλλακτικά μπορεί να χρησιμοποιηθεί η putchar(a);
Άσκηση 9 Επαναλάβετε την άσκηση 7 με χρήση των getchar, putchar
Συναρτήσεις βιβλιοθήκης ctype.h, για επεξεργασία χαρακτήρων (1/4) int isdigit(char c), επιστρέφει μη μηδενική τιμή αν το c είναι ψηφίο, διαφορετικά επιστρέφει 0 Πχ isdigit( a ) isdigit(a), επιστρέφει 0 int isalpha(char c), επιστρέφει μη μηδενική τιμή αν το c είναι γράμμα, διαφορετικά επιστρέφει 0
Συναρτήσεις βιβλιοθήκης ctype.h, για επεξεργασία χαρακτήρων (2/4) int islower(char c), επιστρέφει μη μηδενική τιμή αν το c είναι πεζό, διαφορετικά επιστρέφει 0 Πχ islower( C ) C ), επιστρέφει 0 Int isupper(char c), επιστρέφει μη μηδενική τιμή αν το c είναι κεφαλαίο, διαφορετικά επιστρέφει 0
Συναρτήσεις βιβλιοθήκης ctype.h, για επεξεργασία χαρακτήρων (3/4) char tolower(char c), επιστρέφει το χαρακτήρα c σε πεζό Πχ tolower( C ), επιστρέφει c char toupper(char (h c), επιστρέφει το χαρακτήρα c σε κεφαλαίο
Συναρτήσεις βιβλιοθήκης ctype.h, για επεξεργασία χαρακτήρων (4/4) isspace(char c), επιστρέφει μη μηδενική τιμή αν το c είναι κενός ςχαρακτήρας ς( (whitespace), διαφορετικά επιστρέφει 0 Πχ isspace( ), επιστρέφει 8 ispunct(char c), επιστρέφει μη μηδενική τιμή αν το c είναι χαρακτήρας στίξης, διαφορετικά επιστρέφει 0