ΑΣΚΗΣΗ 2: ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΣΤΗ C

Σχετικά έγγραφα
ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Ανάπτυξη και Σχεδίαση Λογισμικού

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

Η γλώσσα προγραμματισμού C

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Εργαστήριο 2. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Δομημένος Προγραμματισμός (ΤΛ1006)

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C

Εισαγωγή στον Προγραμματισμό

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Τύποι Δεδομένων Είσοδος/Έξοδος

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Διαδικασιακός Προγραμματισμός

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2

Εξοικ Εξ ε οικ ίωση ε με το το πρόγ ραμμα πρόγ DEV C++ Επικοι Επικ νωνία οι Χρήσ Χρήστη τη Υπολ Υπο ογισ λ τή

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

Διαδικασιακός Προγραμματισμός

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Διαδικασία Ανάπτυξης Λογισμικού

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

Προγραμματισμός Ι (ΗΥ120)

scanf() scanf() stdin scanf() printf() int float double %lf float

Προγραμματισμός Η/Υ (ΤΛ2007 )

Δομημένος Προγραμματισμός (ΤΛ1006)

Προγραμματισμός Ι (ΗΥ120)

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός I (Θ)

Προγραμματισμός Η/Υ (ΤΛ2007 )

Δομημένος Προγραμματισμός (ΤΛ1006)

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

Βασικές Αρχές Προγραμματισμού

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

7. Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου

Προγραμματισμός Ι (ΗΥ120)

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα

Δομημένος Προγραμματισμός

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

Προγραµµατισµός Ι (ΗΥ120)

Διαδικασιακός Προγραμματισμός

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2

printf Οι κωδικοί (format codes) του printf για διάφορους τύπους δεδοµένων είναι:

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Η δήλωση πού δηµιουργεί αποθήκευση τών δεδοµένων ονοµαζεται ορισµός τής µεταβλητής.

TMHMA TEXNΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛ/ΝΙΩΝ Προγραμματισμός Ι ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ , Α ΕΞΑΜΗΝΟ Βασίλης Μποζαντζής. Βασίλης Μποζαντζής

ΑΣΚΗΣΗ 5: ΠΙΝΑΚΕΣ. Σχήµα 1: H έννοια των πινάκων

Προγραμματισμό για ΗΜΥ

Προγραμματισμός Η/Υ (ΤΛ2007 )

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

επιµέλεια Θοδωρής Πιερράτος

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 2 Ο. Εισαγωγή στην C Εντολές εξόδου Εντολές εισόδου Μορφοποιητές ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Η γλώσσα προγραμματισμού C

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

Προγραμματισμός Υπολογιστών με C++

Εισαγωγή στον Προγραμματισμό

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η γλώσσα προγραμματισμού C

Δομημένος Προγραμματισμός (ΤΛ1006)

Προγραμματισμό για ΗΜΥ

ΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ. Σκοπός της Άσκησης. 1. Εισαγωγικά στοιχεία για τους Δείκτες

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

5 &6. Τύποι δεδομένων, τελεστές και

Κεφάλαιο , 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Δομημένος Προγραμματισμός

Ινστιτούτο Επαγγελµατική Κατάρτιση Κορυδαλλού "ΤΕΧΝΙΚΟΣ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" (Ερωτήσεις Πιστοποίησης στην γλώσσα προγραµµατισµού C)

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Δομημένος Προγραμματισμός (ΤΛ1006)

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Διαδικασιακός Προγραμματισμός

Η γλώσσα προγραμματισμού C

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Εισαγωγή στη γλώσσα προγραμματισμού C++

Δομημένος Προγραμματισμός (ΤΛ1006)

Περιεχόμενα. Πρόλογος... 21

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΚΑΙ ΠΙΝΑΚΕΣ

Transcript:

Σκοπός της Άσκησης ΑΣΚΗΣΗ 2: ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΣΤΗ C Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας Προγραµµατισµού C: τη δοµή των προγραµµάτων της, τους βασικούς τύπους δεδοµένων που υποστηρίζει και τις βασικές εντολές εισόδου/εξόδου. 1. ΟΜΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗ C 1.1 Εισαγωγή Η Γλώσσα Προγραµµατισµού C, όπως και κάθε άλλη δοµηµένη γλώσσα, απαιτεί τα προγράµµατα της να έχουν µια συγκεκριµένη δοµή. Η δοµή αυτή βοηθά ουσιαστικά το χρήστη στην ανάπτυξη των προγραµµάτων. Μια σωστή δοµή προγράµµατος προϋποθέτει το σωστό σχεδιασµό της εφαρµογής για την οποία προορίζεται. Πριν παρουσιάσουµε τη δοµή του προγράµµατος, αξίζει να αναφέρουµε ότι η γλώσσα C ξεχωρίζει τους πεζούς από τους κεφαλαίους χαρακτήρες. Οι δηλώσεις #include ονοµάζονται οδηγίες προεπεξεργαστή της C και εµφανίζονται στις πρώτες γραµµές των περισσότερων προγραµµάτων. Μια οδηγία τέτοιου τύπου προκαλεί την ενεργοποίηση διαφόρων λειτουργιών σε σχέση µε τον πηγαίο κώδικα των προγραµµάτων µας πριν την έναρξη της διαδικασίας µεταγλώττισης. Η C διαθέτει µια πληθώρα από τέτοιους είδους οδηγίες. Η οδηγία #include χρησιµοποιείται για να διαβάσει το συγκεκριµένο αρχείο (π.χ. stdio.h για να χειρισθούµε τις συναρτήσεις για την είσοδο-έξοδο του υπολογιστή) και να το ενσωµατώσει στο πρόγραµµα που γράφουµε σαν να ήταν αναπόσπαστο τµήµα του. Κάθε φορά που συµπεριλαµβάνουµε ένα αρχείο επικεφαλίδας, εµπλουτίζουµε το πρόγραµµα µας µε µια γκάµα βιβλιοθηκών/συναρτήσεων (εντολών) που περιέχονται σε αυτό. Έτσι ανάλογα µε τις συναρτήσεις που θέλουµε να χρησιµοποιήσουµε ενεργοποιούµε το αντίστοιχο αρχείο µέσω της εντολής #include. Τέλος θα πρέπει να αναφέρουµε ότι κάθε χρήστης έχει τη δυνατότητα να δηµιουργήσει δικά του αρχεία επικεφαλίδων (βιβλιοθήκες) τα οποία και θα ενσωµατώνει µε µια εντολή στα προγράµµατα του. 1.2 Περιοχή κώδικα κυρίας συνάρτησης (κυρίως πρόγραµµα- main program) Όλα τα προγράµµατα της C είναι στην ουσία ένα σύνολο από συναρτήσεις. Η βασική συνάρτηση που θα περιέχει το κυρίως πρόγραµµα ονοµάζεται main(). Εκτός της συνάρτησης main, οι υπόλοιπες συναρτήσεις αναπτύσσονται από τον χρήστη και καλούνται είτε µέσω της main, είτε µέσω των υπολοίπων συναρτήσεων. Οι διάφορες δηλώσεις και ο κώδικας που θα ενσωµατωθούν πρέπει υποχρεωτικά να εμπεριέχονται µεταξύ των συµβόλων "" και "" τα οποία και θέτουν το αρχικό και τελικό της όριο µέσα στο πρόγραµµα C. Αυτά τα προγράµµατα θα χρησιµοποιούνται ευρέως στα περισσότερα σηµεία ενός προγράµµατος C µιας και οριοθετούν συγκεκριµένες ενότητες µέσα στο πρόγραµµα. Ένα απλό παράδειγμα προγράµµατος στη C είναι το ακόλουθο: /* This is my first program */ printf("this is my first program\t"); printf("i am a CIED student\n"); 1/8

1.3 Περιοχή ήλωσης Μεταβλητών Σε αυτό το τµήµα δηλώνουµε µεταβλητές και σταθερές οι οποίες µπορούν να χρησιµοποιηθούν µόνο στη συνάρτηση της main. Οι µεταβλητές δηλώνονται αµέσως µετά την εισαγωγή του συµβόλου στην συνάρτηση main. Οι µεταβλητές που δηλώνουµε ανήκουν στους τύπους δεδοµένων που υποστηρίζει η C. Κάθε µεταβλητή περιλαµβάνει τα παρακάτω χαρακτηριστικά: Τύπο της µεταβλητής Όνοµα της µεταβλητής Τιµή που της εκχωρείται (προαιρετικά) 1.3.1 Τύποι Μεταβλητών Οι µεταβλητές µπορούν να περιέχουν διάφορους τύπους δεδοµένων. Ο παρακάτω πίνακας δίνει τους πιο σηµαντικούς τύπους µεταβλητών στη C, το εύρος τιµών (ελάχιστη τιµή-µέγιστη τιµή που µπορεί να καταχωρηθεί σε µία µεταβλητή) καθώς και τον αριθµό των bytes που καταλαµβάνει ένας τύπος µεταβλητής στην µνήµη του υπολογιστή. Τύπος Μεταβλητής Εύρος Τιµών Απαιτούµενα Bytes (Ελάχιστη-Μέγιστη Τιµή) char -128..127 1 byte unsigned char 0 255 1 byte short int -32768..32767 2 bytes unsigned short int 0..65535 2 bytes int unsigned int float -32768..32767-2147483648..2147483648 0..65535 0 4294967295 3.4 10 38...3.4 10 38 2 bytes 4 bytes 2 bytes 4 bytes 4 bytes long -2147483648..2147483648 4 bytes double long double 1.7 10 308...1.7 10 308 3.4 10 4932...3.4 10 4932 8 bytes 10 bytes 1.3.2 ήλωση µεταβλητών Οι πιο βασικοί περιορισµοί στη δήλωση των µεταβλητών είναι οι ακόλουθοι: To µήκος του ονόµατος της µεταβλητής πρέπει να είναι τουλάχιστον ένας χαρακτήρας και µέγιστο µήκος πεδίου 31 χαρακτήρες Τα ονόµατα µεταβλητών πρέπει να αρχίζουν από αλφαβητικό χαρακτήρα Οι υπόλοιποι χαρακτήρες µπορεί να είναι συνδυασµός γραµµάτων, αριθµών ή υπογράµµισης ( _ ) 2/8

Το όνοµα της µεταβλητής δεν θα πρέπει να περιλαµβάνει ονόµατα που είναι δεσµευµένα στην γλώσσα C (π.χ. int, print, scanf, pow, sqrt, for); Η C κάνει διαχωρισµό µεταξύ των µεταβλητών που έχουν δηλωθεί µε µικρά γράµµατα από αυτές που έχουν δηλωθεί µε κεφαλαία γράµµατα Έγκυρος τρόπος µιας µεταβλητής: int Sales31; /* ήλωση µιας µεταβλητής που παίρνει ακέραιες τιµές*/ int sales31; /* ήλωση µιας µεταβλητής που παίρνει ακέραιες τιµές*/ float SALes31; /* ήλωση µιας µεταβλητής που παίρνει πραγµατικές τιµές με το πολύ 6 σημαντικά ψηφία*/ long tax_peter; /* ήλωση µιας µεταβλητής που παίρνει μεγάλες ακέραιες τιµές*/ double inc1985; /* ήλωση µιας µεταβλητής που παίρνει πραγµατικές τιµές με το πολύ 15 σημαντικά ψηφία */ Μη έγκυρος τρόπος δήλωσης µιας µεταβλητής: int 31_Sales; long tax+peter; double income*1985; long int,printf; 1.3.3 Εκχώρηση τιµών σε µεταβλητές Η εκχώρηση τιμής σε μεταβλητή γίνεται µε την πρόταση εκχώρησης, η οποία χρησιµοποιεί για το σκοπό αυτό το σύµβολο ίσον, = και έχει την ακόλουθη σύνταξη: µεταβλητή=παράσταση; Η µεταβλητή είναι το όνομα οποιασδήποτε µεταβλητής έχετε ορίσει. Η παράσταση µπορεί να είναι µια από τις παρακάτω κατηγορίες: Ένας αριθμός Μια παράσταση από µεταβλητές και/ή σταθερές Ένας συνδυασµός των παραπάνω κατηγοριών 3/8

int a; long tax31; float res_4; a=4; /* Ekxwrisi mias statheras akeraias timis */ tax31=25.122; /* Ekxwrisi mias statheras pragmatikis timis */ res_4=25.122/0.45; /* Ekxwrisi timis apo arithmitiki pra3i */ a=5*tax31+20; /* Ekxwrisi timis apo parastasi metablitwn */ a=4/2; /* Ekxwrisi timis apo arithmitiki pra3i */ 1.4 Σταθερές Κατά τη δήλωση των σταθερών, είµαστε υποχρεωµένοι να αποδώσουµε µια και µοναδική τιµή, η οποία και θα παραµείνει αναλλοίωτη στη διάρκεια εκτέλεσης του προγράµµατος. Η δήλωση αυτή γίνεται με δύο τρόπους (χρησιμοποιούμε μία από τις δύο μορφές δήλωσης): #define PI 3.14159 const pi=3.14159; 1.5 H συνάρτηση printf() Η printf() είναι η βασική συνάρτηση παρουσίασης ενός µηνύµατος ή της τιµής µιας µεταβλητής στην οθόνη του υπολογιστή. H συνάρτηση printf() περιλαµβάνεται στην βιβλιοθήκη <stdio.h>. Η printf() απαιτεί πάντα Συµβολοσειρά Ελέγχου. Πρόκειται για µια συµβολοσειρά που καθορίζει πώς παρουσιάζεται το κείμενο και οι τιµές των μεταβλητών αν υπάρχουν. printf("line 1\n"); printf("line 2\t"); printf("\n\tline 3\n"); 4/8

Στην οθόνη του υπολογιστή εµφανίζεται το παρακάτω µήνυµα Line 1 Line 2 Line 3 1.5.1 Ορισµός Χαρακτήρων Μετατροπής H συνάρτηση printf() περιλαµβάνει κάποιους χαρακτήρες µετατροπής. Αυτοί οι ειδικοί χαρακτήρες δηλώνουν στην συνάρτηση printf() ακριβώς πώς να ερµηνεύσει τα δεδοµένα που ακολουθούν. Ο Ακόλουθος Πίνακας περιλαµβάνει µια λίστα µε χαρακτήρες µετατροπής. Χαρακτήρας Μετατροπής Αποτέλεσµα %d εκαδικός Ακέραιος %f Αριθµός κινητής υποδιαστολής %e Αριθµοί κινητής υποδιαστολής µε εκθετικό συµβολισµό %u Μη προσηµασµένος ακέραιος %o Οκταδικός ακέραιος %x εκαεξαδικός ακέραιος %% Σύµβολο ποσοστού (%) %c Χαρακτήρας %s Συµβολοσειρά χαρακτήρων Για την παρουσίαση µιας αριθµητικής σταθεράς ή µεταβλητής, πρέπει να συµπεριληφθεί στην συνάρτηση ο κατάλληλος χαρακτήρας µετατροπής µέσα στη συµβολοσειρά ελέγχου. int age=32; float salary=25000.356718; char first= E ; char middle= C ; char last= E ; printf("%c\t%c\t%c\n",first,middle,last); printf("%d%\t%f\n",age,salary); 5/8

Τo αποτέλεσµα του προγράµµατος θα είναι το ακόλουθο: E C E 32 25000.357422 Εξηγήστε το αποτέλεσμα. Για την περίπτωση που θέλετε να µορφοποιήσετε τον τρόπο παρουσίασης πραγματικών σταθερών ή µεταβλητών χρησιµοποιείται ένας αριθµός τόσο για το ακέραιο όσο και για το δεκαδικό µέρος. Για παράδειγμα αντικαταστήστε τη δεύτερη εντολή printf στο παραπάνω παράδειγμα με την εξής έκφραση: printf("%d%\t%9.3f\n",age,salary); Τι διαφορά παρατηρείτε; H γλώσσα C µας δίνει τη δυνατότητα να ενεργοποιήσουµε ειδικές μορφοποιήσεις της εκτύπωσης συνδυάζοντας το σύµβολο \ και τον χαρακτήρα που αντιστοιχεί στην κατάλληλη λειτουργία. Θα πρέπει να σηµειώσουµε ότι για την εκτύπωση χαρακτήρων όπως τα µονά ή διπλά εισαγωγικά και το σύµβολο \ τα οποία η C χρησιµοποιεί στις διαδικασίες της εκτύπωσης είναι απαραίτητο να υιοθετηθεί ένα συγκεκριµένος τρόπος σύνταξης προκειµένου να εκτυπωθούν. Ο παρακάτω πίνακας περιέχει την αντιστοιχία της ειδικής λειτουργίας µε την ακολουθία χαρακτήρων µέσω της οποίας ενεργοποιείται. Ακολουθία Χαρακτήρων Λειτουργία \a Παραγωγή ήχου \b Backspace \f Αλλαγή σελίδας \n Αλλαγή γραµµής \t Tab \\ Εκτύπωση \ \" Εκτύπωση " 1.6 H συνάρτηση scanf() H συνάρτηση scanf() είναι ένας τρόπος εισόδου δεδοµένων από το πληκτρολόγιο. Όταν ένα πρόγραµµα συναντά τη γραµµή scanf(), o χρήστης µπορεί να πληκτρολογήσει τιµές, οι οποίες εκχωρούνται σε µεταβλητές. Η σύνταξη της συνάρτησης scanf(), περιέχει µια συµβολοσειρά ελέγχου και µία ή περισσότερες µεταβλητές και περιλαµβάνεται στην βιβλιοθήκη <stdio.h>. Η συµβολοσειρά ελέγχου περιγράφει στη C ακριβώς τον τύπο που αναμένεται να έχουν οι τιµές που θα πληκτρολογηθούν από το χρήστη. Η συµβολοσειρά ελέγχου της scanf() χρησιµοποιεί σχεδόν τους ίδιους χαρακτήρες µετατροπής με την printf() µε δύο διαφορές. Ποτέ δεν πρέπει να χρησιμοποιούνται οι χαρακτήρες ελέγχου εκτύπωσης όπως ο \n κ.λπ. σε µια συµβολοσειρά ελέγχου scanf(). H συνάρτηση scanf() γνωρίζει πότε τερµατίζεται η είσοδος µε το πάτηµα του πλήκτρου Enter. Επίσης η εκχώρηση της τιμής στη μεταβλητή γίνεται μέσω του τελεστή &, ο οποίος οδηγεί στη διεύθυνση μνήμης που δεσμεύεται από τη C για να αποθηκευθεί η τιμή μιας μεταβλητής. Επειδή δε µπορείτε να ελέγχετε τον τρόπο πληκτρολόγησης του χρήστη, η ακρίβεια εισαγωγής δεδομένων δεν είναι πάντα εγγυηµένη. Έτσι, µπορείτε να ζητήσετε από το χρήστη να γράψει έναν ακέραιο και µετά µια τιµή κινητής υποδιαστολής, αλλά ο χρήστης να γράψει κάτι άλλο. Αν συµβεί αυτό, δε µπορείτε να κάνετε πολλά. Τα αποτελέσµατα θα είναι λανθασµένα, αλλά το πρόγραµµα C δεν διαθέτει µέθοδο ελέγχου της ακρίβειας του 6/8

χρήστη πριν την εκτέλεση του. Σε επόμενες εργαστηριακές ασκήσεις θα φροντίζεται μέσω κατάλληλης διαδικασίας ελέγχου να αποφεύγονται οι ανεπιθύμητες εισαγωγές δεδομένων. Παράδειγμα χρήσης εντολής scanf: float totalsale; float tax; scanf("%f",&totalsale); tax=totalsale*0.07; printf("the sales tax for %.2f\t is %.2f\n",totalSale,tax); Το αποτέλεσμα αν ο χρήστης πληκτρολογήσει την τιμή 10.0 είναι: 10.0 The sales tax for 10.00 is 0.70 2. ΕΡΓΑΣΤΗΡΙΑΚΟ ΜΕΡΟΣ 1. Δημιουργείστε το παρακάτω πρόγραμμα και παρατηρείστε το αποτέλεσμα. Σώστε το αρχείο με τον τίτλο print_float.c int int a = 100; float x = 1.2365; printf("...12345678\n",a); printf("a = %6d\n",a); printf("x = %f\n",x); printf("x = %6f\n",x); printf("x = %6.1f\n",x); printf("x = %3.1f\n",x); printf("x = %.2f\n",x); printf("x = %.f\n",x); system("pause"); return 0; 7/8

2. Να γράψετε κώδικα σε C που να ζητάει από το χρήστη το βάρος του, το ύψος του και το µέγεθος των παπουτσιών του με κατάλληλα μηνύματα και να τα αποθηκεύει σε τρεις µεταβλητές. Να ορίσετε τις µεταβλητές με κατάλληλους τύπους, να εκχωρήσετε τιµές και να εκτυπώσετε τις τιµές στην οθόνη του υπολογιστή. Σώστε το πρόγραμμα με τίτλο variables.c. 3. Δημιουργήστε ένα πρόγραμμα που θα καταχωρεί την τιμή 234.1265 στη μεταβλητή val. Μέσω της printf τυπώστε την τιμή της μεταβλητής val στην οθόνη. Τι παρατηρείτε; Σώστε το πρόγραμμα με τίτλο print_num.c. Αλλάξτε τον τύπο της μεταβλητής val σε double και εκτελέστε το πάλι. Τι παρατηρείτε; 4. Να γραφεί πρόγραµµα που θα εκτελεί τις παρακάτω διαδικασίες: Να ζητά με κατάλληλο μήνυμα και να διαβάζει από το πληκτρολόγιο τρεις πραγµατικούς αριθµούς Να υπολογίζει το άθροισμα και το γινόμενο των αριθμών και να τυπώνει τα αποτελέσµατα µε τη µορφή 3+5+2=10, κλπ. με ακρίβεια 3 δεκαδικών ψηφίων. Να πολλαπλασιάζει το άθροισµα των δύο πρώτων αριθμών µε το 20% του τρίτου αριθµού και να τυπώνει το αποτέλεσμα με ακρίβεια 2 δεκαδικών ψηφίων Σώστε το πρόγραμμα με τίτλο operations.c. 5. Να γραφεί πρόγραµµα που να διαβάζει την ηλικία σας σε έτη, να τη μετατρέπει και να την τυπώνει (i) σε ηµέρες, (ii) σε ώρες, (iii) λεπτά και (iv) σε δευτερόλεπτα. Σώστε το πρόγραμμα με τίτλο age.c. 6. Να γραφεί πρόγραµµα που να δίνει στο χρήστη τη δυνατότητα να εισαγάγει τη θερμοκρασία που επιθυμεί σε Fahrenheit και να τη µετατρέπει σε βαθµούς Κελσίου µε βάση τον τύπο: Celsius = ( fahrenheit 32) * (5.0 / 9.0). Το πρόγραμμα να τυπώνει τη θερμοκρασία σε Κελσίου με ακρίβεια 1 δεκαδικού. Σώστε το πρόγραμμα με τίτλο Celsius.c. 8/8