2021年3月计算机二级C语言模拟试题及答案
1. 判断char型变量cl是否为大写字母的正确表达式是
A.′A′<=cl<=′Z′
B.cl>=A.&&cl<=Z
C.′A′>=cl||′Z′<=cl
D.cl>=′A′&&cl<=′Z′
正确答案:D
2. 设有数组定义: char array[]="China"; 则数组 array所占的空间为
A.4个字节
B.5个字节
C.6个字节
D.7个字节
正确答案:C
3. 设有int x=11;则表达式x++*1/3的值是
A.3
B.4
C.11
D.12
正确答案:A
4. 设x,y,t均为int型变量,执行语句:x=y=3;t=++x||++y;完成后,y的值为
A.不确定
B.4
C.3
D.1
正确答案:C
5. 下列程序段输出的字符串长度为 。printf"\\\\aaa\\′ccc\\bddd\\"";
A.11
B.12
C. 13
D. 17
正确答案:A
答案解析:\\\\、\\′、\\b和\\"为转义字符,程序输出结果为:\\aaa′ccddd"。
6. 已有定义int a=3;和输出语句printf″%8x″,A,以下正确的叙述是 。
A.整型变量的输出格式符只有%d 一种
B.%x是格式符的一种,它可以适用于任何一种类型的数据
C.%X是格式符的一种,其变量的值按十六进制数输出,但%8x是错误的
D.%8x是正确的格式符,其中数字8规定了输出字段的宽度
正确答案:D
答案解析:本题考查printf函数的格式。“%8x”表示以十六进制无符号形式输出整型数据。“8”表示指定输出数据的宽度为8位。
7. 数据库管理系统中负责数据模式定义的语言是
A.数据定义语言
B.数据管理语言
C.数据操纵语言
D.数据控制语言
正确答案:A
答案解析:数据库管理系统一般提供相应的数据语言,它们分别是:数据定义语言,负责数据的模式定义与数据的物理存取构建;数据操纵语言,负责数据的操纵,包括查询及增、删、改等操作;数据控制语言,负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。
8. 下列叙述中正确的是
A.程序执行的效率与数据的存储结构密切相关
B.程序执行的效率只取决于程序的控制结构
C.程序执行的效率只取决于所处理的数据量
D.以上都不正确
正确答案:A
答案解析:影响程序执行效率的因素有很多,如数据的存储结构、程序处理的数据量、程序的算法等。顺序存储结构和链式存储结构在数据插入和删除操作上的效率就存在差别。其中,链式存储结构的效率要高一些。
9. 要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是
A.whilech=getchar =′N′ printf″%c ″,ch;
B.whilech=getchar==″N″ printf″%c ″,ch;
C.whilech=getchar!=′N′ printf″%c ″,ch;
D.whilech=getchar==′N′ printf″%c ″,ch;
正确答案:C
答案解析:while循环的执行过程如下:①计算while后面圆括号中表达式的值,当值为非0时,执行步骤②;当值为0时,执行步骤④;②执行循环体一次;③转去执行步骤①;④退出循环。在选项C中,表达式ch=getchar!=′N′表示输入的字符不等于N,如果这个条件表达式成立,则执行循环体,打印输出输入的字符。如果这个条件表达式不成立,即输入的字符等于N,则退出循环。
10. 检查软件产品是否符合需求定义的过程称为 。
A.确认测试
B.需求测试
C.验证测试
D.路径测试
正确答案:A
答案解析:确认测试的任务是验证软件的功能和性能,以及其他特性是否满足需求规格说明中确定的各种需求。
11. 下列叙述中正确的是
A.栈是一种先进先出的.线性表
B.队列是一种后进先出的线性表
C.栈与队列都是非线性结构
D.栈与队列都是线性结构
正确答案:D
答案解析:栈是先进后出,队列是先进先出。栈和队列都是一种线性表,属于线性结构。
12. 栈和队列的共同点是
A.都是先进后出
B.都是先进先出
C.只允许在端点处插入和删除元素
D.没有共同点
正确答案:C
13. 在深度为5的满二叉树中,叶子结点的个数为
A.32
B.31
C.16
D.15
正确答案:C
答案解析:满二叉树是指除最后一层外,每一层上的所有结点都有两个叶子结点。在满二叉树中,层上的结点数都达到最大值,即在满二叉树的第k层上有2k-1个结点,且深度为m的满二叉树有2m-1个结点。
14. 一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是
A.1,2,3,A,B,C
B.C,B,A,1,2,3
C.C,B,A,3,2,1
D.1,2,3,C,B,A
正确答案:C
答案解析:栈是按照″先进后出″或″后进先出″的原则组织数据的。所以出栈顺序是CBA321。
15. 有以下程序 #include main int x; scanf″%d″, &x; ifx<=3 ; else ifx!=10 printf″%d\n″, x; 程序运行时,输入的值在哪个范围才会有输出结果
A.不等于10的整数
B.大于3或等于10的整数
C.小于3的整数
D.大于3且不等10的整数
正确答案:D
答案解析:题目中,虽然else和第二个if不在同一行上,但等价于在同一行上,因此,程序的意思是当x大于3且不等于10时打印出来。
16. 下列不属于软件调试技术的是
A.强行排错法
B.集成测试法
C.回溯法
D.原因排除法
正确答案:B
17. 已知int x=6,y=2,z;则执行表达式z=x=x>y后,变量z的值为
A.0
B.1
C.4
D.5
正确答案:B
18. 请选出以下语句的输出结果printf"%d\n",strlen"\t\"\065\xff\n";
A.5
B.14
C.8
D.输出项不合法,无正常输出
正确答案:A
19. 当说明一个结构体变量时系统分配给它的内存是
A.各成员所需内存量的总和
B.结构中第一个成员所需内存量
C.成员中占内存量最大者所需的容量
D.结构中最后一个成员所需内存量
正确答案:A
20. 将八进制数307转换成二进制数是 。
A.100110011
B.11000111
C. 1100000111
D. 111000011
正确答案:B