Você está na página 1de 5

Guia Rápido para Linguagem C

(Baseado no Livro: Algoritmos e Programação. Autor: Afonso Inácio Orth)

I - Constantes em C

As constantes em C podem ser de três tipos básicos: Numéricas, Lógicas e Literais.


Numéricas:
c) inteiras : 120, +561, -240
d) reais:
b.l) Notação Comum : 12.35, -.5, +5.
b.2) Notação Científica : 1.2E2, -0.56E-5, +1.78E+11

Em C não existem constantes lógicas. Tudo o que não é zero é true. Só o que for zero é false. _

Literais
É qualquer conjunto de caracteres colocado entre aspas.
Ex.: "João da Silva", "120"
O último representa o caractere aspas quando se quer usá-lo como parte da constante literal.

II - Variáveis em C

Variável é o nome dado a uma localização de memória na qual é possível armazenar o valor de uma constante.
Em C as regras de formação dos nomes de variáveis são as seguintes:
4. O primeiro caractere do nome deve ser uma letra de A até Z, maiúscula ou minúscula. O Compilador C faz distinção
entre letra maiúscula e minúscula. Isto exige algum cuidado para não se usar variáveis diferentes com mesmo objetivo;
5. Os demais caracteres, se houver, devem ser letras ou dígitos ou o símbolo de quebra “_”.

6. O número de caracteres do nome da variável não é limitado. Contudo, em algumas implementações o Compilador só
reconhece até o caractere 63. Os demais caracteres são ignorados.
Portanto, são nomes de variáveis válidos em C :
A
a
valor_de_variavel
Valor_de_variavel
Valor_de_Variável

Tanto o A e o a são variáveis diferentes, quanto o são as três últimas apresentadas.

Não são válidos, por exemplo:


Media aritmética ( não são aceitos espaços em branco no nome de uma variável)
n° ( apenas letras ou dígitos são aceitos )
5a (o primeiro caractere do nome deve ser letra)
Al.5 (ponto não é nem letra e nem dígito )

1
III Expressões em C

Antes de mostrar a tradução de algumas expressões aritméticas para C é importante chamar a atenção para alguns pontos:

1. Quando existir numerador ou denominador de fração que não seja simples, isto é, que envolve uma ou mais operações, na
tradução para C este numerador ou denominador deve ser colocado entre parênteses;
2. O C não usa colchetes ou chaves em expressões aritméticas como elementos de agrupamento de operações, portanto, estes
símbolos se aparecerem devem ser substituídos por parênteses, podendo-se ter vários níveis de parênteses;
3. Na matemática, em muitas ocasiões, os operadores podem ficar implícitos. Em C nenhum operador pode ficar implícito.
4. Os operadores aritméticos em C são os apresentados abaixo:
Adição +
Subtração -
Multiplicação *
Divisão /
Resto inteiro da divisão %
Incremento ++
Decremento --

5. O operador de atribuição em C é o " = "


6. Operações para as quais não há operadores são resolvidas por meio de funções, das quais as mais usuais já estão pré-definidas.
No caso do C, as principais funções pré-definidas são :

pow (base, expoente ) potenciação tipo real ou inteiro


sqrt(X) raiz quadrada de X tipo real
7. Os operadores relacionais em C são os seguintes:
= ==
< <
> >
≥ >=
≤ <=
≠ !=
8. Os operadores lógicos em C são os abaixo listados:
não !
e &&
ou ||

9. A prioridade dos operadores em C é a seguinte:


9.1 Funções
9.2 + + , - -
9.3 *, /, %, &&
9.4 +, -, ||
9.5 ==, !=, <=, <, >, >=
9.6 Parênteses podem alterar esta ordem.
9.7 Da esquerda para a direita em caso de indeterminação.

2
IV - Linguagem algorítmica x Linguagem C Definição de variáveis:

Definição de comandos:
Espera receber um inteiro decimal na
%d
entrada
Espera um único caractere sem
%c
espaço em branco
Espera receber um número em ponto
%f
flutuante na entrada
%s Espera uma string de caracteres

m, n, i: inteiro int m, n, i;

a, b, c : real float a, b, c ;
nome, ender : literal char nome, ender ;
V(10): vetor de inteiro int V[10];
M(5,5): matriz de real float M[5][5];

Empregado Registro
struct Empregado
Nome(30): Literal {
Idade : Inteiro char Nome[30];
Salário: Real int Idade;
float Salário;
Fim_Registro }

Início {
Fim }
Ler (a) onde a é um valor inteiro scanf ("%d", &a );
Escrever (x, y, (x+y) / 3) printf ("%f %f %f ,x, y, (x+y)/3 );
x=5 x = 5;
2
d = b -4ac d = p o w (b ,2 ) -4 *a *c;
Se x ≠ 0 e y = l if (x != O && y = 1)
então ler (a, b, c ) scanf ("%f %f %f",&a, &b, &c);
Se b2-4ac < O ou a = O if (pow (b, 2)-4*a*c<0 || a==0)
então x = a + b x = a + b;
senão x = a – b else x = a - b ;

3
Caso i for switch ( i )
Início {
1: x = a + b case l : x = a + b;
2 : x = a-b break;
3: x = axb case 2: x = a - b;
4: x = a/b break;
case 3: x = a * b;
senão x = 0 break;
case 4: x = a / b;
Fim break;
default: x = 0;
}
i=0 i = 0;
Enquanto i < 5 Início while ( i < 5 )
Ler (a, b, c ) {
me = a scanf(%d %d %d ", &a,&b, &c)
Se me > b então me = b me = a;
Se me > c então me = c if (me > b ) me= b;
if (me > c ) me = c;
Escrever (me , " É o menor ") printf ("%d E o menor ", me );
i :=i + l i++
Fim_enquanto }

Para i = l até 10 for(i= l;i<=10;i++ )


Ler(V (i )) scanf ("%d", &V[ i ])
Fim Para i

Para val = l até m for (val = l; vai <= m; val++) {


Início Soma += m;
Soma= Soma + m m ++;
m = m+ l }
Fim Para val
Para n = 10 até l For(n= 10;n>=l;n --)
Escrever ( n x n ) printf ("%d", n*n);
Fim Para n

Observação:

Para se escrever um programa em C costumam-se utilizar uma quantidade de bibliotecas do C já prontas, das quais
serão apresentadas somente algumas:

# include <stdio.h>
# include <conio.h>
# include <math.h>
# inclide <stdlib.h>

4
Lê um nome do teclado Geração de Números Aleatórios em uma Matriz 2X3
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
int main () #include <time.h>
{ int random(int n){
char nome[20]; return rand()%n;
printf("digite o nome:"); }
gets(nome); int main(){
printf("O nome digitdo: %s\n", nome2); srand((unsigned) time(NULL));
system("pause"); int x[2][3];
return 0; int i,j;
} for(i=0;i<2;i++)
for(j=0;j<3;j++){
x[i][j]=random(10);
printf("o val de x[%d][%d]= %d\n",i,j, x[i][j]);
}

system("pause");
return 0;
}//fim

Algoritmo Raízes Código Raízes


a, b, c, x, xl, x2, d : Reais #include <stdio.h>
Início #include <conio.h>
Ler ( a, b, c ) #include <math.h>
Se a = 0 então se b ≠0O então Início #include <stdlib.h>
x = -c/b
Escrever ( x ) int main ()
Fim {
senão Escrever ( c ) float a, b, c, x, xl, x2, d ;
senão Início scanf ("%f %f %f" , &a, &b, &c );
d = b2-4ac
Se d < 0 então Escrever ( " Equação sem raízes if(a==0) if (b !=0){ x = -c/b;
reais" ) printf ("%f ", x);
senão Início }
else printf ("%f", c);
else {
d = b*b - 4*a*c;
if ( d < 0 ) printf ( " Equação sem raizes reais\n ");
else {
xl=(-b + sqrt(d))/(2*a);
x2 = (-b - sqrt (d )) / ( 2 * a);
printf ("%f %f\n", xl,x2);
Escrever (xl, x2 )
}
Fim }
Fim system("pause");
return 0;
Fim }