Você está na página 1de 8

1a)No, a definio do tipo do ponteiro justamente para adequar quela varivel

na qual ele ir apontar. Um ponteiro como qualquer varivel, deve ter um tipo, que

o tipo da varivel para a qual ele aponta.

b) & (i comercial) que fornece o endereo de determinada varivel. Atribui


o endereo de uma varivel para um ponteiro.
* (asterisco) que acessa o contedo de uma varivel, cujo endereo o valor do
ponteiro. Devolve o valor endereado pelo ponteiro.
c) Tipo da funo, o parametro e o retorno.
d) #include <stdio.h>
#include <stdlib.h>
int fatorial(int x)
{
if(x){
return x*(fatorial(x-1));}
else{
return 1;}
}

main()
{
int x,y;
printf("\n Digite um numero: ");
scanf("%d",&x);
y=fatorial(x);
printf("Fatorial:\n%d",y);
system("pause");
}
e)O primeiro ponto principal de uma funo recursiva possuir um critrio
de parada para que a funo no chame a si mesma infinitas vezes. E uma
funo recursiva pode esgotar a memoria de um computador rapidamente.
f) O argc (argument count) um inteiro e possui o nmero de argumentos
com os quais a funo main() foi chamada na linha de comando. Ele , no
mnimo 1, pois o nome do programa contado como sendo o primeiro
argumento.
O argv (argument values) um ponteiro para uma matriz de strings. Cada
string desta matriz um dos parmetros da linha de comando. O argv[0]

sempre aponta para o nome do programa (que, como j foi dito,


considerado o primeiro argumento).
g)A funao atoi recebe como parmetro um ponteiro para um vetor de char (string) e

devolve como retorno um nmero inteiro. O vetor de caracteres precisa ser terminado por

um caractere nulo e a sua falta faz a funo manipular incorretamente os dados do vetor.

Questo 2)
#include <stdio.h>
#include <stdlib.h>
int fatorial(int x)
{
if(x){
return x*(fatorial(x-1));}
else{
return 1;}
}
main()
{
int x,y;

printf("\n Digite um numero: ");


scanf("%d",&x);
y=fatorial(x);
printf("Fatorial:\n%d",y);
system("pause"); }
Questo 3)
#include<stdio.h>
#include<stdlib.h>
int recebe( int *a, int *b, int*c)
{ int aux,aux1;
aux=*a;
aux1=*c;
*a=*b;
*c=aux;
*b=aux1;
printf("\n\nOs valores trocados sao: a= %d, b= %d, c=
%d\n\n", *a,*b,*c);
}
main()
{ int x,y,z;
printf("\nDigite um valor para x:\n");
scanf("%d", &x);
printf("\nDigite um valor para y:\n");
scanf("%d", &y);
printf("\nDigite um valor para z:\n");
scanf("%d", &z);
printf("\n\nValores ordenados sao: a= %d b= %d c= %d
\n", x,y,z);
recebe(&x,&y,&z);
system("pause");
}

Questo 4)
#include<stdio.h>
#include<stdlib.h>
int fat(int n){
int s;
if(n==0)

return 1;
else
{
s= n * fat(n-1);
return s;
}

}
void arranjo(int *n , int *m){
int x, y;
x=(*n)-(*m);
y=fat(*n)/fat(x);
(*n)=y;
}
main(){

int a,b,k;
do{
printf("Digite 2 numeros( o 1 > ou = ao 2 )\n");
scanf("%d%d",&a,&b);}while(a<b);
arranjo(a,b);
printf("O arranjo dos numeros e %d",a);
system("pause");

}
Questo 5)
#include<stdio.h>
#include<stdlib.h>
int s(int n)
{ if(n==1)
return 0;
else
return 3+s(n-1);
}
main()
{ int num,x;
printf("Digite um numero\n");
scanf("%d", & num);
x=s(num);
printf("\n\nA soma do numero e:%d\n",x);
system("pause");
}
Questo 6)
#include<stdio.h>
#include<stdlib.h>
int t( int n)
{ if(n==1) // t(1)=1
return 1;
else

return n*3*t(n-1); // t(n)=n*3*t(n-1)


}
main()
{ int num,m;
printf("Digite um valor:\t");
scanf("%d", & num);
m=t(num);
printf("\n\nO resultado e:%d\n\n", m);
system("pause");
}
Questo 7)
#include<stdio.h>
#include<stdlib.h>
void func1()
{ int a, b, *p;
a = 2;
p=&b;
*p = a;
printf("\n a= %d b= %d\n\n", a, b); }
void func2()
{ int x, y, *p;
p=&x;
*p = 15;
y = *p;
printf("\n x= %d y= %d\n\n", x, y); }
void func3 ()
{ int i=0,*p,vet[5] = {15, 25, 35, 45, 55};
p=vet;
do { printf(" %d ", p[i]);
i++; }while( i<5 );
}
main()
{ func1();
func2();
func3();
system("pause");
}

Questo 8 e 9)
#include <stdio.h>
#include <stdlib.h>
int *vetor;
main(void)
{

vetor = (int *) malloc(11);


printf("Digite um numero: ");
scanf("%d",&vetor);
printf(" %d ", vetor);
system("pause");
}

Questo 10)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
float vet[11];
int i;
void armazena() //
{ srand((unsigned)time(NULL));
for(i=0;i<10;i++)
{ vet[i]=rand()%10;}
Questo 11)
float media()
{ float s=0;
float m;
for(i=0;i<10;i++)
{ s=s+vet[i];
}
m=s/10;
return m;
}

Questo 12)
void imprime()
{ for(i=0;i<10;i++)
{ printf(" %f ", vet[i]);}
}

Questo 13)
main()

{ float x;
armazena();

x=media();
imprime();
printf("\n\n A media e:%f",x);
system("pause");
}
Questo 14)
#include <stdio.h>
#include <stdlib.h>
main(int argc ,char *argv[]){
int i;
if(argc>1){
for(i=1;i<argc;i++){
printf("%s\n",argv[i]);
}
}
system("pause");
}

Você também pode gostar