Red de conocimiento informático - Espacio del host - Quiero encontrar algunos ejemplos de programación en C++

Quiero encontrar algunos ejemplos de programación en C++

1: Preguntas de opción múltiple

1. Las funciones de las siguientes funciones son: ( )

int fun(char *x)

{

char *y=x;

while(*y++){};

return y-x-1;

}

Encuentra la longitud de la cadena

b . Encuentre la ubicación de almacenamiento de la cadena

c. Compare los tamaños de las dos cadenas

d. Conecte la cadena x a la parte posterior de la cadena y

2. Si existen las siguientes descripciones y declaraciones, y 0

int a[ ]={1,2,3,4,5,6,7,8,9,0},*p,i;

p=a;

a.*(a+i)

b.a[p-a]

c. (&a[i])

3. La salida del siguiente programa es: ( )

#include

void main()

{

int a [10]={1,2,3,4,5,6,7,8,9,10},*p=a;

printf("%d", *(p +2 ));

}

a. d.2

4. Si existen las siguientes definiciones y declaraciones, y 0

int a[ ]={1,2,3,4,5 ,6 ,7,8,9,0},*p,i;

p=a;

&(a+1)

b.a++

c.*p

d. Conocido: int a,x=1; entonces la siguiente declaración de asignación correcta es: ( )

a. a=(a[1]+a[2])/2;

b. a=(a[1]+a[2])/2;

c. a=x+2;

d. a="bueno";

6. Conocido: int a[]={1,2,3,4,5,6}, *p=a el valor de 5 en la siguiente expresión es: ( )

a.p+ =3; ;*(p++);

b.p+=5;*p++ ;

c.p+=4;*++p;

d .p+ =4;++*p;

7. Si existe la siguiente declaración y 0<=k<6, entonces la declaración que representa correctamente la dirección del elemento de la matriz es ( )

int x[]={1,9,10,7 ,32,4}, *ptr=x,k=1;

a.x++

b.&ptr

c.&ptr[k]

d .&(x+1)

8. Si hay una descripción: int i,j=7,*p;p=&i; entonces la declaración equivalente a i=j es ( )

a.i=*p; b .*p=*&j;

c.i=&j

d.i=**p;

9. Supongamos que p1 y p2 son variables de puntero que apuntan a la misma matriz unidimensional de tipo int y k es una variable de tipo int. La declaración que no se puede ejecutar correctamente es ( )

a.k=*p1+*. p2;

b.p2=k;

c.p1=p2;

d.k=*p1*(*p2);

10. Dada la siguiente definición de función, el valor devuelto por la función es ( )

int * fun(int a)

{

int *t,n;

n=a;t=&n;

return t;

}

Un valor de dirección de unidad de almacenamiento no disponible

b. Un valor de dirección de unidad de almacenamiento disponible

c El valor en n

d. El valor en el parámetro formal a

II: Complete los espacios en blanco

1. El resultado de salida del siguiente programa es

#include

void.

principal()

{

int *v,b;

v=&b=100; > printf("%d\n",b);

}

2. El significado de la declaración "int (* p)();"

3. Declaración de descripción de función conocida: void *fun(); entonces su significado es

4 Conocido: int i;char *s="a\045+045\'b" ; ejecutando la sentencia "fot(i=0;*s++;i++);", el resultado de la variable i es

5. .

int add(intx,int y, z)

{ =x+y;}

6. >

p>

void fun(int *x)

{ printf("%d\n",++*x)' }

main( )

{

int a=25;

divertido(&a);

}

7. Proporcione el siguiente programa Resultados de la operación

#include

void main()

{

int a[ ]={1 ,2,3,4,5};

int x, y, *p;

p=&a[0];

x=*( p+2);

y=*(p+4);

printf("*p=%d,x=%d,y=%d \n", *p,x,y);

return;

}

8. Dé los resultados de ejecutar el siguiente programa

#include

void callbyval(int a,int b,int c)

{

a=3;b= 2;c=1 ;

}

void callbypointer(int* a,int* b,int* c)

{

*a=3 ;*b=2;*c=1;

}

llamada nula por referencia(int& a,int& b,int& c)

{

a=1;b=2;c=3;

}

void main()

{

int a=1,b=2,c=3;

int& a1=a;

int& b1=a;

int& c1 =a;

p>

callbyval(a,b,c);

cout<

callbypointer (&a,&b,&c) ;

cout<

callbyreference(a1,b1,c1);

cout<

}

9. Da los resultados de ejecutar el siguiente programa

#include

void ast(int x,int y,int *cp,int *dp)

{

*cp=x*y

*dp=x%y

}

void principal()

{

int a,b,c,d;

a=2; b=3;

ast(a,b,&c,&d);

cout<

}

10. Proporcione los resultados de ejecutar el siguiente programa

#include

void main()

{

int a=10,b=0,*pa, *pb;

pa=&a; pb=&b;

printf("%d,%d\n",a; , b);

printf("%d,%d\n",*pa,*pb);

a=20;

*pa=a++; *pb=b++;

printf("%d,%d\n",a,b);

printf("%d,% d \n",*pa,*pb);

(*pa)++;

(*pb)++;

printf(" % d,%d\n",a,b);

printf("%d,%d\n",*pa,*pb);

}

Tres: Preguntas de respuesta corta y programación

1. Determine el valor de ab después de ejecutar la siguiente instrucción

int *var, ab;

ab=100;

var=&ab;

p >

ab=*var+10;

2. Se sabe que el puntero p apunta a la figura siguiente, ¿cuál es el valor de la expresión *--p? (Aquí, a[0], a[1], a[2]... solo se usan como códigos para unidades de almacenamiento consecutivas, a[0] está en la dirección baja y a[1] está en la dirección alta ).

3. Hay una definición: double var; entonces,

a) ¿Cuál es la declaración de definición que permite que el puntero p apunte a una variable doble?

b) ¿Cuál es la instrucción de asignación para hacer que el puntero p apunte a la variable var?

c) ¿Cuál es la instrucción de llamada a la función scanf para leer datos en la variable var a través del puntero p?

4. Escriba una función para encontrar la longitud de una cadena, ingrese la cadena en la función principal y genere su longitud.

5. Implementación de programación: ingrese una cadena arbitraria desde el teclado y luego ingrese los caracteres que desea encontrar. Si existe, devuelve la posición donde aparece por primera vez en la cadena; de lo contrario, muestra "¡No encontrado en la cadena!". Y tenga en cuenta que para la misma cadena, los caracteres que desea encontrar se pueden ingresar continuamente.

6. Implementación de programación: eliminar subcadena de cadena. Ingrese una cadena desde el teclado y luego ingrese la subcadena que desea eliminar. Finalmente, se genera la nueva cadena después de eliminar la subcadena.

Uno: Preguntas de opción múltiple:

1.A

2.C

3.A

4 .D

5.C

6.A

7.C

8.B

9 .B

10.A

Dos: Completa los espacios en blanco

1. 200

2. p es un puntero a una función, el valor de retorno de esta función es un número entero

3. El valor de retorno de la función fun es un puntero general

4. 8

Dado que for la declaración es Encuentra la longitud de la cadena, para que puedas saber que el resultado de i es 8

5. (1) int * (2) *z

6. 26

7. *p=1 x=3 y=5

8. 123

321

321

9. 6 2

10. 10,0

10,0

21, 31

21, 31

22, 32

22, 32

3. y Respuestas y preguntas de programación

1. Este ejemplo define dos variables, la variable de tipo int ab y la variable de puntero de tipo int var; la declaración var=&ab asigna la dirección de ab a var. . contenido, que es 100. Luego, se asigna *var+10 a la variable ab; entonces, el valor de ab debería ser 110 en este momento.

2. Según la precedencia de los operadores, la expresión *--p=*(--p). Por lo tanto, primero realice la operación --p para mover el puntero p una unidad de almacenamiento a la dirección de dirección inferior, apuntando a a [1]. Luego use el operador "*" para obtener los datos almacenados en la dirección, que es 20.

3. (1) Se requiere definir p como una variable puntero que apunta al tipo doble, por lo que la declaración de definición es: double *p;

(2) Para hacer que p apunte a la variable var, asigne la dirección de var al puntero p, la declaración de asignación es: p=&var;

(3) La declaración para usar la función scanf para asignar los datos leídos a la variable var es: scanf("%lf" ,&var); debido a (2) La dirección de var se ha asignado a p, por lo que esta declaración es equivalente a scanf("%lf",p);

4. El programa es:

#include

int length(char* a);

void main()

{

int len;

char str[20];

printf("Ingrese una cadena: ");

scanf("%s",str);

len=length(str);

printf("La longitud de la cadena es %d",len);

return;

}

int length(char* a)/*función para encontrar la longitud de la cadena*/

{

char *p;

p=a;

int n;

n=0;

while(*p!=' \ 0')

{

n++;

p++;

}

return(n); /p>

}

5. El programa es:

#include

char *strchr( char *string,int letter)

{

while((*cadena!=letra)&&(*cadena))

cadena++;

devolver cadena;

}

void main()

{

int tt=1;

while(tt){

char título[64];

p>

cout<<"Por favor, introduzca una cadena: ";

cin>>title;

char *p;

cout << "Ingrese los caracteres que desea buscar: ";

char ch;

cin>>ch;

p=strchr(title, ch);

if(*p)

cout<<"La primera aparición del carácter en la cadena es: "<

else

cout<<"¡No hay ningún carácter en la cadena!"<

cout<<"¡cunteue!1--counte, 0 --exit"<

cin>>tt;

}

}

6. El programa es:

#include

#in

clude

char* strstr_rep(char *fuente,char *old)

{

int i,j,k,loc=- 1;

for(i=0;fuente[i]&&(loc==-1);i++)

for(j=i,k=0;fuente[j ]==antiguo[k];j++,k++)

if(!old[k+1])

loc=i;

if(loc !=-1)

{

for(k=0;old[k];k++);

for(j=loc,i=loc +k;fuente[i];j++,i++)

fuente[j]=fuente[i];

fuente[i]=NULL;

}

return(fuente);

}

void main()

{

char a[ 50];

cout<<"Por favor, introduzca una cadena:";

cin>>a;

char b[30];

cout<<"Ingrese una subcadena de la cadena anterior:";

cin>>b;

cout<

}