miniatura|300x300px|Un fragment de codi C que imprimeix "Hola, món!" La sintaxi del llenguatge de programació C és el conjunt de regles que regeixen l'escriptura de programari en C. Està dissenyat per permetre programes que són extremadament concisos, tenen una estreta relació amb el codi objecte resultant i, tanmateix, proporcionen una abstracció de dades de nivell relativament alt. C va ser el primer llenguatge d'alt nivell amb gran èxit per al desenvolupament de sistemes operatius portàtils.
La sintaxi C fa ús del principi de maximal munch.
Estructures de dades Tipus de dades primitives El llenguatge de programació C representa els nombres en tres formes: integral, real i complex. Aquesta distinció reflecteix distincions similars en l'arquitectura del conjunt d'instruccions de la majoria de les unitats centrals de processament. Els tipus de dades integrals emmagatzemen nombres en el conjunt de nombres enters, mentre que els nombres reals i complexos representen nombres (o parell de nombres) en el conjunt de nombres reals en forma de coma flotant.
Tots els tipus d'enters C tenen variants i . Si no s'especifica explícitament o , en la majoria de les circumstàncies s'assumeix . Tanmateix, per raons històriques, simple és un tipus diferent tant de com . Pot ser un tipus signat o un tipus sense signar, segons el compilador i el conjunt de caràcters (C garanteix que els membres del conjunt de caràcters bàsics C tinguin valors positius). A més, els tipus de camp de bits especificats com pla poden estar signats o sense signar, depenent del compilador.
Punters En les declaracions, el modificador d'asterisc () especifica un tipus de punter. Per exemple, quan l'especificador faria referència al tipus d'enter, l'especificador fa referència al tipus "punter a enter". Els valors del punter associen dues peces d'informació: una adreça de memòria i un tipus de dades. La següent línia de codi declara una variable punter a enter anomenada ptr :int *ptr;
Matrius Definició Les matrius s'utilitzen en C per representar estructures d'elements consecutius del mateix tipus. La definició d'una matriu (de mida fixa) té la sintaxi següent:int array;que defineix una matriu anomenada array per contenir 100 valors del tipus primitiu . Si es declara dins d'una funció, la dimensió de la matriu també pot ser una expressió no constant, en aquest cas s'assignarà memòria per al nombre especificat d'elements. En la majoria de contextos en un ús posterior, una menció de la matriu de variables es converteix en un punter al primer element de la matriu. L'operador és una excepció: dona la mida de tota la matriu (és a dir, 100 vegades la mida d'un , i retornarà 100).
Accedint elements La funció principal per accedir als valors dels elements d'una matriu és l'operador de subíndex de matriu. Per accedir a l'element i -indexat de array, la sintaxi seria , que fa referència al valor emmagatzemat en aquest element de matriu.
Cadenes En C, els literals de cadena estan envoltats de cometes dobles () (per exemple, ) i es compilen en una matriu dels valors de especificats amb un codi de caràcter final nul addicional (valor 0) per marcar el final de la cadena.
Operadors Estructures de control C és un llenguatge de forma lliure.
L'estil de reforç varia d'un programador a un altre i pot ser objecte de debat. Vegeu l'estil de sagnat per a més detalls.
Enunciats compostos En els elements d'aquesta secció, qualsevol <statement> es pot substituir per una sentència composta. Els enunciats compostos tenen la forma:{ <optional-declaration-list> <optional-statement-list> }
Declaracions de selecció C té dos tipus de sentències de selecció : la sentència i la sentència .
La declaració té la forma:if (<expression>) <statement1> else <statement2>La instrucció fa que el control es transfereixi a una de diverses sentències depenent del valor d'una expressió:switch (<expression>) { case <label1> : <statements 1> case <label2> : <statements 2> break; default : <statements 3> }
Declaracions d'iteració C té tres formes de declaració d'iteració:do <statement> while (<expression> ) ;
while (<expression> ) <statement>
for (<expression> ; <expression> ; <expression> ) <statement>A les sentències i , la subinstrucció s'executa repetidament sempre que el valor de l' sigui diferent de zero (equivalent a true). Amb , la prova, inclosos tots els efectes secundaris de , es produeix abans de cada iteració (execució de ); amb , la prova es produeix després de cada iteració. Per tant, una instrucció sempre executa la seva subinstrucció almenys una vegada, mentre que pot no executar la subinstrucció en absolut.
Declaracions de salt Una instrucció pot aparèixer només dins d'una instrucció d'iteració i fa que el control passi a la part de continuació del bucle de la instrucció d'iteració més interna. És a dir, dins de cadascuna de les declaracionswhile (expression) { /* ... */ cont: ; }
do { /* ... */ cont: ; } while (expression);
for (expr1; expr2; expr3) { /* ... */ cont: ; }
Funcions Sintaxi La definició de la funció AC consta d'un tipus de retorn ( si no es retorna cap valor), un nom únic, una llista de paràmetres entre parèntesis i diverses declaracions:<return-type> functionName( <parameter-list> ) { <statements> return <expression of type return-type>; }
Punter a funció Un punter a una funció es pot declarar de la següent manera:<return-type> (*<function-name>)(<parameter-list>);
Referències
Categoria:Llenguatge de programació C