![]() |
|
Capítol 1
Observa el següent programa escrit en C estendard:
#include <stdio.h> int main(void) printf("com a programa en\n"); return 0; |
/*Conjunt de rutines que conté l'ordre printf.*/ /*Declaració
de la funció principal del programa.*/ /*Instruccions de sortida a pantalla*/ |
#include <stdio.h> | La primera línia conté la instrucció #include que li diu al compilador d'utilitzar biblioteques de funcions i definicions de variables escrites prèviament i que estan gravades en el disc dur. En aquest cas utilitzem la biblioteca stdio.h (és una biblioteca comú a totes les versions del llenguatge C). La sentència #include és una directiva del compilador. |
int main(void) | Assigna el nom a la funció principal del programa main. En el nostre programa només hi ha una funció. |
printf("Hola mon, existeixo\n") | Escriu en la pantalla "Hola mon, existeixo" i dona un salt de línia. Les altres dos instruccions printf fan el mateix. |
return 0 | És la darrera instrucció de totes les funcions i retorna el control de l'ordinador al programa (cas de la funció main) o funció que va executar la funció. |
{ | Li diu al compilador on començar les instruccions de la funció. |
} | Li diu al compilador on acaben les instruccions de la funció. |
/* | Obre parèntesi per a comentaris del programador. No son instruccions de programa. |
*/ | Tanca el parèntesi obert per a comentari. |
; | És un separador entre sentències. |
En el següent programa introduïm una nova instrucció que ens permet
d'utilitzar variables de tipus enter.
#include <stdio.h> int main(void) { int Num; /*Declaració de la variable num*/ Num=25; /*assignació de
valor a la variable*/ return 0; |
int Num | La paraula int seguida d'un nom de variable declara al compilador que ha de crear una variable de tipus enter. |
num=25 | Aquesta és una instrucció d'assignació de valor a una variable prèviament declarada. |
Existeixen els tipus de dades. Els tipus elementals de dades son les dades numèriques i les alfanumèriques. Les dades numèriques poden ser de distints tipus, com enters, en coma flotant, etc.
Les dades, per a ser utilitzades, poden estar assignades a una variable que ha de ser declarada prèviament amb el seu tipus i el seu nom.
La instrucció de declaració d'una variable és de la forma dels exemples següents:
Tipus nom; | |
int Anys; | Variable de tipus enter anomenada Anys |
char Tecla; | Variable de tipus caràcter anomenada Nom |
float Longitud; | Variable de tipus reial en coma flotant anomenada Longitud |
Es poden declarar varies variables del mateix tipus en la mateixa línia. La
instrucció float radi, altura, volum declara tres variables de tipus float.
El nom d'una variable el tria el programador. És bo que recordi el
significat de les dades que conté aquesta variable. El nombre de caràcters que pot
arribar a tenir un nom de variable depèn de la versió de C que s'utilitzi, però per
exemple en l' ANSI C és de 31. En el C++ de Borland és de 32. Poden formar par del nom
els les lletres minúscules, les majúscules els nombres i el símbol de subratllar. En
tot cas el primer caràcter ha de ser una lletra o el símbol _, no pot ser un nombre.
Noms vàlids | Noms no vàlids |
Cognoms | "nom" |
_quantitat | 2cognoms |
tant_per_cent | ant. |
x1 | peça |
És el procés de donar valor a una variable. L'assignació de valor pot fer-se de dues formes:
En els dos casos l'assignació es fa de dreta a esquerra. És a dir, el compilador examina el que hi ha a la dreta de l'igual i després assigna el valor obtingut al nom que es troba a l'esquerra. Així si x2 és 12 el compilador avalua l'operació 12 + 23 i assigna el resultat 35 a la variable x1.
En aquest exemple observarem com es pot assignar valor a dues variables
en el decurs del programa i com es poden imprimir en pantalla amb la funció printf.
#include <stdio.h> int main(void) { int potes,cues,orelles,ovelles;
ovelles=25; return 0; |
El resultat en pantalla és
En un ramat de 25 ovelles hi ha 100 potes, 25 cues i 50 orelles.
Es pot veure que s'imprimeix en pantalla el que hi ha escrit entre cometes i que cada %d substitueix al valor assignat a la variable corresponent. Heu de tenir cura de posar les variables en l'ordre adient. Més endavant farem una explicació més estesa de la funció printf.
Observa l'exemple següent:
#include <stdio.h> void EsperaIntro(void); /*Declara al compilador que haurà una funció*/ int main(void) /*Funció
principal*/ EsperaIntro(); return 0; void EsperaIntro(void) /*Funció EsperaIntro
*/ printf("Prem la tecla intro i continuarà el
programa\n"); |
Com es veu en aquest exemple hi dos blocs de programa totalment diferenciats, main i
EsperaIntro. El segon és una funció, que realitza una tasca determinada, la d'esperar
que es premi intro. Cal indicar que una funció pot cridar-se des d'altra funció, així
la funció main executa la funció EsperaIntro.
Per escriure una funció primer es declara al compilador al començament del programa.
Després es fa la funció main i desprès s'escriuen les altres funcions. Observa en el
llistat del programa que en declarar una funció se l'hi posa un punt i coma al darrera i
quan s'escriu la funció no s'escriu el punt i coma.
Un altre exemple de funció.
#include <stdio.h> int Quadrat(int valor); /*Declara al compilador que haurà una funció*/ int main(void) /*Funció
principal*/ int num2,c2; return 0; int Quadrat(int valor) /*Funció Quadrat*/ |
En aquest exemple la funció Quadrat és similar a una funció de matemàtiques en la que es dona un valor, la funció el treballa i retorna un altre valor.
Si comparem les dues sentències de declaració d'aquestes dos funcions observarem les diferencies:
void EsperaIntro(void) int Quadrat(int valor)
void vol dir buida, és a dir és una funció que no rep cap dada i que no en retorna cap.
El primer int vol dir que la funció retornarà una dada de tipus enter i el segon int declara que la funció rebrà una dada també de tipus enter.
#include <stdio.h> int main(void) { int a,b; a=5; b=2; b=a; printf("%d %d\n",a,b); return 0; } |
#include<stdio.h> int main(void) { int a,b; a=5; b=2; b=a; a=b; printf("%d %d\n",a,b); return 0; } |
#include <stdio.h> int main(void) { int a,b,c; a=5; b=2; c=b; b=a; a=c; printf("%d %d\n",a,b); return 0; } |
Explica el que hem fet en el tercer exemple.
#include <stdio.h> int main(void); { int a,b, c; a=5; b=2; a+b=c; return 0; } |