1、计算机二级(C)24 及答案解析(总分:645.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:40,分数:60.00)1.若有以下程序段(n 所赋的是八进制数) int m=32767,n=032767; printf(“%d,%o/n“,m,n); 执行后输出结果是( )。 (分数:1.50)A.32767,32767B.32767,032767C.32767,77777D.32767,0777772.有以下程序: main() int a=1,b; for(b=1;b=8)break; if(a%2=1)a+=5;continue; a-=3;
2、 printf(“%d/n“,b); 程序运行后的输出结果是_。 (分数:1.50)A.3B.4C.5D.63.已知 i,j,k 为 int 型变量,若从键盘输入:1,2,3,使 i 的值为 1,j 的值为 2,k 的值为 3,以下选项中正确的输入语句是( )。(分数:1.50)A.scanf (“%2d%2d%2d“,i,j,k);B.scanf (“%d %d %d“,i,j,k);C.scanf (“%d,%d,%d“,i,j,k);D.scanf (“i=%d,j=%d,k=%d“,i,j,k);4.有以下程序段: int n,t=1,s=0; scanf(“%d“, do s=s+t
3、; t=t-2; while (t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是_。 (分数:1.50)A.任意正奇数B.任意负偶数C.任意正偶数D.任意负奇数5.以下程序的功能是进行位运算: main() unsigned char a,b; a=73; b=4 printf(“%d %d/n“,a,b); 程序运行后的输出结果是_。 (分数:1.50)A.4 3B.7 3C.7 0D.4 06.下面程序的功能是输出以下形式的金字塔图案是: * * * * * * * * * * * * * * * * main( ) int i,j; for(i=1;inext; while
4、(= 1 ) printf(“%s/n“,p-sub);p= 2 ; main3 Node *hd; hd=fun4; disp(hd);printf(“/n“); (分数:40.00)填空项 1:_65.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:40.00)填空项 1:_66. 1 是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。(分数:-1.00)填空项 1:_67.数据库保护分为:安全性控制、 1、并发性控制和数据的恢复。(分数:-1.00)填空项 1:_68.Jackson 结构化程序设计方法是英国的 M.Jackson 提出的,它是一种面向 1 的
5、设 计方法。 (分数:-1.00)填空项 1:_69.数据结构分为逻辑结构与存储结构,线性链表属于 1。(分数:-1.00)填空项 1:_70.为了便于对照检查,测试用例应由输入数据和预期的 1 两部分组成。(分数:-1.00)填空项 1:_计算机二级(C)24 答案解析(总分:645.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:40,分数:60.00)1.若有以下程序段(n 所赋的是八进制数) int m=32767,n=032767; printf(“%d,%o/n“,m,n); 执行后输出结果是( )。 (分数:1.50)A.32767,3
6、2767 B.32767,032767C.32767,77777D.32767,077777解析:2.有以下程序: main() int a=1,b; for(b=1;b=8)break; if(a%2=1)a+=5;continue; a-=3; printf(“%d/n“,b); 程序运行后的输出结果是_。 (分数:1.50)A.3B.4 C.5D.6解析: break 和 continue 的区别是:continue 语句只结束本次循环,而不是终止整个循环的执行;而 break 语句则是结束整个循环过程,不再判断执行的条件是否成立。3.已知 i,j,k 为 int 型变量,若从键盘输入:
7、1,2,3,使 i 的值为 1,j 的值为 2,k 的值为 3,以下选项中正确的输入语句是( )。(分数:1.50)A.scanf (“%2d%2d%2d“,i,j,k);B.scanf (“%d %d %d“,i,j,k);C.scanf (“%d,%d,%d“,i,j,k); D.scanf (“i=%d,j=%d,k=%d“,i,j,k);解析:4.有以下程序段: int n,t=1,s=0; scanf(“%d“, do s=s+t; t=t-2; while (t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是_。 (分数:1.50)A.任意正奇数B.任意负偶数C.任意正
8、偶数D.任意负奇数 解析:要使得程序段不陷入死循环,则必须存在终止循环的条件“t=n”,由于 t 的初始值为 1,且每执行 一次循环都会使得 t 的值减 2,故执行本程序后 t 有可能的最大值为-1,然后,依次减 2,所以键盘输入的 n 的值必须是 t 的值之一,即为任意负奇数。5.以下程序的功能是进行位运算: main() unsigned char a,b; a=73; b=4 printf(“%d %d/n“,a,b); 程序运行后的输出结果是_。 (分数:1.50)A.4 3 B.7 3C.7 0D.4 0解析:C 语言提供六种位运算符,按优先级由高到低的顺序分别为:取反()左移(su
9、b);p= 2 ; main3 Node *hd; hd=fun4; disp(hd);printf(“/n“); (分数:40.00)填空项 1:_ (正确答案:p!=NULL 或 p 或 p!=0 或 p!=/0 , p-next 或 (*p).next)解析:此题主要考核的是用指针处理链表。自定义结构体类型名为 Node,并定义一个指向结点类型的指针 next。用 Node 来定义头结点指针变量 h,并定义另一个指针变量 p 指向了第一个结点,在满足 p 未指向最 后一个结点的空指针时,输出 p 所指向结点的字符串,所以第一个空填 p!=NULL 或 p 或 p!=0 或 p!=/0,
10、然后将 p 指向下一个非空结点,所以第二个空填 p-next 或与其等效的形式,反复执行直到所有的结点都输 出,即遇到 p 的值为 NULL。65.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:40.00)填空项 1:_ (正确答案:逻辑)解析:所谓数据的逻辑结构,是指反映数据元素之间逻辑关系的数据结构;而数据的逻辑结构在计算机存 储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。在数据的存储结构中,不仅要存放各 数据元素的信息,还需要存放各数据元素之间的前后件关系的信息。而所谓循环队列,就是将队列存储空 间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列
11、循环使用。所以循环队列不需要存放 元素之间的前后件关系,故它属于逻辑结构。66. 1 是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。(分数:-1.00)填空项 1:_ (正确答案:封装)解析:本题考查了面向对象技术中的一些基本概念。面向对象技术中包括以下几个基本概念,即对象、类、方法、消息、继承和封装,其中封装是一种信息隐蔽技术,目的在于将对象的使用者对象的和设计者分开。67.数据库保护分为:安全性控制、 1、并发性控制和数据的恢复。(分数:-1.00)填空项 1:_ (正确答案:完整性控制)解析:安全性控制:防止未经授权的用户有意或无意存取数据库巾的数据,以免数据被泄露、更改
12、或破坏;完整性控制:保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作;并发控制:正确处理好多用户、多任务环境下的并发操作,防止错误发生;恢复:当数据库被破坏或数据不正确时,使数据库能恢复到正确的状态。68.Jackson 结构化程序设计方法是英国的 M.Jackson 提出的,它是一种面向 1 的设 计方法。 (分数:-1.00)填空项 1:_ (正确答案:数据结构)解析:结构化分析方法主要包括:面向数据流的结构化分析方法(SA-Structured analysis),面向数据结构的 Jackson 方法(JSD-Jackson system development me
13、thod)和面向数据结构的结构化数据系统开发方法(DSSD-Data structured system development method)。 69.数据结构分为逻辑结构与存储结构,线性链表属于 1。(分数:-1.00)填空项 1:_ (正确答案:存储结构)解析:数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构;数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式。在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系的信息。70.为了便于对照检查,测试用例应由输入数据和预期的 1 两部分组成。(分数:-1.00)填空项 1:_ (正确答案:输出结果)解析:本题主要考查测试的步骤。