湖南省对口招生考试计算机应用类专业综合知识试题精选
1. 已经有int a=2,b=3,c=4;写出下面表达式的值 a<<1||b&c&&c|b( )
解析:a<<2 => 2*2*2
2. 计算机存储器中,一个字节由( )个二进制位组成
解析:计算机存储的基本单位是字节(Byte),1字节由8个二进制位(bit)组成。这是计算机科学中的基础概念,广泛应用于存储容量计算。
3. 下列关于C语言程序的描述中,正确的是( )
解析:C语言程序总是从main函数开始执行,无论它在程序中的位置如何。函数可以定义在任何位置(需在使用前声明),可以自定义函数,函数参数可以是任意有效类型。
4. 十进制数156对应的二进制数为( )
解析:156转换为二进制数的正确过程:128 + 16 + 8 + 4 = 156,因此二进制表示为10011100。二进制转换是计算机基础中的重要技能。
5. ASCII编码使用( )位二进制数对1个字符进行编码
解析:标准ASCII编码使用7位二进制数表示一个字符,可以表示128种不同字符。实际存储中常用8位(1字节),最高位通常为0或用作校验位。
6. 程序段{int a=3; printf("%d", (a&3));} 的执行结果是( )
解析:位与运算(&)规则:1&1=1,其余为0。3的二进制是11,3&3的结果还是3。位运算是C语言中高效处理二进制数据的重要技术。
7. 八进制数1011对应的十进制数是( )
解析:八进制转十进制公式:1×8³ + 0×8² + 1×8¹ + 1×8⁰ = 512 + 0 + 8 + 1 = 521。八进制在C语言中常用于表示文件权限等。
8. 在C语言中,用( )表示逻辑值"真"
解析:C语言中没有专门的布尔类型,任何非零值(正数或负数)都表示"真",只有0表示"假"。这是C语言条件判断的基础。
9. 执行"int a=3; a+=a^2;"后,则a的值是( )
解析:运算符优先级:^(按位异或)优先级高于+=。a^2 = 3^2 = 1(二进制11^10=01),然后a += 1 → 3+1=4,然后a被重新赋值,但表达式是a+=表达式,所以实际计算:a = a + (a^2) = 3 + (3^2) = 3+1=4。
10. 程序段{int x=11, y=12, z=1; printf("%d", (z==x, y));} 的执行结果是( )
解析:逗号运算符(,)会依次执行各个表达式,并返回最后一个表达式的值。这里(z==x, y)返回y的值12。逗号运算符常用于for循环中同时执行多个操作。
11. 若"int a=5, b=6, result=0; result=(a>b)?(a>>1):(b<<1);"后,result的值是( )
解析:条件运算符(?:)首先判断a>b(5>6)为假,因此执行b<<1(左移一位)。6的二进制110左移一位为1100(12)。位运算左移相当于乘以2,是高效运算技巧。
12. 如用"scanf("%c%c", &c1, &c2)",为字符变量c1和c2分别赋值字符'A'和'B',正确的输入是( )
解析:%c格式符会读取输入中的每一个字符,包括空格、制表符和换行符。要连续输入两个字符'A'和'B',应该直接输入"AB"而不加任何分隔符。这是scanf函数处理字符输入时的常见陷阱。
13. 下列程序段运行后输出结果是( )
#include <stdio.h>
int main() {
int a = 5;
printf("%d", a++);
return 0;
}
解析:后缀递增运算符(a++)会先使用a的值,然后再递增。printf语句中先输出a的值5,然后a才变为6。理解运算符的前后缀区别对编写正确程序至关重要。
14. 在C语言中,用于单字符输出的函数是( )
解析:putchar函数专门用于输出单个字符,比printf更高效。例如putchar('A')输出字符A。字符I/O函数是C语言标准库的重要组成部分。