Programação
MEAer e MEEC

Bertinho Andrade da Costa
2013/2014
1º Semestre

Instituto Superior Técnico

Bibliotecas e Funçõ...
Sumário


Bibliotecas e Funções





Apresentação das bibliotecas de funções principais do C.
Consulte o ficheiro libc...
Ficheiros de include de bibliotecas
normalizadas















assert.h
complex.h (C99)
ctype.h
errno.h
fenv....
Funções e bibliotecas
1- Avaliação de caracteres ctype.h

2 - Funções matemáticas – math.h

#include <ctype.h>






...
Funções e bibliotecas
3 - Funções de entrada / saída – stdio.h
#include <stdio.h>

Operações em ficheiros – I/O





...
Funções e bibliotecas
(cont.) – stdio.h
Caracteres – I/O – Leitura e escrita de um carácter de cada vez









in...
Funções e bibliotecas
4 - Funções da “biblioteca” stdlib.h
#include <stdlib.h>
Funções matemáticas







int
abs (in...
Funções e bibliotecas
(cont.) - stdlib.h
Função de comunicação com o Sistema Operativo

int system (const char *system_co...
Funções e bibliotecas
5 - Funções de manipulação de strings – string.h
#include <string.h>
Cópia de dados






char
c...
Funções e bibliotecas
6 - Funções relacionadas com o tempo real do computador – time.h
#include <time.h>









...
Exercícios
1 - Considere a existência do ficheiro f.c o qual contém o código seguinte
/* Ficheiro: f.c */
#include <math.h...
Exercícios
O código corresponde a uma tentativa de implementação da função matemática
i n

f ( n)  
i 0

1
i!  (n  i...
Exercícios
2 - Pretende-se que seja desenvolvida uma função na linguagem C que realize a
função matemática (real) que é de...
Exercícios
3 - Qual é o resultado (“output”) do programa seguinte:
int main( void ) {
int i=0;
int s = 0;

#include <stdio...
Programação DEEC-IST

Bibliotecas e funções

15
Upcoming SlideShare
Loading in...5
×

P13 14

35

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
35
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

P13 14

  1. 1. Programação MEAer e MEEC Bertinho Andrade da Costa 2013/2014 1º Semestre Instituto Superior Técnico Bibliotecas e Funções Exercícios Programação DEEC-IST Bibliotecas e funções 1
  2. 2. Sumário  Bibliotecas e Funções    Apresentação das bibliotecas de funções principais do C. Consulte o ficheiro libc.html (da gnu.org) que está disponível na página da cadeira. Exercícios (Tipo exame)    Determinação de erros de sintaxe e de implementação Desenvolvimento de uma função Determinação do “output” de um programa com ciclos encadeados. Programação DEEC-IST Bibliotecas e funções 2
  3. 3. Ficheiros de include de bibliotecas normalizadas             assert.h complex.h (C99) ctype.h errno.h fenv.h (C99) float.h inttypes.h (C99) iso0646.h (C89) limits.h locale.h math.h setjmp.h             signal.h stdarg.h stdbool.h stddef.h stdint.h (C99) stdio.h stdlib.h string.h tgmath.h (C99) time.h wchar.h (C89) wctype.h (C89) Nota: Os ficheiros de include mais utilizados encontram-se sublinhados. Pode obter mais informação acerca das funções pré-definidas em unix/linux utilize o comando whatis e man -k Programação DEEC-IST Bibliotecas e funções 3
  4. 4. Funções e bibliotecas 1- Avaliação de caracteres ctype.h 2 - Funções matemáticas – math.h #include <ctype.h>               int int int int int int int int int int int int int isalnum (int a_char); isalpha (int a_char); iscntrl (int a_char); isdigit (int a_char); isgraph (int a_char); islower (int a_char); isprint (int a_char); ispunct (int a_char); isspace (int a_char); isupper (int a_char); isxdigit (int a_char); tolower (int a_char); toupper (int a_char); #include <math.h>                     Programação DEEC-IST double double double double double double double double double double double double double double double double double double double double double ceil (double num); exp (double num); fabs (double num); floor (double num); fmod (double num1, double num2); ldexp (double num, int exp); log (double num); log10 (double num); modf (double num, double *iptr); pow (double num1, double num2); sqrt (double num); sin (double num); sinh (double num); asin (double num); cos (double num); cosh (double num); acos (double num); tan (double num); tanh (double num); atan (double num); atan2 (double num1, double num2); Bibliotecas e funções 4
  5. 5. Funções e bibliotecas 3 - Funções de entrada / saída – stdio.h #include <stdio.h> Operações em ficheiros – I/O      void int int int FILE clearerr (FILE *fp); fclose (FILE *fp); feof (FILE *fp); ferror (FILE *fp); *fopen (const char *filename, const char *file_mode); Formatação - I/O – Converte dados de/para formatos internos da memória  int fprintf (FILE *fpOut, const char *format_string, ...);  int printf (const char *format_string, ...);  int sprintf (char *strptout, const char *format_string, ...);  int fscanf (FILE *fpIn, const char *format_string, ...);  int scanf (const char *format_string, ...);  int sscanf (const char *strptInt, const char *format_string, ...); Programação DEEC-IST Bibliotecas e funções 5
  6. 6. Funções e bibliotecas (cont.) – stdio.h Caracteres – I/O – Leitura e escrita de um carácter de cada vez        int int int int int int int fgetc (FILE *fp); fputc (int ch, FILE *fp); getc (FILE *fp); getchar (void); putc (int ch, FILE *fp); putchar (int ch); ungetc (int ch, FILE *fp); Strings – I/O – Leitura e escrita de strings     char *gets (char *string); int puts (const char *string); char *fgets (char *string, int size, FILE *fp); int fputs (const char *string, FILE *fp); Controlo do sistema de ficheiros   int remove (const char *file_name); int rename (const char *old_name, const char *new_name); Programação DEEC-IST Bibliotecas e funções 6
  7. 7. Funções e bibliotecas 4 - Funções da “biblioteca” stdlib.h #include <stdlib.h> Funções matemáticas      int abs (int num); div_t div (int numerator, int divisor); long labs (long numerator, int divisor); int rand (void); void srand (unsigned seed); Funções de alocação de memória     void void void void *calloc (size_t num_elements, size_t, element_size); free (void *); *malloc (size_t num_bytes); *realloc (void *stge_ptr, size_t element_size); Funções de controlo do programa    void exit (int exit_code); void abort (void); int atexit (void (*) function_name (void)); Programação DEEC-IST Bibliotecas e funções 7
  8. 8. Funções e bibliotecas (cont.) - stdlib.h Função de comunicação com o Sistema Operativo  int system (const char *system_command); Funções de conversão       double atof (const char *real_num); int atoi (const char *real_num); long atol (const char *real_num); double strtod (const char *str, char **next_str); long strtol (const char *str, char **next_str, int base); unsigned long strtol (const char *str, char **next_str, int base); Programação DEEC-IST Bibliotecas e funções 8
  9. 9. Funções e bibliotecas 5 - Funções de manipulação de strings – string.h #include <string.h> Cópia de dados     char char char char *strcpy (char *to_str, const char *from_str); *strncpy (char *to_str, const char *from_str, size-t bytes); *strcat (char *to_str, const char *from_str); *strncat (char *to_str, const char *from_str, size-t bytes); Comparação de dados       char char int int char int *strchr (const char *str, int chr); *strrchr (const char *str, int chr); strcmp (const char *str1, const char *str2); strncmp (const char *str1, const char *str2, size_t bytes); *strpbrk (const char *str1, const char *str2); *strstr (const char *str1, const char *str2); Determinação do comprimento  size_t strlen (const char *str);  size_t strspn (const char *str1, const char *str2);  size_t strcspn (const char *str1, const char *str2); Programação DEEC-IST Bibliotecas e funções 9
  10. 10. Funções e bibliotecas 6 - Funções relacionadas com o tempo real do computador – time.h #include <time.h>         clock_t double time_t time_t char char struct tm struct tm Programação DEEC-IST clock (void); difftime (time_t time_start, time_t time_end); mktime (struct tm *cal_time); time (time_t *num_time); *asctime(const struct tm *cal_time); *ctime(const time_t *num_time); *gmtime(const time_t *num_time); *localtime(const time_t *num_time); Bibliotecas e funções 10
  11. 11. Exercícios 1 - Considere a existência do ficheiro f.c o qual contém o código seguinte /* Ficheiro: f.c */ #include <math.h> int main(void)( float resultado; int i; printf("Valor de n ="); scanf("%d", &i); while (i!=n) resultado = 1/factorial(i)*factorial(n-i); printf("f(%d)=%fn",n resultado); return; ) Programação DEEC-IST Bibliotecas e funções 11
  12. 12. Exercícios O código corresponde a uma tentativa de implementação da função matemática i n f ( n)   i 0 1 i!  (n  i )! A qual tem como domínio N0+ e como contradomínio R+ . O símbolo ! representa a função matemática factorial. A função factorial está implementada num ficheiro cujo nome é factorial.c e tem o protótipo int factorial (int n); Assuma que a função factorial foi compilada com sucesso e não contém qualquer tipo de erro. a) Analise o código do ficheiro f.c e corrija somente os erros de sintaxe de modo a que o compilador crie o ficheiro objecto. b) Identifique, justificando, os erros de implementação de f(n) que estão no ficheiro f.c. c) Escreva os comandos que devem ser executados na linha de comando de Linux de modo: a) Efectuar a compilação do ficheiro f.c; b) Efectuar a "linkagem" com o ficheiro objecto que foi obtido da compilação do ficheiro factorial.c. Programação DEEC-IST Bibliotecas e funções 12
  13. 13. Exercícios 2 - Pretende-se que seja desenvolvida uma função na linguagem C que realize a função matemática (real) que é descrita através do gráfico seguinte: g(x) y1 x0 x1 x y0 a) Especifique os argumentos da função e defina o protótipo da função. b) Escreva o código da função Programação DEEC-IST Bibliotecas e funções 13
  14. 14. Exercícios 3 - Qual é o resultado (“output”) do programa seguinte: int main( void ) { int i=0; int s = 0; #include <stdio.h> #define LCF 10 #define BR 4 #define NLI 4 impc('-', LCF, 'm'); do { impc(' ', BR-i, '.'); printf("*"); impc('.', 2*i, '.'); printf("*"); impc(' ', BR-i, 'm'); void impc(char c, int d, char m) { int i=0; while (i<d) { printf("%c",c); i++; } if (m == 'm') printf("n"); } if (i<NLI) i++; else i=0; s = s+1; } while(s <10); impc('-', LCF, 'm'); return 0; } Programação DEEC-IST Bibliotecas e funções 14
  15. 15. Programação DEEC-IST Bibliotecas e funções 15
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×