El ciclo en el siguiente programa será un ciclo infinito, y el programa siempre se ejecutará y no se puede finalizar (asumiendo que el sistema informático que ejecuta el programa nunca se bloqueará o perderá energía debido a circunstancias inesperadas). (2 minutos)
#include "stdio.h"
int main(){
for(long num=1; num>0; num++)
printf("%ld\n", num);
return 0;
}
Suponga que cierto lenguaje de programa C define dos variables a
, b
y las dos variables no son 0, el a / b
valor de expresión de 0 no lo hará. (2 minutos)
Suponiendo que la definición es la siguiente: int array[5][10];
la declaración define una matriz de matriz. En el que la matriz es un puntero a un tipo de puntero (dos punteros), a saber: int **
. (2 minutos)
El siguiente código, el resultado de la impresión es 133
. (2 minutos)
#include <stdio.h>
int main(){
int a,b;
a = 012;
b = 123;
printf("%d", a+b);
return 0;
}
El siguiente fragmento de código no está estandarizado y el programa puede ejecutarse incorrectamente El motivo es: p
acceso a variables locales a través de punteros tmp
y tmp
el espacio hoho
se ha liberado después de que se ejecuta la función . (2 minutos)
int* hoho(int n){
int tmp;
tmp += n;
return &tmp;
}
/* 此处省略若干行代码 */
int main(){
/* 此处省略若干行代码 */
int *p;
p = hoho(3);
/* 此处省略若干行代码,且这些代码不会修改p的值 */
*p = 6;
return 0;
}
Con respecto a las operaciones de puntero en lenguaje C: los punteros solo tienen operaciones de suma y resta, no operaciones de multiplicación y división. Los punteros pueden sumar y restar constantes; los punteros del mismo tipo se pueden restar, pero no se pueden sumar. (2 minutos)
sizeof(int)
Se puede calcular el número de bytes de memoria ocupados por enteros, pero no es sizeof( )
una función, sino un operador (operador). (2 minutos)
Las variables globales definidas en lenguaje C se almacenan en el área de la pila y las variables locales se almacenan en el área del montón. (2 minutos)
C idioma, %
es el módulo (resto) ojos del operador, sus dos operandos (operando) debe ser un número entero (por ejemplo int
, short
, char
etc.), no puede flotar (por ejemplo double
, float
). (2 minutos)
El siguiente fragmento de código usa el %.2f
formato para imprimir la int
variable sin conversión de tipo, y el resultado de la impresión no lo será 2019.00
. (2 minutos)
#include <stdio.h>
int main(){
int k=2019;
printf("%.2f", k);
return 0;
}
El siguiente código, la sintaxis es correcta: (2 puntos)
Los siguientes nombres no se pueden utilizar como identificadores de lenguaje C: (2 puntos)
Ejecute el siguiente procedimiento, el contenido de la impresión es: (2 puntos)
#include <stdio.h>
int x=5;
void incx( ){
x++;
}
int main( ){
int x=3;
incx( );
printf("%d\n", x);
return 0;
}
Definición de variables int a;
, expresión a = 3, 5;
posterior a la ejecución, a
valores y expresiones son: (2 minutos)
Considere que las siguientes variables están definidas, int a, k;
luego la siguiente declaración no garantiza que el k
valor de la variable se convierta en cero: (2 puntos)
La definición de int score = 75;
los 80 < score < 90
valores de la expresión es: (2 minutos)
La a
suma b
de variables es un double
tipo, a
y b
la forma más adecuada de juzgar la igualdad con el valor es: (2 puntos)
Definido char a;
, la siguiente declaración de asignación es inapropiada: (2 puntos)
Ejecute el siguiente segmento de programa, el contenido de la impresión es: (2 puntos)
#include <stdio.h>
void fun (int c, int *d) {
c++;
(*d)++;
}
int main ( ){
int a=1, b=2;
fun(a, &b);
printf("%d, %d", a, b);
return 0;
}
Para la definición char str[] = "abc\0def";
(nota: donde 0
es el número cero), encuentre la longitud len de la cadena str (es decir, llamando a la función de biblioteca estándar strlen :) len = strlen(str)
y el tamaño de la matriz str (es decir size = sizeof(str)
), len y size son respectivamente : (2 puntos)
Ejecute el siguiente procedimiento,
#include <stdio.h>
int main( ){
int array[10]={2, 12, 24, 36, 48, 49, 2333, 6666, 23333, 99999};
int key=2333, flag=0, low=0, m, h=9, times=0;
while(low <= h){
m = (low + h) / 2;
times++;
if(array[m] == key) {
printf("Found-%d-%d", m, times);
flag = 1;
break;
}
else if(array[m] > key) h = m - 1;
else low = m + 1;
}
if(flag == 0) printf("Not Found!");
return 0;
}
El resultado de ejecutar el programa (es decir, lo que se imprime en la pantalla) es _____________ (5 puntos) .
(Nota: Debe completar las respuestas estrictamente de acuerdo con el formato impreso por el programa, incluyendo el caso de las letras, el número de espacios, el formato de guiones -
y signos de exclamación !
, etc. No agregue caracteres extraños como comillas , espacios, etc., o no recibirá una puntuación. Por ejemplo, el printf(“hello World”);
contenido impreso es hello World
, No. "hello World"
Para evitar errores de formato, se recomienda copiar directamente parte del contenido relevante del código anterior).
Realice los siguientes procedimientos:
#include <stdio.h>
int main( ){
int score, bonus;
score = 60;
bonus = 3;
switch(bonus){
case 1:
score += 10;
case 2:
score += 20;
case 3:
score += 30;
default:
score -= 9;
}
printf("%d", score);
return 0;
}
El resultado de ejecutar el programa (es decir, lo que se imprime en la pantalla) es _____________ (3 puntos) . (Nota: Debe completar las respuestas estrictamente de acuerdo con el formato impreso por el programa. No agregue caracteres extraños como comillas o espacios a voluntad, de lo contrario no recibirá una puntuación. Por ejemplo, el printf("hello World");
contenido impreso es hello World
, no "hello World"
.)
Realice los siguientes procedimientos:
#include <stdio.h>
int main( ){
int num, r;
num = 16;
r = num % 2;
if(r=0) printf("even");
else printf("odd");
return 0;
}
El resultado del programa (es decir, lo que se imprime en la pantalla) es (_____________ 2 puntos) . (Nota: Complete las respuestas estrictamente de acuerdo con el formato impreso por el programa, preste atención a las mayúsculas de las letras, y no agregue comillas, espacios y otros caracteres extraños a voluntad, de lo contrario no serán calificados. ejemplo, el printf("hello World");
contenido impreso es hello World
, no "hello World"
)
El siguiente programa imprime el dígito más alto del número entero ingresado (por ejemplo 321
, si lo ingresa , se imprimirá 3
; si -678
se ingresa , se imprimirá 6
). Por favor complete el código vacante.
#include <stdio.h>
int main(){
int num;
scanf("%d", &num);
int digit=0;
if( num < 0) _____________(1分) ;
while( _____________(1分) ){
_____________(1分);
num = _____________(1分) ;
}
printf("%d\n", digit);
return 0;
}
El matemático Hilbert propuso una "conjetura de los primos gemelos" en el informe del Congreso Internacional de Matemáticos de 1900, es decir,
hay infinitos números primos p, de modo que p + 2 es un número primo. El par de números primos con una diferencia de 2 entre p y p + 2 se denomina "número primo gemelo".
Parece que esta conjetura es válida, siempre podemos encontrar muchos pares de primos gemelos, como 3 y 5, 5 y 7, 11 y 13 ... Esta conjetura aún no ha sido probada.
El siguiente programa para la entrada de números enteros n
(n <100000), encuentra mayor que n el par más pequeño de primos gemelos p
y q
(q = p + 2, y se cree que usted, que se puede encontrar dentro de un cierto rango de variables enteras Derecha p
y q
).
int isPrime(int num){
for(int i=2; i<=num/2; i++)
if( _____________(2分) ) return 0;
return 1;
}
int main(){
int n;
for(int i=0; i<6; i++) { // 总共寻找6次
scanf("%d",&n); //输入一个整数n
if( _____________(2分)) printf("3 5\n");
else{
for(n++; _____________(2分); n++); //注意看清楚,此行代码中所要填的空之后带有分号
printf("%d %d\n",n, n+2);
}
}
return 0;
}