para short ao inves de int aparece nalista de argumento, ou pela letra l (letra ele) para indicar que que um apontador para longaparece na lista de argumento. Semelhantemente, os caracteres de conversao e, f e g podemser precedidos por l para indicarem que um apontador para double ao inves de float esta nalista de argumento. Exemplos:Codigo Formato%c Um unico caracter (char)%d Um numero decimal (int)%i Um numero inteiro%hi Um short int%li Um long int%e Um ponto flutuante%f Um ponto flutuante%lf Um double%h Inteiro curto%o Numero octal%s String%x Numero hexadecimal%p Ponteirosprintf e sscanfsprintf e sscanf sao semelhantes a printf e scanf. Porem, ao inves de escreverem nasaida padrao ou lerem da entrada padrao, escrevem ou leem em uma string. Os prototipossao:int sprintf (char *destino, char *controle, ...);int sscanf (char *destino, char *controle, ...);Estas funcoes sao muito utilizadas para fazer a conversao entre dados na forma numericae sua representacao na forma de strings. No programa abaixo, por exemplo, a variavel i e"impressa" em string1. Alem da representacao de i como uma string, string1 tambem contera"Valor de i=" .#include <stdio.h>int main(){int i;char string1[20];printf( " Entre um valor inteiro: ");scanf("%d", &i);sprintf(string1,"Valor de i = %d", i);puts(string1);return 0;}Ja no programa abaixo, foi utilizada a funcao sscanf para converter a informacaoarmazenada em string1 em seu valor numerico:#include <stdio.h>int main()75{int i, j, k;char string1[]= "10 20 30";sscanf(string1, "%d %d %d", &i, &j, &k);printf("Valores lidos: %d, %d, %d", i, j, k);return 0;}AUTO AVALIACAOVeja como voce esta. Escreva um programa que leia (via teclado) e apresente umamatriz 3X3 na tela. Utilize os novos codigos de formato aprendidos para que a matriz seapresente corretamente identada. Altere os tipos de dados da matriz (int, float, double) everifique a formatacao correta para a identacao. Verifique tambem a leitura e impressao denumeros hexadecimais.Abrindo e Fechando um ArquivoO sistema de entrada e saida do ANSI C e composto por uma serie de funcoes, cujosprototipos estao reunidos em stdio.h . Todas estas funcoes trabalham com o conceito de"ponteiro de arquivo". Este nao e um tipo propriamente dito, mas uma definicao usando ocomando typedef. Esta definicao tambem esta no arquivo stdio.h. Podemos declarar umponteiro de arquivo da seguinte maneira:FILE *p;p sera entao um ponteiro para um arquivo. E usando este tipo de ponteiro que vamospoder manipular arquivos no C.fopenEsta e a funcao de abertura de arquivos. Seu prototipo e:FILE *fopen (char *nome_do_arquivo,char *modo);O nome_do_arquivo determina qual arquivo devera ser aberto. Este nome deve servalido no sistema operacional que estiver sendo utilizado. O modo de abertura diz a funcaofopen() que tipo de uso voce vai fazer do arquivo. A tabela abaixo mostra os valores de modovalidos:Modo Significado"r" Abre um arquivo texto para leitura. O arquivo deve existir antes de ser aberto."w"Abrir um arquivo texto para gravacao. Se o arquivo nao existir, ele sera criado. Se jaexistir, o conteudo anterior sera destruido."a"Abrir um arquivo texto para gravacao. Os dados serao adicionados no fim do arquivo("append"), se ele ja existir, ou um novo arquivo sera criado, no caso de arquivo naoexistente anteriormente."rb"Abre um arquivo binario para leitura. Igual ao modo "r" anterior, so que o arquivo ebinario."wb"Cria um arquivo binario