Extras din curs
5. Operaţii de intrare/ieşire
În C, spre deosebire de alte limbaje, sistemul intrare/ieşire nu este parte a limbajului, ci este introdus printr-un set de funcţii aflate în biblioteca standard. În exemplele din prima parte a acestei lucrari, se vor utiliza fencţia printf, pentru afişare date pe ecran, şi funcţia scanf, pentru citire date de la tastatură. Cum ambele funcţii se află în fişierul antet stdio.h, toate programele ce utilizează aceste funcţii trebuie să conţină declaraţia:
#include <stdio.h>
5.1. Funcţia printf
Funcţia printf are următorul prototip în fişierul antet stdio.h:
int printf(const char *sir_format [, argument, ...])
unde sir_format poate conţine caractere şi specifictori de format.
Efectul acestei funcţii constă în transferul către dispozitivul de ieşire a caracterelor şi valorilor argumentelor din lista ce urmează după sir_format, dacă există argumente, Transferul valorilor se face conform specificatorilor de format specificaţi în sir_format. Aceştia sunt precedaţi de caracterul ‘%’, iar numărul şi tipul lor trebuie să corespundă cu numărul şi tipul argumentelor.
5.1.1. Afişarea valorilor de tip int
Pentru afişarea valorilor de tip int, se foloseşte specificatorul de format %d. Programul de mai jos exemplifică utilizarea acestui specificator de format:
#include <stdio.h>
void main(void)
{
int an = 2004;
int luna= 10;
int zi = 15;
printf("DATA este: %d.%d.%dn", zi, luna, an);
}
După compilare şi execuţie, pe ecran, se afişează următoarele:
DATA este:15.10.2004
5.1.2. Afişarea valorilor intregi octale şi hexazecimale
Pentru afişarea valorilor octale şi hexazecimale, se folosesc specificatorii de format %o (litera o nu cifra 0) şi, respectiv %x sau %X. Programul de mai jos exemplifică utilizarea acestor specificatori de format:
#include <stdio.h>
void main(void)
{
int nr=24;
printf("Val zecimala %d este:nt%o in octal sin",nr,nr);
printf("t%x in hexazecimaln",nr);
}
După compilare şi execuţie, pe ecran, se afişează următoarele:
Val zecimala 24 este:
30 in octal si
18 in hexazecimal
5.1.3. Afişarea valorilor de tip unsigned int
Pentru afişarea valorilor de tip unsigned int, se foloseşte specificatorul de format %u. Programul de mai jos exemplifică utilizarea acestui specificator de format:
#include <stdio.h>
void main(void)
{
unsigned int nr=44000;
printf("Val %u unsigned este %d ca intn",nr,nr);
}
După compilare şi execuţie, pe ecran, se afişează următoarele:
Val 44000 unsigned este -21536 ca int
5.1.4. Afişarea valorilor de tip long int
Pentru afişarea valorilor de tip long int, se foloseşte specificatorul de format %ld , %lx , %lo sau %lu pentru întreg lung zecimal, hexazecimal, octal sau, respectiv, întreg fară semn. Programul de mai jos exemplifică utilizarea unui astfel de specificator de format:
#include <stdio.h>
void main(void)
{
long int nr=9000000;
printf("Val %ld long este %d ca intn",nr,nr);
}
După compilare şi execuţie, pe ecran, se afişează următoarele:
Val 9000000 long este 21568 ca int
5.1.5. Afişarea valorilor de tip float
Pentru afişarea valorilor de tip float, se foloseşte specificatorul de format %f. Programul de mai jos exemplifică utilizarea acestui specificator de format:
#include <stdio.h>
void main(void)
{
float t=3201;
printf("%f secunde = %f minuten",t,t/60);
}
După compilare şi execuţie, pe ecran, se afişează următoarele:
3201.000000 secunde = 53.350000 minute
Preview document
Conținut arhivă zip
- Instructiunile Limbajului C++.doc