Declara una variable int per a l'edat d'un pacient i mostra-la amb printf().
#include <stdio.h> /* Inclou la biblioteca estàndard d'entrada/sortida */
/* stdio.h conté funcions com printf() i scanf() */
int main(){ /* Funció principal del programa, punt d'entrada d'execució */
int edat = 45; /* Declara una variable enter anomenada 'edat' i li assigna el valor 45 */
/* 'int' és el tipus de dada per a nombres enters */
printf("Edat del pacient: %d anys\n", edat); /* Mostra un missatge per pantalla */
/* %d és un marcador de posició per a enters */
/* \n afegeix un salt de línia al final */
/* 'edat' és la variable que substitueix %d */
return 0; /* Retorna 0 per indicar que el programa ha finalitzat correctament */
/* 0 és el valor estàndard d'èxit en C */
}
Llegeix el nom del mateix gen del tema 1 amb scanf() i imprimeix-lo.
#include <stdio.h> /* Inclou la biblioteca estàndard d'entrada/sortida */
/* Necessària per utilitzar printf() i scanf() */
int main(){ /* Funció principal del programa */
char gen[30]; /* Declara un array de caràcters (cadena de text) anomenat 'gen' */
/* Pot emmagatzemar fins a 29 caràcters + el caràcter nul '\0' */
/* 'char' és el tipus de dada per a caràcters individuals */
printf("Introdueix el nom del gen: "); /* Mostra un missatge demanant dades a l'usuari */
/* No inclou \n perquè el cursor es quedi a la mateixa línia */
scanf("%s", gen); /* Llegeix una cadena de text introduïda per l'usuari */
/* %s és el marcador per a cadenes de text */
/* 'gen' sense & perquè els arrays ja són punters */
/* La lectura s'atura en trobar un espai en blanc */
printf("Gen introduit: %s\n", gen); /* Mostra el gen introduït */
/* %s substitueix per la cadena emmagatzemada a 'gen' */
return 0; /* Finalitza el programa amb èxit */
}
Demana el %GC d'una seqüència (float) i mostra'l amb dos decimals.
#include <stdio.h> /* Inclou la biblioteca estàndard d'entrada/sortida */
int main(){ /* Funció principal del programa */
float gc; /* Declara una variable de tipus float (nombre decimal) anomenada 'gc' */
/* 'float' permet emmagatzemar nombres amb decimals (precisió simple) */
printf("Introdueix el percentatge GC: "); /* Demana a l'usuari que introdueixi el percentatge GC */
scanf("%f", &gc); /* Llegeix un nombre decimal introduït per l'usuari */
/* %f és el marcador per a floats */
/* &gc passa l'adreça de memòria de la variable (necessari per a scanf) */
/* El & és l'operador d'adreça, indica on emmagatzemar el valor llegit */
printf("Percentatge GC: %.2f %%\n", gc); /* Mostra el percentatge amb format */
/* %.2f mostra el float amb 2 decimals */
/* %% mostra el símbol % literal (s'ha d'escapar) */
/* gc és la variable que conté el valor a mostrar */
return 0; /* Retorna 0 indicant execució correcta */
}
Donats dos enters, mostra la suma, la resta, el producte, la divisió entera i el mòdul.
#include <stdio.h> /* Inclou la biblioteca estàndard d'entrada/sortida */
int main(){ /* Funció principal del programa */
int a, b; /* Declara dues variables enteres: 'a' i 'b' */
/* Es poden declarar múltiples variables del mateix tipus separades per comes */
printf("Primer nombre: "); /* Demana el primer nombre a l'usuari */
scanf("%d",&a); /* Llegeix un enter i l'emmagatzema a la variable 'a' */
/* %d és el marcador per a enters (dígits) */
/* &a passa l'adreça de 'a' perquè scanf pugui modificar-la */
printf("Segon nombre: "); /* Demana el segon nombre a l'usuari */
scanf("%d",&b); /* Llegeix un enter i l'emmagatzema a la variable 'b' */
printf("Suma = %d\n", a+b); /* Calcula i mostra la suma d'a i b */
/* L'operador + realitza la suma */
printf("Resta = %d\n", a-b); /* Calcula i mostra la resta d'a menys b */
/* L'operador - realitza la resta */
printf("Producte = %d\n", a*b); /* Calcula i mostra el producte d'a per b */
/* L'operador * realitza la multiplicació */
printf("Divisio entera = %d\n", a/b); /* Calcula i mostra la divisió entera */
/* L'operador / amb enters dóna divisió entera (sense decimals) */
printf("Modul = %d\n", a%b); /* Calcula i mostra el residu de la divisió */
/* L'operador % retorna el residu (mòdul) de dividir a entre b */
return 0; /* Finalitza el programa amb èxit */
}
Converteix una base d'ADN en la seva base complementària d'ARN.
#include <stdio.h> /* Inclou la biblioteca estàndard d'entrada/sortida */
int main(){ /* Funció principal del programa */
char base; /* Declara una variable caràcter anomenada 'base' */
/* Emmagatzemarà una sola lletra: A, C, G o T */
printf("Introdueix una base (A,C,G,T): "); /* Demana a l'usuari que introdueixi una base d'ADN */
scanf(" %c",&base); /* Llegeix un sol caràcter */
/* L'espai abans de %c és important: ignora espais en blanc previs */
/* %c és el marcador per a caràcters */
/* &base passa l'adreça on emmagatzemar el caràcter llegit */
if(base=='A') /* Comprova si la base introduïda és Adenina */
/* == és l'operador de comparació d'igualtat */
/* Les cometes simples '' s'usen per a caràcters individuals */
printf("Complement ARN: U\n"); /* Si és A, mostra Uracil (complement en ARN) */
else if(base=='C') /* Si no era A, comprova si és Citosina */
printf("Complement ARN: G\n"); /* Si és C, mostra Guanina */
else if(base=='G') /* Si no era C, comprova si és Guanina */
printf("Complement ARN: C\n"); /* Si és G, mostra Citosina */
else if(base=='T') /* Si no era G, comprova si és Timina */
printf("Complement ARN: A\n"); /* Si és T, mostra Adenina */
else /* Si no coincideix amb cap base vàlida */
printf("Base incorrecta.\n"); /* Mostra missatge d'error */
return 0; /* Finalitza el programa amb èxit */
}
Exemple: ATG → UAC
#include <stdio.h> /* Inclou la biblioteca estàndard d'entrada/sortida */
int main(){ /* Funció principal del programa */
char adn[4]; /* Declara un array de 4 caràcters per a la seqüència d'ADN */
/* 3 bases + 1 espai per al caràcter nul '\0' */
char arn[4]; /* Declara un array de 4 caràcters per a la seqüència d'ARN */
/* Emmagatzemarà la conversió complementària */
printf("Introdueix una sequencia de 3 bases: "); /* Demana una seqüència de 3 bases */
scanf("%3s", adn); /* Llegeix exactament 3 caràcters (o menys si hi ha espai) */
/* %3s limita la lectura a 3 caràcters per evitar desbordaments */
/* adn sense & perquè és un array (ja és un punter) */
for(int i=0;i<3;i++){ /* Bucle que itera 3 vegades (i=0,1,2) */
/* 'int i=0' inicialitza el comptador a 0 */
/* 'i<3' continua mentre i sigui menor que 3 */
/* 'i++' incrementa i en 1 després de cada iteració */
if(adn[i]=='A') /* Comprova si la base actual és Adenina */
/* adn[i] accedeix al caràcter a la posició i de l'array */
arn[i]='U'; /* Assigna Uracil a la posició corresponent de l'ARN */
else if(adn[i]=='T') /* Comprova si és Timina */
arn[i]='A'; /* Assigna Adenina (complement de Timina en ARN) */
else if(adn[i]=='C') /* Comprova si és Citosina */
arn[i]='G'; /* Assigna Guanina */
else if(adn[i]=='G') /* Comprova si és Guanina */
arn[i]='C'; /* Assigna Citosina */
else /* Si la base no és vàlida */
arn[i]='?'; /* Assigna un interrogant com a marcador d'error */
}
arn[3]='\0'; /* Afegeix el caràcter nul al final de la cadena ARN */
/* '\0' indica el final d'una cadena en C */
/* Sense això, printf() no sabria on acaba la cadena */
printf("ARN: %s\n", arn); /* Mostra la seqüència d'ARN convertida */
/* %s mostra la cadena completa fins a trobar '\0' */
return 0; /* Finalitza el programa amb èxit */
}