第一章高考真题讲解

湖南省对口招生考试计算机应用类专业综合知识试题精选

考生姓名:__________
准考证号:__________
考试时间:60分钟

第一部分:知识点1-4(框架、数据类型、常量变量、整型)

1. 已经有int a=2,b=3,c=4;写出下面表达式的值 a<<1||b&c&&c|b( )

A
1
B
0
C
2
D
3
(2017年一、单选题)
✅ 正确答案:A

解析:a<<2 => 2*2*2

2. 计算机存储器中,一个字节由( )个二进制位组成

A
4
B
8
C
16
D
32
(2020年一、单选题第2题)
✅ 正确答案:B

解析:计算机存储的基本单位是字节(Byte),1字节由8个二进制位(bit)组成。这是计算机科学中的基础概念,广泛应用于存储容量计算。

3. 下列关于C语言程序的描述中,正确的是( )

A
main函数是主函数,一定要写在最前面
B
程序总是从main函数开始执行的
C
程序中只能调用库函数,不能自己定义函数
D
函数参数只能是整型
(2022年一、单选题第21题)
✅ 正确答案:B

解析:C语言程序总是从main函数开始执行,无论它在程序中的位置如何。函数可以定义在任何位置(需在使用前声明),可以自定义函数,函数参数可以是任意有效类型。

4. 十进制数156对应的二进制数为( )

A
10011100
B
10011110
C
11011101
D
11011100
(2023年一、单选题第2题)
✅ 正确答案:A

解析:156转换为二进制数的正确过程:128 + 16 + 8 + 4 = 156,因此二进制表示为10011100。二进制转换是计算机基础中的重要技能。

第二部分:知识点5-7(实型、字符型、算术运算符)

5. ASCII编码使用( )位二进制数对1个字符进行编码

A
3
B
4
C
7
D
8
(2022年一、单选题第2题)
✅ 正确答案:C

解析:标准ASCII编码使用7位二进制数表示一个字符,可以表示128种不同字符。实际存储中常用8位(1字节),最高位通常为0或用作校验位。

6. 程序段{int a=3; printf("%d", (a&3));} 的执行结果是( )

A
0
B
1
C
3
D
9
(2025年一、单选题第21题)
✅ 正确答案:C

解析:位与运算(&)规则:1&1=1,其余为0。3的二进制是11,3&3的结果还是3。位运算是C语言中高效处理二进制数据的重要技术。

7. 八进制数1011对应的十进制数是( )

A
450
B
521
C
520
D
519
(2025年一、单选题第6题)
✅ 正确答案:B

解析:八进制转十进制公式:1×8³ + 0×8² + 1×8¹ + 1×8⁰ = 512 + 0 + 8 + 1 = 521。八进制在C语言中常用于表示文件权限等。

第三部分:知识点8-11(关系、逻辑、赋值、逗号运算符)

8. 在C语言中,用( )表示逻辑值"真"

A
T
B
F
C
非零整数
D
0
(2021年一、单选题第20题)
✅ 正确答案:C

解析:C语言中没有专门的布尔类型,任何非零值(正数或负数)都表示"真",只有0表示"假"。这是C语言条件判断的基础。

9. 执行"int a=3; a+=a^2;"后,则a的值是( )

A
12
B
9
C
6
D
4
(2020年一、单选题第21题)
✅ 正确答案: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));} 的执行结果是( )

A
0
B
1
C
11
D
12
(2025年一、单选题第22题)
✅ 正确答案:D

解析:逗号运算符(,)会依次执行各个表达式,并返回最后一个表达式的值。这里(z==x, y)返回y的值12。逗号运算符常用于for循环中同时执行多个操作。

11. 若"int a=5, b=6, result=0; result=(a>b)?(a>>1):(b<<1);"后,result的值是( )

A
10
B
12
C
5
D
6
(2022年程序分析题32(2),改编为单选题风格)
✅ 正确答案:B

解析:条件运算符(?:)首先判断a>b(5>6)为假,因此执行b<<1(左移一位)。6的二进制110左移一位为1100(12)。位运算左移相当于乘以2,是高效运算技巧。

第四部分:知识点12-15(printf、scanf、putchar、getchar)

12. 如用"scanf("%c%c", &c1, &c2)",为字符变量c1和c2分别赋值字符'A'和'B',正确的输入是( )

A
字符'A'和'B'之间用逗号间隔
B
字符'A'和'B'之间不能有任何间隔符
C
字符'A'和'B'之间可以用回车间隔
D
字符'A'和'B'之间用空格间隔
(2023年一、单选题第21题)
✅ 正确答案:B

解析:%c格式符会读取输入中的每一个字符,包括空格、制表符和换行符。要连续输入两个字符'A'和'B',应该直接输入"AB"而不加任何分隔符。这是scanf函数处理字符输入时的常见陷阱。

13. 下列程序段运行后输出结果是( )

#include <stdio.h>
int main() {
    int a = 5;
    printf("%d", a++);
    return 0;
}
A
5
B
6
C
0
D
1
(2021年程序分析题32(4),改编为单选题风格)
✅ 正确答案:A

解析:后缀递增运算符(a++)会先使用a的值,然后再递增。printf语句中先输出a的值5,然后a才变为6。理解运算符的前后缀区别对编写正确程序至关重要。

14. 在C语言中,用于单字符输出的函数是( )

A
printf
B
scanf
C
putchar
D
getchar
(基于2023年程序分析题32(4)知识点,综合概括)
✅ 正确答案:C

解析:putchar函数专门用于输出单个字符,比printf更高效。例如putchar('A')输出字符A。字符I/O函数是C语言标准库的重要组成部分。