ESERCITAZIONI: linguaggio C


pagine di Roberto Ricci L.S. "A. Righi", Bologna. Ultima revisione


 
 
 

Per iniziare


 
  1. Creare sul floppy A: con [Tasto Destro]Nuovo/Cartella una cartella dal nome lab3
  2. Salvare il corrente file in A: con il nome A:Es3
  3. Usare Riduci a icona per mettere da parte la finestra sul floppy senza chiuderla
  4. Aprire il file A:Es3.htm per leggere e seguire il resto dell'esercitazione
  5. Ridurre le dimensioni della finestra su A: che deve restare visibile ma consentire la visibilità di un'altra nuova finestra

 
 

Variabili reali


 
  1. Aprire l'ambiente TuboC++ facendo rapidamente due clic sull'icona presente sul Desktop
  2. ridimensionare la finestra in modo che sia visibile anche quella con il testo dell'esercitazione
  3. eventualmente aprire con File/New una finestra di editor
  4. selezionare il testo seguente, catturarlo con Modifica|Copia e poi trasferirlo nella finestra di editor del Turbo C++ mediante Edit|Paste
    float pi=3.14159;
    float e=1.6E-19;
    printf("Una variabile di tipo 'float' occupa %d byte di memoria",sizeof(float));
    printf("\nl'indirizzo di della variabile pi è %lu e il suo contenuto è %f",&pi,pi);
    printf("\n formattato il suo contenuto è anche %10.2f  oppure %e oppure %g",pi,pi,pi);
    printf("\nl'indirizzo di della variabile e è %lu e il suo contenuto è %f",&e,e);
    printf("\n formattato il suo contenuto è anche %10.2f  oppure %e oppure %g",e,e,e);
    
  5. completarlo affinché divenga un programma
  6. salvare con File/Save as..., compilare con ; eventualmente correggere e salvare di nuovo con File/Save a compilazione corretta
  7. eseguire con Debug/Run

Tutte le variabili devono essere dichiarate prima di essere usate.
I tipi di dato semplici adatti per rappresentare numeri reali sono:

NOME DEL TIPO                    VALORI ASSOLUTI POSSIBILI

 float                              tra 1.E-36 e 1.E+36.   
 double                             tra 1.E-303 to 1.E+303. 

Una variabile ha sempre un contenuto, quello della locazione di memoria che gli viene associata. Anche per non lasciarlo inizialmente al caso, si può definirne un valore ricorrendo a un'assegnazione inglobata in una dichiarazione:

  <tipo della variabile> <identificatore> = <valore o espressione>;

 
 

Selezione 'if', espressione condizionale


 
    1. Selezionare il testo seguente, catturarlo con Modifica|Copia e poi trasferirlo nella finestra di editor del Turbo C++ mediante Edit|Paste
      float x,absx;
      printf("introduci un numero: ");
      scanf("%f",&x);
      if (x < 0){
      	absx=-x;
      } else {
      	absx = x;
      }
      printf("\nIl suo valore assoluto è %f",absx);
      
    2. completarlo affinché divenga un programma
    3. salvare con File/Save as..., compilare con Project/Compile, eventualmente correggere e salvare di nuovo con File/Save a compilazione corretta
    4. eseguire con e introdure in input un numero negativo, poi eseguire di nuovo e introdurne uno positivo.
    5. Sostituire l'istruzione 'if' - cosa non sempre possibile - con un'istruzione di assegnazione e l'espressione 'condizionale'
        (<condizione>) ? <espressione da calcolare se vera> :  <espressione da calcolare se falsa> ; 
      
    1. Selezionare il testo seguente, catturarlo con Modifica|Copia e poi trasferirlo nella finestra di editor del Turbo C++ mediante Edit|Paste
      int scelta=1;
      float euro;
      unsigned long int lire;
      printf("Convertitore \n");
      printf("     1: da Euro in Lire \n");
      printf("     2: da Lire in Euro \n");
      printf("Scegli (1 oppure 2): ");
      scanf("%d",&scelta);
      .......
      
    2. completarlo per realizzare un programma convertitore Euro/Lire

 
 

Condizioni composte, operatori !, ||, &&


  Condizioni semplici possono essere costruite per confronto tra espressioni aritmetiche mediante operatori relazionali come:
SIMBOLO                    SIGNIFICATO

 ==                         uguale a
 !=                         diverso da
 >                          maggiore di   
 >=                         maggiore di o anche uguale a         
 <                          minore di
 <=                         minore di o anche uguale a 
A partire da condizioni si possono costruire condizioni composte mediante operatori logici come
SIMBOLO                    SIGNIFICATO

 !                          NOT, non
 ||                         OR, oppure ( nel senso di vel e non di aut)   
 &&                         AND, e contemporaneamente         
  1. Compilare, salvare ed eseguire il programma
    # include <stdio.h>
    
    main(){
    printf("   a   b    a || b\n\n");
    for (int a=0; a<=1; a++){
      for (int b=0; b<=1; b++){
    	printf("   %d   %d      %d\n",a>=1,b>=1,(a>=1) || (b>=1));
      }
    }
    }
    
  2. modificarlo cambiando la condizione precedente in "a maggiore o uguale di 1 e b maggiore o uguale di 1"
  3. modificarlo cambiando la condizione precedente in " a maggiore o uguale di 1 b maggiore o uguale di 1"
  4. modificarlo cambiando la condizione precedente in "a maggiore o uguale di 1 ma non b maggiore o uguale di 1"

 
 
pagine di Roberto Ricci L.S. "A. Righi", Bologna. Ultima revisione