Domanda:
Potreste darmi un paio di delucidazioni sul linguaggio C?
Il Buio, L'Alba
2015-02-23 15:34:08 UTC
Salve, è da un paio di mesi ormai che mi sono buttato nell'apprendimento del linguaggio C, studiando autonomamente su un libro edito dalla Apogeo e scritto dai Deitel (titolo "C Corso Completo di Programmazione"). Ho l'intenzione di proseguire nell'approfondimento della programmazione strutturata una volta terminato il libro.
Ora arriviamo alla domanda :). Quali sono le conoscenze da acquisire per riuscire nella creazione di un generico programma scritto in C, semi-professionale/professionale?

Gradirei inoltre alcune delucidazioni su:

1) Perchè e in che modo differiscono nella memorizzazione dei dati, variabili dichiarate del tipo 'double' e 'float'? Più precisamente, il libro specifica che variabili di tipo 'double' consentono una memorizzazione dei dati più affidabile. In che termini?

2) Esiste un modo per rendere visibili e modificabili da una funzione o espressione, delle variabili dichiarate esternamente al blocco in cui la funzione o espressione sono scritte? (Allo stesso modo di in cui le funzioni possono modificare gli elementi presenti all'interno di un vettore dichiarato nelle prime righe del programma).

3) Esiste un escamotage per creare nuove variabili e assegnare nuovi spazi di memoria, non in precedenza dichiarati, a tempo di esecuzione del programma?

Ringrazio tutti per la pazienza adoperata nel leggere e rispondere alle mie domande :).
Tre risposte:
?
2015-02-23 15:39:43 UTC
1)il formato double e float indicano tutti e due numeri con la virgola solo che il double può contenere un numero doppio di cifre dopo la virgola rispetto al float(non ricordo il numero preciso ma se per esempio il float può contenere 8 cifre dopo la virgola il double ne può contenere 16)

2)non so mi dispiace

3)le variabili vanno sempre dichiarate ma non necessariamente all'inizio l'importante è che ogni variabile sia dichiarata prima del suo primo utilizzo. Di conseguenza non c'è modo di dichiarare una variabile durante l'esecuzione del programma



Per poter realizzare programmi semi-professionali c'è bisogno di abbinare al C un programma che realizzi una grafica in quanto i programmi con il solo C rimangono con lo sfondo nero
?
2015-02-24 01:54:16 UTC
per un programma scritto in c secondo me c'è si qualcosa da sapere per esempio come funzionano la selezione,la ripetizione i diagrammi di attività anche se non sono indispensabili,gli operatori logici, le funzioni,però tutto questo non aiuta a fare il programma senza un po' di ragionamento che secondo me è la cosa più importante io sono stato molto tempo non ti dico quanto sennò prendi paura sull'esercizio dei numeri primi senza il diagramma di attività e ho visto che alla fine con un po' di ragionamento ce l'ho fatta.Per quanto riguarda la differenza tra float e double è che float memorizza variabili con la virgola a singola precisione mentre double a precisione doppia per quello le double sono più precise e affidabili; col tipo di dato double si possono memorizzare più cifre dopo la virgola sullo stesso numero mentre col float no.Per quanto riguarda le altre due domande mi pare che le le risposte che ti hanno dato prima della mia sono meglio di come potrei completare la mia.Comunque le variabili che usi quando devi fare una funzione si possono sempre modificare nella funzione principale cioè tu gli dai un valore e la funzione lavora con il valore che tu hai messo poi per rendere visibile il risultato del tuo lavoro usi il return che sembra una cosa non molto importante all'inizio, ma è fondamentale se fai due funzioni concatenate altrimenti il compilatore dice che non si può lavorare con un risultato sconosciuto che in precedenza non hai tornato.Con due funzioni concatenate intendo quasto: nome_funzione(nome_funzione())
Angelo R
2015-02-23 23:53:47 UTC
1) Le variabili double e float sono entrambe variabili in virgola mobile: i numeri sono memorizzati in forma esponenziale, quindi possono essere molto grandi o molto piccoli (l'approssimazione varia in base all'ordine di grandezza; le cifre meno significative non sono memorizzate). Una variabile double memorizza più cifre dopo la , rispetto alla variabile float; su un programma a 32 bit (o anche a 64) una float richiede 4 byte di memoria, una double ne richiede 10. Sui vecchi compilatori a 16 bit una float era a 16 bit, una double a 32.



2) Sì, esiste: devi passarle alla funzione usando le referenze (simbolo &) o i puntatori (simbolo *); cerca "passing a variable by reference" per avere degli esempi.



3) Sì: si usa il comando "allocate" per farlo.


Questo contenuto è stato originariamente pubblicato su Y! Answers, un sito di domande e risposte chiuso nel 2021.
Loading...