[计算机类试卷]国家二级(C语言)笔试模拟试卷209及答案与解析.doc

上传人:livefirmly316 文档编号:503373 上传时间:2018-11-29 格式:DOC 页数:28 大小:68KB
下载 相关 举报
[计算机类试卷]国家二级(C语言)笔试模拟试卷209及答案与解析.doc_第1页
第1页 / 共28页
[计算机类试卷]国家二级(C语言)笔试模拟试卷209及答案与解析.doc_第2页
第2页 / 共28页
[计算机类试卷]国家二级(C语言)笔试模拟试卷209及答案与解析.doc_第3页
第3页 / 共28页
[计算机类试卷]国家二级(C语言)笔试模拟试卷209及答案与解析.doc_第4页
第4页 / 共28页
[计算机类试卷]国家二级(C语言)笔试模拟试卷209及答案与解析.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、国家二级( C语言)笔试模拟试卷 209及答案与解析 1 按照 “先进后出 ”原则组织数据的结构是 ( )。 ( A)队列 ( B)栈 ( C)双向链表 ( D)二叉树 2 下列选项中不属于软件生命周期开发阶段任务的是 ( )。 ( A)软件测试 ( B)概要设计 ( C)软件维护 ( D)详细设计 3 设在 C语言中, float类型数据占 4个字节,则 double类型数据占 ( )个字节。 ( A) 1 ( B) 2 ( C) 8 ( D) 4 4 如果进栈序列为 e1、 e2、 e3、 e4,则可能的出 栈序列是 ( )。 ( A) e3、 e1、 e4、 e2 ( B) e2、 e4

2、、 e3、 e1 ( C) e3、 e4、 e2 ( D)任意顺序 5 数据库管理系统 DBMS中用来定义模式、内模式和外模式的语言为 ( )。 ( A) C ( B) Basic ( C) DDL ( D) DML 6 以三级模式为框架形成的 3种数据库中,真实存在于计算机外存的数据库是( )。 ( A)概念数据库 ( B)用户数据库 ( C)物理数据库 ( D)逻辑数据库 7 一些重要的程序设计语言 (如 C语言和 Pascal语言 )允 许过程的递归调用,而实现递归调用中的存储分配通常用 ( )。 ( A)栈 ( B)堆 ( C)数组 ( D)链表 8 下列叙述中正确的是 ( )。 (

3、A)软件测试应该由程序开发者来完成 ( B)程序经调试后一般不需要测试 ( C)软件维护只包括对程序代码的维护 ( D)以上三种说法都不对 9 有下列程序: main() int y=10; doy-; while(-y); printf(“ d n“, -y); 当 执行程序时,输出的结果是 ( )。 ( A) -1 ( B) 1 ( C) 4 ( D) 0 10 表达式 5-1的值是 ( )。 ( A)整数 4 ( B)字符 4 ( C)表达式不合法 ( D)字符 6 11 设 j为 int型变量,则下面 for循环语句的执行结果是 ( )。 for(j=10; j 3; j-) if(j

4、 3)j-; -j; -j; printf(“ d“, j); ( A) 6 3 ( B) 7 4 ( C) 6 2 ( D) 7 3 12 表示关系 X =Y =Z的 C语言表达式为 ( )。 ( A) (X =Y)&(Y =Z) ( B) (X =Y)AND(Y =Z) ( C) (X =Y =Z) ( D) (X =Y)&(Y =Z) 13 设有如下定义: int arr=6, 7, 8, 9, 10; int*ptr; ptr=arr; *(ptr2)=2; printf(“ d, d n“, *ptr, *(ptr2); 则下列程序段的输出结果为 ( )。 ( A) 8, 10 (

5、B) 6, 8 ( C) 7, 9 ( D) 6, 2 14 设有定义语句: int x6=2, 4, 6, 8, 5, 7), *p=x, i; 要求依次输出 x数组 6个元素中的值,不能完成此操作的语句是 ( )。 ( A) for(i=0; i 6; i+) printf(“ 2d“, *(p+); ( B) for(i=0: i 6; i+) printf(“ 2d“, *(p+i); ( C) for(i=0; i 6; i+) printf(“ 2d“, *p+); ( D) for(i=0; i 6; i+) printf(“ 2d“, *(p)+); 15 数字字符 0的 AS

6、CII值为 48,运行以下程序的输出结果是 ( )。 main() char a=1, b=2; printf(“ c, “, b+); printf(“ d n“, b-a); ( A) 3, 2 ( B) 50, 2 ( C) 2, 2 ( D) 2, 50 16 设有如下定义: int(*ptr)(): 则以下叙述中正确的是 ( )。 ( A) ptr是指向一维组数的指针 变量 ( B) ptr是指向 int型数据的指针变量 ( C) ptr是指向函数的指针,该函数返回一个 int型数据 ( D) ptr是一个函数名,该函数的返回值是指 int型数据的指针 17 设有定义的语句: “ch

7、ar c1=92, c2=92; ”,则以下表达式中的值为零的是( )。 ( A) c1 c2 ( B) c1&c2 ( C) c2 ( D) c1 c2 18 以下程序的输出结果是 ( )。 void fun(int*a, int i, int j) int t; if(i j) t=ai; ai=aj; aj=t; i+; j-; fun(a, i, j); main() int x=2, 6, 1, 8), i; fun(x, 0, 3); for(i=0; i 4; i+) printf(“ 2d“, xi); printf(“n“); ( A) 1, 2, 6, 8 ( B) 8,

8、6, 2, 1 ( C) 8, 1, 6, 2 ( D) 8, 6, 1, 2 19 有以下程序: main() int i, j; for(j=10; j 11; j+) for(i=9; i j; i+) if(!(j i) break; if(i=j-1) printf(“ d“, j); 输出结果是 ( )。 ( A) 11 ( B) 10 ( C) 9 ( D) 10 11 20 有以下程序: #include main() char c1, c2, c3, c4, c5, c6; scanf(“ c c c c“, &c1, &c2, &c3, &c4); c5=getchar()

9、; c6=getchar(); putchar(c1); putchar(c2); printf(“ c c n“, c5, c6); 程序运行后,若从键盘输入 (从第 1列开始 ) 123 45678 则输出结果是 ( )。 ( A) 1267 ( B) 1256 ( C) 1278 ( D) 1245 21 下列选项中非法的字符常量是 ( )。 ( A) t ( B) 039 ( C) , ( D) n 22 以下程序的输出结果是 ( )。 main() char ch34=“123“, “456“, “78“, *p3; int i; for(i=0; i 3; i+)pi=chi; f

10、or(i=0; i 3; i+)printf(“ s“, pi); ( A) 123456780 ( B) 123 456 780 ( C) 12345678 ( D) 147 23 以下程序的输出结果是 ( )。 main() char w10=“ABCD“, “EFGH“, “IJKL“, “MNOP“), K; for(k=1; k 3; k+)printf(“ s n“, wk); ( A) ABCD FGH KL ( B) ABCD EFG IJ ( C) EFG JK O ( D) EFGH IJKL 24 以下程序的输出结果是 ( )。 union myun struct int

11、 x, y, z; )u; int k; a; main() a u x=4; a u y=5; a u z=6; a k=0: printf( d n“, a u x); ( A) 4 ( B) 5 ( C) 6 ( D) 0 25 若有以下定义和语句: “double r=9, *p=&r; *p=r; ”,则以下正确的叙述是( )。 ( A)两个 *p含义相同,都说明给指针变量 p赋值 ( B)在 “double r=99, *p=&r; ”中,把 r的地址赋值给了 p所指的存储单元 ( C)语句 “*p=r; ”把变量 r的值赋给指针变量 p ( D)语句 “*p=r; ”取变量 r的

12、值放回 r中 26 以下程序的输出结果是 ( )。 main() int x=0 5; char z=a; printf(“ d n“, (x&1)&(z z); ( A) 0 ( B) 1 ( C) 2 ( D) 3 27 若二维数组 a有 m列,则在 aij前的元素个数为 ( )。 ( A) i*m+j-1 ( B) i*m+j ( C) j*m+i ( D) i*m+j+1 28 下列程序的输出结果是 ( )。 #include int fun(int a) int b=0; static int c=4; a=c+ b+; return(a); main() int a=2, i, c

13、; for(i=0; i 2; i+) c=f(a+1); printf(“ d n“, c); ( A) 4 ( B) 7 ( C) 6 ( D) 5 29 定义结构体数组: struct stu int num; char name20; X5=1, “LI“ 2, “ZHAO“, 3, “WANG“, 4, “ZHANG“, 5, “LIU“); for(i=1; i 5; i+) printf(“ d c“, xi num, xi name2); 以上程序段的输出结果为 ( )。 ( A) 2A3N4A5U ( B) 1I2A3H4I ( C) 1A2N3A4U ( D) 2H3A4H

14、5I 30 设 int x=7,则 x的值是 ( )。 ( A) -8 ( B) 7 ( C) -1 ( D) 1 31 有以下程序: void fun(char*a, char*b) a=b; (*a)+; main() char c1=A, c2=a, *p1, *p2; p1=&c1; p2=*c2; fun(p1, p2); printf(“ c c n“, c1, c2); 程序运行后的输出结果是 ( )。 ( A) Ab ( B) aa ( C) Aa ( D) Bb 32 有以下程序: int fun(int n) if(n=1)return 1; else return(n+f

15、un(n-1); main() int X; scanf(“ d“, &x); x=fun(x); printf(“ d n“, x); 执行程序时,给变量 x输入 10,程序的输出结果是 ( )。 ( A) 55 ( B) 54 ( C) 65 ( D) 45 33 有以下程序: void f(int x, int y) int t; if(x y)t=x; x=y; y=t; main() int a=4, b=3, c=5; f(a, b); f(a, c); f(b, c); printf(“ d, d, d n“, a, b, c); 执行后输出结果是 ( )。 ( A) 3, 4,

16、 5 ( B) 5, 3, 4 ( C) 5, 4, 3 ( D) 4, 3, 5 34 以下程序的输出结果是 ( )。 main() char*s=“12134211“; int v4=0, 0, 0, 0, k, i; for(k=0; sk; k+) switch(sk) case1: i=0; case2: i=1; case3: i=2; case4: i=3; vi+; for(k=0; k 4; k+)printf(“ d“, vk); ( A) 4 2 1 1 ( B) 0 0 0 8 ( C) 4 6 7 8 ( D) 8 8 8 8 35 有以下程序: main() int

17、 x=102, y=012; printf(“ 2d, 2d n“, x, y); 执行后输出结果是 ( )。 ( A) 10, 01 ( B) 02, 12 ( C) 102, 10 ( D) 02, 10 36 有以下程序: main() int x=0, y=5, z=3; while(z- 0&+x 5)y=y-1; printf(“ d, d, d n“, x, y, z); 程序执行后的输出结果是 ( )。 ( A) 3, 2, 0 ( B) 3, 2, -1 ( C) 4, 3, -1 ( D) 5, -2, -5 37 有以下程序: main() int i, n=0; for

18、(i=2; i 5; i+) do if(i 3) continue; n+: while(!i); n+: printf(“n= d n“, n); 程序执行后输出结果是 ( )。 ( A) n=5 ( B) n=2 ( C) n=3 ( D) n=4 38 下面程序的功能是输出以下形式的金字塔图案: main() int i, j; * for(i=1; i =4; i+) * * * for(j=1; j =4-i; j+)printf(“); * * * * * for(j=1; j =_; j+)printf(“*“); * * * * * * * printf(“ n“); 在下划

19、线处应填入的是 ( )。 ( A) i ( B) 2*i-1 ( C) n=2*i+1 ( D) i+2 39 函数 ftell(fp)的作用是 ( )。 ( A)得到 fp所指向文件的当前读写位置 ( B)初始化流式文件的位置指针 ( C)移动流式文件的位置指针 ( D)以上答案均正确 40 在一个容量为 32的循环队列中,若头指针 front=3,尾指针 rear=2,则该循环队列中共有 _个元素。 41 一棵二叉树第 6层 (根结点为第一层 )的结点最多为 _个。 42 对度为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为 _。 43 数据库管理系统常见的数据模型有层次模型、网状

20、模型和 _3种。 44 在面向对象的程序设计中,类描述的是具有相似性质的一组 _。 45 下列程序的输出结果是 _。 main() int i=0, a=0; while(i 20) for(; ) if(i 10)=0)break; else i-; i+=ll: a+=i: printf(“ d n“, a): 46 下列程序的运行结果是 _。 #include long func(int x) long p; if(x=0x=1) return(1); p=x*func(x-1); return(p); main() printf(“ d n“, func(4); 47 设有下列程序:

21、#include #include main() int i; char s10, t10; gets(t); for(i=0; i 2; i+) gets(s); if(strcmp(t, s) 0) strcpy(t, s): printf(“ s n“, t); 程序运行后,从键盘上输入 (代表回车符 ):DEFBADEFMQTHKG则程序运行后的结果是 _。 48 数据库保护分为安全性控制、 _、并发性控制和数据的恢复。 49 下列程序的输出结果是 _。 #include main() char b30, *chp; strcpy(&b0, “CH“); strcpy(&b1, “DE

22、F“); strcpy(&b2, “ABC“); printf(“ s n“, b); 50 有以下程序,若运时从键盘输入: 18, 11,则程序的输出结果是_。 main() int a, b; printf(“Enter a, b: “); scanf(“ d, d“, &a, &b); while(a!=b) while(a b)a-=b; while(b a)b-=a; printf(“ 3d 3d n“, a, b); 51 在使用 putchar和 getchar函数处理字符时,必须在程序的开头出现包含头文件命令行是 _。 52 下列程序的运行结果是 _。 #include mai

23、n() int k=4, m=3, p; p=func(k, m); printf(“ d“, p); p=func(k, m): printf(“ n“, p); ) int fun c(a, b) static int m=0, i=2; i+=m+1: m=i+a+b: return(m); 国家二级( C语言)笔试模拟试卷 209答案与解析 1 【正确答案】 B 【试题解析】 栈是线性表的一种,其插入和删除运算都只在表的一端进行。进行插入、删除的一端称为栈顶,封闭的一端称为栈底。栈顶元素是最后被插入的元素,不是最后被删除的元素,是按先进后出的原则组织数据的。 2 【正确答案】 C 【试

24、题解析】 软件定义、软件开发、软件运行维护成了软件的生命周期。其中软件定义阶段的主要工作是可行性研究与计划制订和需求分析等;软件开发阶段的主要工作有概要设计、详细设计和测试等;运行维护阶段的主要工作是软件的运行及后期的维护等。 3 【正确答案】 C 【试题解析 】 在 C语言中各种数据类型在内存中所占的字节数与机器的位数有关, 16位机中 (也就是在标准 C中 ),若 int类型数据占 2个字节,则 float类型数据占 4个字节, double类型数据占 8个字节。 4 【正确答案】 B 【试题解析】 栈的特点是先进后出,可知 e1肯定是最后出栈的,因此正确答案为选项 B。 5 【正确答案】

25、 C 【试题解析】 数据定义语言 Data Definition Language(DDL)是 SQL语言的一部分,用来定义模式、内模式和外模式。 6 【正确答案】 B 【试 题解析】 以内模式为框架所组成的数据库叫物理数据库; 以概念模式为框架所组成的数据库叫概念数据库; 以外模式为框架所组成的数据库叫用户数据库。它是真实存在于计算机外存中的数据库。 7 【正确答案】 A 【试题解析】 在允许过程的递归调用的程序设计语言中,由于 C语言中栈的特性为先进后出,因此用栈来实现递归调用中的存储分配。 8 【正确答案】 D 【试题解析】 程序调试是由程序开发者完成诊断和改正程序中的错误的过程;软件测

26、试是由专门的测试人员完成,是发现错误而执行程序的过程;软件维护是指软 件系统交付使用以后,为了改正错误或满足新的需要而修改软件的过程,是软件生存周期中非常重要的一个阶段。 9 【正确答案】 D 【试题解析】 本题考查 do-while循环。当 -y是 0(即 y是 0)时结束循环,输出 -y,先将 y的值减 1再输出 y的值。 10 【正确答案】 A 【试题解析】 在 C语言中,字符都是变为其对应的 ASCII码值来参加算术运算的,但字符间的相对位置关系还是不变的,字符 5和字符 1的 ASCII码值相差仍是 4。 11 【正确答案】 B 【试题解析】 当 j=10时, for循环成立, j

27、3为 1, if条件也为真,当执行完 j后, j为 9,再执行 “-j; -j; ”后, j的值为 7,因此输出 7,继续循环执行 j-后j为 6,当 j=6时 for循环或立, j 3为 (), if条件为假,此时执行 “-j; -j;后, j为 4,输出 4,再继续循环执行 j-后 j为 3,当 j=3时 for循环不成立,退出循环,故选择 B选项。 12 【正确答案】 A 【试题解析】 题中 X =Y =Z的意思为 X =Y并旦 Y =Z。在 C语言中,要表示 “且 ”的关系,应用 “与 ”逻辑运算符,即 “&”,故选择 A选项。 13 【正确答案】 D 【试题解析】 程序中 prt指针

28、指向数组 arr的首地址, *ptr=arr0=6,*(ptr2)=2,故选 D。 14 【正确答案】 D 【试题解析】 本题要求输出每个元素的值, D选项中 (*p)+等价于 *p=*p+1,其仅仅是对 *p加 1,并没有达到输出其每个值的作用。 15 【正确答案】 C 【试题解析】 b+是先用表达式的值然后自增 1,因此表达式值为 2, b为 3;b-a=3-1=2,因此最后输出的结果为 2, 2前一个字符 2,后一个为数字 2。 16 【正确答案】 C 【试题解析】 本题中 int(*ptr)()的含义是指向函数的指针变量,其为指向函数的指针变量,该函数返回一个 int型数据,故选择 C

29、选项。 17 【正确答案】 A 【试题解析】 当值相同时按位异或,刚为 0,按位或与按位与时仍不变,负数也为非 ()。 18 【正确答案】 C 【试题解析】 本题用了函数调用 fun中 i语句成立则进行 i, j的变换,用到主函数中则为把下标为 0、 3、 1、 2互换,因此当执行完后 x的数组为 8, 1 6, 2,故选铎 C选项。 19 【正 确答案】 B 【试题解析】 本题考查循环的使用当 j=10, i=9时,循环成立,第一个 if条件为假,第二个 if条件 i=j-1成立,输出 j的值为 10,接着执行 j+后, i为 10;当 i为 10, for循环不成立,退出内层循环,此时执行

30、 j+后, j为 11,循环不成立,退出循环。 20 【正确答案】 D 【试题解析】 scanf函数读取的是 char型数据,所以回车时输入的换行符也是有教字符。于是 c1, c2 c3, c1的内客分别是 1, 2, 3, n。 21 【正确答案】 B 【试题解析】 水 平制表符中, t表示的是横向跳若干格;选项 B中, 039错误, 039是八进制形式表的字符,最大数为 7,但其中出现 9, , 是字符逗号;选项 D中, n表示的是换行。 22 【正确答案】 B 【试题解析】 第一个 for循环的作用是让 p指向每行的首地址,第二个 for循环的作用是把它指向的字符串输出,故选择 B选项。

31、 23 【正确答案】 D 【试题解析】 当 k=1时,循环成立,输出 w1的数组即 EFGH,接着执行 k+后 k为 2;当 k=2时,循环成立,输出 w2的数组即 IJKL,接着执行 k+后, k为 3;当 k=3时,循环不成立,退出。 24 【正确答案】 D 【试题解析】 因为 a是结构体变量,最后一次输入的值为结构体中的值,即 a中的任何一个值都为 0。 25 【正确答案】 B 【试题解析】 在定义 *p=&r时,是表示 r的地址赋给了 p所指的存储单元,因此选项 B正确。 26 【正确答案】 B 【试题解析】 (x&1)&(z z)=(0 5&1)&(a z)=1&1=1,故选择 B选

32、项。 27 【正确答案】 B 【试题解析】 二维数组的元素可以看成是按矩阵形式存放的,数组第一维的下标是 i,说明它前面还有 i行,有 i*m个元素,数组第二维的下标是 j,说明它前面还有 j列,有 j个元素,所以共有 i*m+j个元素。 28 【正确答案】 D 【试题解析】 static变量是局部度量,函数无法修改,所以当 i=1时,第 2次进入 f函数时 c=5,所以最终 main()函数中 c的值为 5 29 【正确答案】 A 【试题解析】 本题主要考查结构体数组的使用。 xi num为结构体 xi中的num成员, xi num2是结构体 xi中 name成员的第 3个元素。程序执行循环

33、过程时:第 1次循环, i=1,输出 xi num, x1 name2的值;第 2次循环,i=2,输出 x2 num, x2 name2的值,即 3N;第 3次循环, i=3,输出x3 num, x3 name2的值即 4A;第 4次循环, j=4,输出 x4 num,x4 name2 的值,即 5U。 30 【正确答案】 A 【试题解析】 本题主要考查按位求反运算和 C语言正负数的表示, “0”代表正数, “1”代表负数; x=7的二进制 为 00111,第一个 0代表正数, x为 11000,第一个 1代表负数,值为 8。 31 【正确答案】 A 【试题解析】 函数 fun的作用是将指针

34、a指向指针 b的内容,然后将该内容加1。执行语句 “fun(p1, p2); ”后, p1和 p2指向的地址并未改变,只是将 p2指向的存储单元的值增加 1。所以,答案是 A。 32 【正确答案】 A 【试题解析】 函数 int fun(int n)的功能是求 1+2+n 的值并返回。所以执行程序时,给变量 x输入 10后,执行语句 “x=fun(x); ”, x的值将变为 1到 10中的 10个整数的累加和,即 55。 33 【正确答案】 D 【试题解析】 a、 b、 c都是按值传递给函数 f,函数 f不能改变它们的值。所以,a、 b、 c的值仍然是 4、 3、 5。 34 【正确答案】 B

35、 【试题解析】 本题考查 swltch, case语句,当 k=0时,循环体成立,执行 switch后表达式的值为 1,执行 case1, i的值为 0,因为没有 break语句,继续执行其后的语句,到最后一个语句时 i的值为 3,此时 vi+, v3=1,接着执行 k+后, k的值为 1,当 k=1时,循环成立 。执行 switch后的表达式的值为 2,执行case2, i的值为 1,因为没有 break语句,继续执行其后的语句,到最后一个语句时, i的值为 3,此时 vi+, v3=2,接着执行 k+后, k的值为 2,依次下去, case4也会执行,最后 i的值一定为 3,到 v3=8时

36、循环结束,而 v0 v2的值一直没有变化,故选择 B选项。 35 【正确答案】 C 【试题解析】 x的值为十进制数 102,而 y的值为八进制数 012,根据题意将 y用十进制表不为 10 md, m为指定输出数据的宽度,若位数小 于 m则左端补以空格,若位数大于 m则按实际输出。所以答案是 C。 36 【正确答案】 B 【试题解析】 while语句执行如下:当 z=3, x=0时,表达式 z- 0&+x 5为真, z的值变为 2, x的值变为 1,执行语句 “y=y-1; ”, y的值变为 4;当 z=2,x=1时,表达式 z- 0&+x 5为真, z的值变为 1, x的值变为 2,执行语句

37、“y=y-1; ”, y的值变为 3;当 z=1, x=2时,表达式 z- 0&+x 5为真, z的值变为 0, x的值变为 3,执行语句 “y=y-1; ”, y的值变为 2;当 z=0, x=3时,表达式 z- O为假,表达式 (z- 0&+x 5)为假, z的值为 -1,不进行 +x 5的判断,不执行语句 y=y1;所以 x的值为 3, y的值为 2, z的值为 -1,答案为B。 37 【正确答案】 D 【试题解析】 continue语句的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。 38 【正确答案】 B 【试题解析】 对于第 i行程序先输出

38、 4-i个空格,然后输出 2i-1个 “*“,所以答案是 B。 39 【正确答案】 A 【试题解析】 位置指针当前值函数 ftell()的基本调用格式为 ftell(fp)。 ftell函数的功能:得到 fp所指向文件的当前读写位置,即位置指针的当前值,如果函数的返回值为 -1L,表示出错。 40 【正确答案】 31。 【试题解析】 设从列容量为 m,如果 rear front。则队中元素个数为 rearfront;如果 rear front。则队列中元素个数为 m+(rear-front)。本题 rearfront,则 m=32+(23)=31。 41 【正确答案】 32。 【试题解析】 根

39、 据二叉树性质二叉树第 k层上最多有 2k-1(k1)个结点。 42 【正确答案】 15。 【试题解析】 对于长度为 N的线性表,在最坏情况下 (即线性表中元隶现在的顺序与目标顺序正好相反 ),冒泡排序需要经过 N/2遍的从前往后的扫描和 N/2遍的从后往前的扫描,需要的比较次数为 N(N-1)/2。 43 【正确答案】 关系横型。 【试题解析】 数据库管理系统是位于用户与操作系统之间的一层系统管理软件,是一种系统软件,常见的数据模型有层次模型、网状摸型和关系模型。 44 【正确答案】 对象。 【试题解析】 将操怍相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。 45 【正

40、确答案】 32。 【试题解析】 本题考查 while及 for循环, while循环中,先计算表达式的值,若为真,则执行循环,执行完毕,再计算表达式的值,若仍为真,则继续执行循环体,直到为假时,结束循环,继续执行 while语句后面的语句,本题中 1=0时满足循环条件,也满足 if的条件,执行语句得 i=11, a=11,第 2次循环不满足 if的条件,执行 i-, i=10,执行 i+=11; a+=i后,得 i=21, a=32,不满足 i 20,循环结束。 46 【正确答案】 24。 【试题解析】 本题考查函数调用。 p=x*fun(x-1),当 x=4,不满足 if语句的条件, p=4

41、*func(3), x=3也不满足条件, func(3)=3*func(2), func(2)=2*func(1), x=1满足条件 return(1),则输出结果为 4*3*2*1=24。 47 【正确答案】 QTHRG。 【试题解析】 本题考查 strcmp(t, s)函数,函数 strcmp(t, s)用来比较 t和 s所指字符串的大小,若 t s,则函数值大于 0;若 t=s,则函数等于 0;若 t s,则函数值小于 0。函数 strcpy(t, s)的功能是:把字符数组 s所指字符串的内容复制到字符数组 t所指存储空间中。本题中, t10=“CDEF“。第一次循环,s10=“BADE

42、F“,条件 strcmp(t, s) 0不成立,接着执行第二次循环,s=“QTHRG“, if条件 strcHkp(t, s) 0成立,执行 strcmp(t, s)函数,然后输出字符数组 t。 48 【正确答案】 完整性控制。 【试题解析】 安全性控制:防止未经授权的用户有意或无意 存取数据库中的数据,以免数据被泄漏、更改或破坏; 完整性控制:保证数据库中数据及语义的正确性和有效性; 并发性控制:正确处理好用户,多任务环境下的并发操作,防止错误发生; 数据的恢复:当数据库被破坏或数据不正确时,使数据库能恢复到正确的状态。 49 【正确答案】 CDABC。 【试题解析】 strcpy的作用是拷

43、贝,当执行 strcpy(&b0, ”CH”);后,因为b1=H被 “DEF”代替,于是最终 b中的字符串为 “CH”,接着执行 strcpy(&b1,“DEF“);后, b中的字符串为 “CDEF”,接着执行 stcpy(&b2, “ABC“);后, b中的字符串为 “CDABC”,故输出的结果为 CDABC。 50 【正确答案】 1 1。 【试题解析】 当执行 scanf语句后,从键盘接收 2个数字, a=18, b=11, a!=b循环成立,执行 a-=b,此时 a=7, b=11;再判断 b a,循环成立,执行 b-=a,此时a=7, b=4;循环再次返回判断 a!=b,循环成立,执行

44、 a-=b,此时 a=3, b=4,判断 b a,循环成立,执行 a-=b,此时 a=2, b=1,判断 b a,循环不成立,循环再次返回 ,判断 a!=b,循环成立,则执行 a-=b,此时 a=1, b=1,判断 b a;循环不成立,循环结束程序,因为输出中有 3d,所以输出 1, 1。 51 【正确答案】 #incIude“stdio h“。 【试题解析】 使用 putchar和 getchar函数时,必须在程序的开头出现包含头文件 #include“stdio h“的命令行。 52 【正确答案】 1021。 【试题解析】 本题主要考查变量和静态局部变量。函数的存储范围是从定义它的位置开始,而静态局部变量的生存期为整个程序的运行期间,作用域 为定义它的函数范围。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1