Вы находитесь на странице: 1из 3

Estrutura do programa C /* comentrios */

#include <nome do arquivo> variveis globais prottipos das funes int main(void) { variveis locais corpo da funo return(0);

Formato %d %o %x %c %s %f %%

Descrio Nmero inteiro decimal Nmero inteiro octal Nmero inteiro hexadecimal Um nico caracter String Nmero em ponto flutuante Exibe um %

Operadores relacionais Operador > >= < <= == != Operadores lgicos Operador && || !

Descrio Maior que Maior ou igual Menor que Menor ou igual Igual Diferente de Descrio AND lgico OR lgico NOT lgico

Funo getchar Leitura de caracter. var = getchar(); ou getchar(); Funo scanf Leitura de valores. scanf(formato, &variavel); Formato %d %f %lf %c %s Tipo int float double Um caracter Uma string. Espao em branco finaliza entrada.

tipo_de_retorno nome_da_funo(lista_de_parmetros) { variveis locais corpo da funo return(valor); ou return;

Operador ternrio Avalia condio, se verdadeira assume valor1 seno valor2. (condio)?valor1:valor2 Operador sizeof Calcula tamanho em bytes ocupado por varivel, arranjo ou tipo. sizeof(expresso) ou sizeof(tipo) Operador de moldagem ou cast Converte valor de um tipo para outro. (tipo) valor Comando if Executa comandos condicionalmente. if(condio){ comandos a executar se condio verdadeira } else{ comandos a executar se condio falsa } Comando do while Repete enquanto condio for verdadeira, testando no final do lao. do{ comandos a serem repetidos }while(condio); Comando while Repete enquanto condio for verdadeira, testando no incio do lao. while(condio){ comandos a serem repetidos } Comando continue Ignorar o restante da passagem atual em um lao. continue; Comando break Finaliza o lao atual break;

Diretiva #include Inclui arquivo da biblioteca padro #include <nome do arquivo> Inclui arquivo da diretrio atual #include "nome do arquivo" Tipos de dados Tipo Descrio Bytes Intervalo de valores char Um nico caracter 1 0 a 255 int Nmeros inteiros 4 -2147483648 a +2147483647 float Nmeros em ponto flutuante 4 3,4.10-38 a 3,4.1038 com preciso simples double Nmeros em ponto flutuante 8 3,4.10-4932 a 1,1.10-4932 com preciso dupla Diretiva #define Definio de macro (valor constante): #define nome valor Arranjos Declarao de vetores: tipo nome[tamanho]; Declarao de matriz: tipo nome[linhas][colunas]; Declarao de string: char nome[tamanho]; Exemplos de inicializao: int vet[3]={20, 5, 1}; char uf[3]=RS; Printf Exibe valores. printf(formato, valores);

Funo gets Leitura de string. gets(string); Operadores aritmticos Operador Descrio = Atribuio + Soma Subtrao * Multiplicao / Diviso (com valores int, o resultado no ter casas decimais) % Resto da diviso inteira ++ Incremento pr ou ps-fixado -Decremento pr ou ps-fixado

Operadores combinados Expresso Normal a = a + b; a = a - b; a = a * b; a = a / b; a = a % b;

Expresso Simplificada

a+=b; a-=b; a*=b; a/=b; a%=b;

Passagem de parmetros por referncia Funes de manipulao de strings : <string.h> Neste caso passa-se o endereo da varivel como parmetro para a funo, para char *strcpy(char *destino, char *origem); Comando for Copia o contedo de uma string para outra. Deve ser empregado para Cria um lao que contm um conjunto de comandos que ser executado um uma varivel de parmetro declarada como ponteiro. Permite alterar indiretamente o valor da varivel local na funo chamada. atribuio de strings, no lugar do operador normal de atribuio (=). nmero fixo de vezes. funcao(&variavel); Parmetros: for(inicializao; condio; atualizao){ destino: String que ir receber o contedo. comandos a serem repetidos Declarao de estruturas origem: String cujo contedo ser copiado. } struct etiqueta { Valor de retorno: tipo membro_1; A funo retorna o endereo do primeiro caracter da string destino. tipo membro_2; Comando switch tipo membro_n; Compara uma varivel com diversos valores diferentes. char *strncpy(char *destino, char *origem, int n); }; Copia no mximo n caracteres de uma string para a outra. No coloca o '\0' no switch(var){ final de destino., a no ser que tenha atingido o final da string origem. case valor1: Declarao de variveis de estruturas Parmetros: comandos a executar se var==valor1 struct etiqueta variavel; destino: String que ir receber o contedo. break; ... origem: String cujo contedo ser copiado. case valor2: variavel.membro_1 = 0; comandos a executar se var==valor2 n: Nmero mximo de caracteres a serem copiados. break; Valor de retorno: Ponteiros para estruturas default: A funo retorna o endereo do primeiro caracter da string destino. comandos a executar se nenhum dos valores struct etiqueta *ponteiro; } ... char *strcat(char *destino, char *origem); ponteiro = &variavel; Concatena strings, isto , copia o contedo da string origem ao final da string ponteiro->membro_1 = 0; Declarao de ponteiros destino. O contedo anterior de destino preservado. Parmetros: Um ponteiro uma varivel declarada para armazenar o endereo de memria Alocao Dinmica de Memria: <stdlib.h> onde est armazenada outra varivel. destino: String que ir receber, no seu final, o contedo. Ela deve ter tipo *nome_do_ponteiro; void *malloc(int tamanho); tamanho suficiente para armazenar o contedo atual mais o novo. Aloca dinamicamente uma rea de memria com o tamanho solicitado . origem: String cujo contedo ser acrescentado ao final da outra. Parmetros: Operadores para ponteiros Valor de retorno: tamanho: Quantidade de bytes a serem reservados. Deve-se chamar a A funo retorna o endereo do primeiro caracter da string destino. Operador Descrio ateno de que, por ser definido em bytes, na alocao de arranjos o tamanho & (Endereo de) Fornece o endereo de memria onde est no igual ao nmero de elementos. Deve-se utilizar a frmula int strcmp(char *s1, char *s2); armazenada uma varivel. num_elementos*sizeof(tipo). * (Valor apontado por) Valor armazenado na varivel apontada Compara o contedo de duas strings. Esta funo deve ser utilizada em Valor de retorno: por um ponteiro. substituio aos operadores relacionais no caso de uso com strings. Retorna o endereo do incio da memria alocada, ou retorna NULL se no Parmetros: existir memria disponvel suficiente. s1 e s2: As duas strings a serem comparadas. Apontando para vetores Valor de retorno: O nome de um vetor (sem ndice) corresponde ao endereo do seu primeiro void *realloc(void *mem, int tamanho); A funo retorna 0 se ambas o contedo de ambas as strings so iguais. elemento. Altera o tamanho da rea alocada anteriormente por malloc. Retorna algum valor maior que 0 se o contedo de s1 maior em ordem que s2 e ponteiro = vetor; Parmetros: um valor menor que 0 se o contedo de s1 menor em ordem que s2. equivale a mem: Endereo da memria a ser realocada. Deve-se passar nesta posio o ponteiro = &vetor[0]; ponteiro que anteriormente recebeu o retorno da funo malloc. int strncmp(char *s1, char *s2, int n); Compara apenas um trecho do incio de duas strings com tamanho Valores em um vetor apontado por um ponteiro podem ser obtidos atravs do tamanho: Novo tamanho, em bytes, da rea alocada. Este valor pode ser especificado. ponteiro (colocando o ndice nele, sem o *) maior ou menor que o originalmente alocado. Parmetros: Valor de retorno: ponteiro = vetor; Se a rea de memria no puder ser realocada retorna NULL, seno retorna o s1 e s2: As duas strings a serem comparadas. v=ponteiro[0]; endereo da rea alocada, que deve ser atribudo novamente ao ponteiro. n: Nmero de caracteres a serem comparados. equivale a Valor de retorno: v=vetor[0]; void free(void *mem); O mesmo da funo strcmp (ver acima). Libera a rea de memria alocada previamente por malloc. Operaes aritmticas com ponteiros Parmetro: Incrementar um ponteiro que aponta para vetor far com que ele aponte para o mem: Endereo da memria a ser realocada. Deve-se passar nesta posio o prximo elemento . Decrement-lo faz com que ele aponte para o elemento ponteiro que anteriormente recebeu o retorno da funo malloc. anterior. Valor de retorno: p++; Esta funo no retorna nenhum valor.

int strlen(char *str);

Conta o nmero de caracteres armazenados em uma string, antes do '\0'. Parmetros: str: A string que ter seu tamnho calculado. Valor de retorno: Retorna o nmero de caracteres da string.

int atoi(char *str); Converte uma string para um valor numrico inteiro. Parmetros: str: String a ser convertida. Valor de retorno: Retorna um nmero inteiro correspondente ao valor armazenado na string.

Arquivo Descrio stdin Dispositivo de entrada padro: normalmente o teclado. stdout Dispositivo de sada padro: normalmente o vdeo. stderr Dispositivo de sada de erros: sempre o vdeo.

int fprintf(FILE *arquivo,char *formato,...);


Similar funo printf, mas permite que seja especificado o arquivo de sada (printf sempre imprime em stdout). Parmetros: arquivo: Em qual arquivo ser escrito o contedo. muito comum ser utilizado com stderr para apresentar mensagens de erros e advertncias ao usurio. formato: A string de formato idntica da funo printf. ...: conjunto varivel de dados a serem escritos. Valor de retorno: Assim como printf, esta funo retorna o nmero de caracteres que foram escritos.

double atof(char *str); Funes de teste de classe de caracter: <ctype.h> Todas estas funes recebem um nico caracter como parmetro e retornam Converte uma string para um valor numrico em ponto flutuante. verdadeiro (um valor diferente de 0) se a condio foi satisfeita, ou falso (0) em Parmetros: str: String a ser convertida. outro caso. Valor de retorno: Retorna um valor double correspondente ao contedo armazenado na string. int isalnum(int c);
Testa se o caracter passado por parmetro uma letra ou dgito numrico.

int isalpha(int c); int isdigit(int c); int islower(int c); int isupper(int c); int isspace(int c);

Testa se o caracter passado por parmetro uma letra.

Argumentos de linha de comando int main(int argc, char **argv)

argc: Nmero de argumentos fornecidos na linha de comando, contando o int fgetc(FILE *arquivo);
prprio nome do programa.

Testa se o caracter passado por parmetro um dgito numrico.

argv: um vetor de strings (na forma de ponteiro para ponteiros para char) Parmetros: onde cada posio aponta para um dos argumentos passados. argv[0] arquivo: A varivel que recebeu o valor de retorno da funo fopen,

L o prximo caracter de um arquivo aberto.

Testa se o caracter passado por parmetro uma letra minscula.

Testa se o caracter passado por parmetro uma letra maiscula.

sempre o nome do programa, argv[1] o segundo argumento fornecido, e correspondente ao arquivo que ser lido. assim por diante. Valor de retorno: Retorna o caracter lido, em caso de leitura bem sucedida, ou EOF, se o final do arquivo foi alcanado. Funes de entrada e sada em arquivos: <stdio.h>

int fputc(int c, FILE *arquivo); Abre um arquivo, tornando-o disponvel a ser acessado pelo programa Escreve um caracter em um arquivo aberto. Parmetros: Testa se o caracter passado por parmetro um espao em branco. O caracter Parmetros: nome: String contendo o nome do arquivo a ser aberto. correspondente barra de espaos, quebra de linha e tabulaes so considerados c: O caracter a ser gravado no arquivo. modo: Modo de abertura do arquivo. Indica qual tipo de acesso ao arquivo brancos. est sendo solicitado para o sistema operacional. Deve ser uma string arquivo: A varivel que recebeu o valor de retorno da funo fopen, correspondente ao arquivo que ser escrito. contendo uma combinao dos caracteres apresentados na tabela: Funes de converso de caracter: <ctype.h> Valor de retorno: Retorna o prprio caracter, se ele foi escrito com sucesso, ou EOF, em caso de Recebem um caracter por parmetro retornam este caracter convertido para outro Caracter Descrio erro. formato (caixa). "r" Abre o arquivo somente para leitura int tolower(int c); Cria um novo arquivo para escrita. Se j existir um arquivo "w" Converte uma letra para o formato minsculo. com o mesmo nome, ele eliminado e recriado vazio "a" Abre um arquivo para escrita no final do arquivo int toupper(int c); "+" Acesso de leitura e escrita Converte uma letra para o formato maisculo. "b" Arquivo binrio "t" Arquivo texto Funes diversas: <stdlib.h> int fclose(FILE *arquivo); void exit(int codigo); Esta funo finaliza a execuo do programa, podendo ser chamada a partir de Fecha um arquivo aberto, tornando-o indisponvel para o programa. Parmetros: qualquer funo, ou em substituio ao return, na funo main. arquivo: A varivel que recebeu o valor de retorno da funo fopen, Parmetros: codigo: Valor a ser retornado pelo programa. Por padro deve ser 0 (zero) no correspondente ao arquivo a ser fechado. caso de fim normal, ou um valor maior que 0, caso o programa esteja sendo Valor de retorno: A funo retorna 0 (zero) se o arquivo pode ser fechado ou EOF se algum erro finalizado por alguma situao anormal. ocorreu.

FILE *fopen(char *nome,char *modo);