¿Crees que esto funciona? Preguntas del examen de lenguaje C (10) preguntas de opción múltiple (50 × 2 = 100) 1. La siguiente afirmación es correcta ( ). A) En un programa C, la función principal debe estar al principio del programa B) Solo se puede escribir una declaración en cada línea del programa C C) El lenguaje C en sí no tiene declaraciones de entrada y salida. En el proceso de compilación de un programa en C, se pueden encontrar errores ortográficos en los comentarios 2. El lenguaje C estipula: En un programa fuente, la ubicación de la función principal (). A) Debe estar al principio B) Debe estar después de la función de biblioteca llamada por el sistema C) Puede ser arbitrario D) Debe estar al final 3. En lenguaje C (tomando como ejemplo una PC de 16 bits), el orden de las longitudes del espacio de almacenamiento de los cinco tipos de datos básicos es (). A)charlt;int lt;1ong intlt;=floatlt;doubleB)char=intlt;1ong intlt;=floatlt;doubleC)charlt; int lt;1ong int=float=doubleD)char=int =1ong intlt;=floatlt;double4 . Suponiendo que todas las variables son de tipo entero, el valor de la expresión (a=2, b=5, b, a b) es (). A)7 B)8 C)6 D)25. Entre las siguientes cuatro opciones, la opción que son todas las palabras clave del lenguaje C es (). A)auto B)interruptor C)firmado D)si enum typedef union struct incluye continuar scanf type6. Los identificadores en lenguaje C sólo pueden estar compuestos por tres caracteres: letras, números y guiones bajos, y el primer carácter (). A) Deben ser letras B) Deben estar subrayados C) Deben ser letras o subrayado D) Puede ser cualquier carácter entre letras, números y subrayado 7. Entre las siguientes cuatro opciones, la que tiene caracteres de escape ilegales es ( ). A)'\'' B)'\1011' C)'\011' D)'\abc' '\\' '\' '\f' '\101'8. Si existe la expresión algebraica 3ae/bc, la expresión incorrecta en lenguaje C es (). A) a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*39. Se sabe que la descripción del tipo de cada variable es la siguiente: int i=8, k, a, b; unsigned long w=5; double x=1.42, y=5.2; luego la siguiente expresión se ajusta a la gramática del lenguaje C; es ( ). A) a =a-=(b= 4)*(a=3) B)a=a*3=2C) x(-3) D)y=f1oat(i)10. La afirmación correcta a continuación es ( ). A) En el programa C, solo se puede escribir una declaración en cada línea B) Si a es una variable real, la asignación de a=10 está permitida en el programa C, por lo que la variable real puede almacenar números enteros. ) En el programa C, ya sea un número entero o real, se puede representar con precisión. D) En el programa C, es un operador que solo se puede utilizar para operaciones con números enteros. Se sabe que el código ASCII de la letra A es el número decimal 65, y c2 es el tipo de carácter, luego de ejecutar la instrucción c2='A' '6'-'3';, el valor en c2 es ().
A)D B)68 C)Valor incierto D)C12. Si las siguientes variables son todas enteras y num = suma = 7, ejecute la expresión suma = num, suma y el valor de la suma después de num es (). A) 7 B) 8 C) 9 D) 1013. Si hay una declaración de descripción: char c='\72', entonces la variable c (). A) Contiene 1 carácter B) Contiene 2 caracteres C) Contiene 3 caracteres D) La descripción es ilegal, el valor de c es incierto 14. Entre las siguientes cuatro opciones, la opción que es una constante ilegal es (). A)'as' B)'\\' c)-0xl8 D)0xabc -0fff '\01' 01177 '\0' '\0xa' 12,456 0xf "a"15. Supongamos que la variable n es de tipo flotante y m es de tipo int. Entonces la siguiente expresión que se puede usar para conservar los dos lugares decimales para el valor en n y redondear el tercer dígito es (). A) n=(n*100 0,5)/100,0 B)m=n*100 0,5, n= m/100,0C) n=n*100 0,5/100,0 D)n=(n/100 0,5)*100,016. Supongamos que en lenguaje C, un dato de tipo int ocupa 2 bytes en la memoria, entonces el rango de valores de un dato de tipo int sin signo es (). A) 0~255 B) 0~32767 C) 0~65535 D) 0~214748364717. Si existe la siguiente definición, la expresión que puede dar el valor 3 es ( ). int k= 7, x =12; A) x=(k= 5) B) x=(k-k5)C) x=k- k5 D) (x=k)-(k=5)18. La función putchar puede enviar un ( ) al terminal. A) Valor de expresión de variable entera B) Valor de variable real C) Cadena D) Valor de variable de carácter o carácter 19. El carácter de formato 5s se usa en la función printf, donde el número 5 significa que la cadena de salida ocupa 5 columnas. Si la longitud de la cadena es inferior a 5, el resultado es el siguiente (). A) Genera la cadena desde la izquierda, con espacios a la derecha B) Genera todos los caracteres de izquierda a derecha de acuerdo con la longitud del carácter original C) Genera la cadena con alineación derecha, con espacios a la izquierda. un mensaje de error 20. Si x e y están definidos como tipo int y z se define como tipo doble, la siguiente declaración de llamada a la función scanf ilegal es (). A) scanf("dlx,le",x,y,z);B) scanf("2d * dlf"x,y,z C) scanf(" x * do", amp; x, amp; y); ); D) scanf ("xo6.2f", amp; x, amp; y, amp; z); Int x; float y; se ha definido y el scanf("3df",amp; . A)12345 B)123 C) 45 D) 345 22. Existen las siguientes definiciones y declaraciones de entrada. Si se requiere que los valores de a1, a2, c1 y c2 sean 10, 20, A y B respectivamente, al ingresar datos a partir de la primera columna, la entrada de datos es correcta. El método es ().
int a1, a2; char c1, c2; scanf("dd", a1, a2); scanf("cc", c1, c2); )10 20 ABlt; La siguiente declaración que puede definir correctamente las variables enteras a, byc y asignarles un valor inicial de 5 es (). A) int a=b= c= 5; B) int a, b= 5; C) a= 5, b=5, c=5; Se sabe que ch es una variable de caracteres y la siguiente declaración de asignación correcta es (). A) ch= '123'; B) ch= '\xff'; C) ch= '\08'; Supongamos que xey son variables de tipo flotante, entonces la siguiente declaración de asignación ilegal es (). A) x; B) y=(x2)/10; C) x*=y 8; El tipo de datos de los operandos en ambos lados del operador lógico ( ). A) Solo puede ser 0 o 1 B) Solo puede ser 0 o un número positivo distinto de cero C) Solo puede ser datos enteros o de caracteres D) Puede ser cualquier tipo de dato 27. El operador con mayor precedencia entre los siguientes es ( ). A)lt; B)diez C)amp;amp; D)!=28. Supongamos que x, y y z son variables de tipo int, y x = 3, y = 4, z = 5, entonces el valor de 0 en la siguiente expresión es (). A)'y'amp;'y' B)x lt; =y C) x||y zamp;amp;y-z D) !(xlt;y)amp;!z||1)29. Determine si la variable de tipo char c1 es una letra minúscula. La expresión correcta es (). A)' a' lt;=cllt;=' z' B) (clgt; = a)amp;amp; (cllt;=z) C)(' a' gt;=cl)||(' z' lt ; = cl) D)(c1gt;='a')amp;amp;(cllt;='z')30. El valor de a después de ejecutar la siguiente declaración es ( ). int a, b, c; a= b= c= 1; a|| amperio c A) Error B) 0 C) 2 D) 131. La siguiente expresión de asignación que se ajusta a la sintaxis del lenguaje C es (). A) d=9 e f=d 9 B) J=9 e, f=d 9C) d=9 e, e, d 9 D) d=9 e=d 732. Si existe la expresión algebraica 3ae/bc, la expresión incorrecta en lenguaje C es (). A) a/b/c*e*3 B) 3*a*e/b/cC) 3*a*e/b*c D) a*e/c/b*e33. Se sabe que la descripción del tipo de cada variable es la siguiente: int k, a, b; unsigned long w=5double x=1.422, entonces la siguiente expresión que no se ajusta a la sintaxis del lenguaje C es (). A) x% (-3) B) w = -2 C) k = (a = 2, b = 3, a b) D) a = a - = (b = 4) x (a = 3) 34. Se sabe que el código ASCII de la letra A es el número base 65, y c2 es el tipo de carácter, entonces el valor en c2 es ( ) después de ejecutar la sentencia c2 = 'A' '6'-'3';.
A) D B) 68C) Valor incierto D) C35. Si existe la siguiente definición: int a, b; float x;, entonces la declaración de asignación correcta es (). A) a=1, b=2, B) b C) a=b=5 D) b=int(x)36. Los identificadores en lenguaje C sólo pueden estar compuestos por tres caracteres: letras, números y guiones bajos, y el primer carácter (). A) Debe ser una letra B) Debe ser un guión bajo C) Debe ser una letra o un guión bajo D) Puede ser cualquier carácter entre letras, números y guiones bajos 37. En lenguaje C, la forma de almacenamiento de datos de tipo char en la memoria es (). A) Código complemento B) Código inverso C) Código original D) Código ASCII 38. Si hay una declaración de descripción: char c='72'; entonces la variable c (). A) Contiene 1 carácter B) 2 caracteres C) Contiene 3 caracteres D) La descripción es ilegal, el valor de c es incierto 39. Se sabe que la descripción del tipo de cada variable es la siguiente: int i=8, k, a, b; unsigned long w=55double x=1.42, y=5.2. ). A) =a-=(b=4)*(a=3) B) a=a*3=2C) x(-3) D) y=flotar(i)40. Si las siguientes variables son todas enteras y num = suma = 7, ejecute la expresión suma = num, suma y el valor de la suma después de num es (). A) 7 B) 8 C) 9 D) 1041. Si hay una definición: int a=7; folat x=2.5, y=4.7 entonces el valor de la expresión x a3*(int)(x y)2/4 es ( ). A) 2,500000 B) 2,750000 C) 3,500000 D) 0,00000042. Si la descripción es: char w; int x, float y; double z; entonces el tipo de datos de la expresión w*x z-y value es (). A)flotante B)char C) int D)doble43. Supongamos que la variable n es de tipo float ym es de tipo int. Entonces la siguiente expresión que se puede usar para retener el valor en n con dos decimales y realizar el redondeo en el tercer dígito es (). A)n=(n*100 0,5)/100,0 B)m=n*100 0,5, n=m/100,0C)n=n*100 0,5/100,0 D)n=(n/100 0,5)*100,044. ¿Cuál de las siguientes descripciones sobre la precedencia de operadores es correcta ( )? A) Operador relacional < Operador aritmético < Operador de asignación < Operador AND lógico B) Operador AND lógico < Operador relacional < Operador aritmético < Operador de asignación C) Operador de asignación < Operador AND tardío < Operador de operación relacional < Operador aritmético D) Operador aritmético < Operador relacional < Operador de asignación < Operador lógico AND 45. La expresión correcta para determinar si la variable de tipo char ch es una letra mayúscula es ( ). A) 'A'lt;=chlt;='Z' B)(chgt;='A')amp;(chlt;='Z')C)(chgt;='A')amp;amp;(chlt ; 'Z') D)('A'lt;=ch)AND('Z'gt;=ch46. La prioridad más alta entre los siguientes operadores es ( ). A)lt) B)amp;amp; )!=47. El valor de a después de ejecutar la siguiente declaración es ( ).
int a=5, b=6, w=1, x=2, y=3, z=4 (a=wgt; x)amp; C)2 D)148. Se sabe que x=43, ch='A', y=0; entonces el valor de la expresión (xgt;=yamp;amp;chlt;'B'amp;amp;!y) es (). A)0 B) Error gramatical C)1 D) "Falso"49. Supongamos que x, y y s son variables de tipo int, y x=3, y=4, z=5, entonces el valor de 0 en la siguiente expresión es (). A)'x'amp;'y'B)xlt;=yC)x||y zamp;amp;y-zD)!((xlt;y)amp;amp;!z50. Lo siguiente es incorrecto si La forma de declaración es ( ) si (xgt; yamp; amp; x!=y) B) si (x==y)x =y; C) si (x!=y) scanf ("d", amp ;x). ) else scanf("d",amp;y);D) if(xlt;y){x;y;}