1 / 5

Introduzione al C Esercitazione 5

Introduzione al C Esercitazione 5. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR. D. Bloisi , A. Pennisi, S. Peluso , S. Salza. Esercizio 1.

miron
Download Presentation

Introduzione al C Esercitazione 5

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduzione al CEsercitazione 5 Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR D. Bloisi, A. Pennisi, S. Peluso, S. Salza

  2. Esercizio 1 Scrivere una funzione in linguaggio C denominata trova_carattere che, presa in ingresso una stringa se un intero i, restituisca il carattere di indice i in s. La funzione deve restituire 0 nel caso in cui s sia NULL oppure l’indice i sia minore di 0 o maggiore della lunghezza di s. Stringa s = “ciao” trova_carattere(s,2) -> a Stringa s = “osso” trova_carattere(s,3)-> o Stringa s = “a” trova_carattere(s,1) -> 0 Stringa s = NULL trova_carattere(s,1) -> 0 Esercitazione 4

  3. Esercizio2 • Scrivere una funzione in linguaggio C denominata diag_sec che, prese in ingresso una matrice M (matrice quadrata NxN di dimensioni 5x5) e un vettore S (di dimensione N), modifichi opportunamente S inserendovi gli elementi della diagonale secondaria di M. • Scrivere, inoltre, una funzione mainche: • legga la matrice M da file (supporre che tutti i dati in ingresso siano di tipo int e corretti). • Stampi a video la il valore di S dopo aver eseguito diag_sec(M, S). Esercitazione 4

  4. Esercizio 3 /* 1*/#include <stdio.h> /* 2*/intmain() { /* 3*/ float a = 2; /* 4*/ inti, c = (int)a; /* 5*/ float b = 1.01f; /* 6*/ printf("%f\n", a); /* 7*/ for(i = 0; i < (int)b; i++){ /* 8*/ if(i == 1) continue; /* 9*/ c *= -1; /*10*/} /*11*/ printf("%d\n", c); /*12*/ printf("%d\n", i); /*13*/ if(c < 0) c++; /*14*/ printf("%d\n", i); /*15*/ printf("%d\n", c); /*16*/} 1. L’istruzione alla riga 2 produce perdita di informazione 2. La riga 6 stampa 2.000000 3. La riga 11 stampa -2 4. La riga 12 stampa 15 5. La riga 14 stampa 1 6. La riga 15 stampa 0 7. L’istruzione return 0 viene aggiunta in automatico come ultima istruzione del main Esercitazione 4

  5. Esercizio 4 /* 1*/#include <stdio.h> /* 2*/#include <string.h> /* 3*/ /* 4*/int main() { /* 5*/ char c[80] = "rossi"; /* 6*/ char* d = "po"; /* 7*/ printf("%d\n", strlen(d)); /* 8*/ char* e = c; /* 9*/ *(e+1) = 'a'; /*10*/ printf("%s\n", c); /*11*/ printf("%d\n", strlen(e)); /*12*/ *(++e) = 'o'; /*13*/ printf("%d\n", strlen(e)); /*14*/ printf("%s\n", c); /*15*/ *(++e) = '\0'; /*16*/ strcat(c, d); /*17*/ printf("%s\n", c); /*18*/ printf("%c\n", *(++e)); /*19*/} • La riga 7 stampa 2 • La riga 10 stampa possi • 3. La riga 11 stampa 5 • 4. La riga 13 stampa 3 • 5. La riga 14 stampa bossi • 6. La riga 17 stampa rospo • 7. La riga 18 stampa o Esercitazione 4

More Related