ImageVerifierCode 换一换
格式:DOC , 页数:27 ,大小:69.50KB ,
资源ID:503372      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-503372.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级(C语言)笔试模拟试卷208及答案与解析.doc)为本站会员(livefirmly316)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

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

1、国家二级( C语言)笔试模拟试卷 208 及答案与解析 1 下列叙述中正确的是 ( )。 ( A)算法的执行效率与数据存储结构无关 ( B)算法的空间复杂度是指算法程序中指令 (或语句 )的条数 ( C)算法的有穷性是指算法必须能在执行有限个步骤之后终止 ( D)以上 3种描述都不对 2 源程序的文档不包括 ( )。 ( A)符合号名的命名要有实际意义 ( B)正确的文档形式 ( C)良好的视觉组织 ( D)正确的程序注释 3 为了提高软件的独立性,模块之间最好是 ( )。 ( A)控制耦合 ( B)公共耦合 ( C)内容耦合 ( D)数据耦合 4 数据库系统的核心是 ( )。 ( A)数据模

2、型 ( B)数据库管理系统 ( C)数据库 ( D)数据库管理员 5 下列标识符不是关键字的是 ( )。 ( A) break ( B) char ( C) Swithch ( D) return 6 对下列二叉树 进行中序遍历的结果是 ( )。 ( A) ACBDFEG ( B) ACBDFGE ( C) ABDCGEF ( D) FCADBEG 7 下列选项中不合法的十六进制数是 ( )。 ( A) 0xff ( B) 0X11 ( C) 0xlg ( D) 0Xabc 8 C语言结构体类型变量在程序执行期间, ( )。 ( A)所有成员一直驻留在内存中 ( B)没有成员驻留在内存中 (

3、C)部分成员驻留在内存中 ( D)只有一个成员驻留在内存中 9 下列 4个关于 C语言的结论中错误的是 ( )。 ( A)可以用 do-while语句实现的循环一定可以用 while语句实现 ( B)可以用 for语句实现的循环一定可以用 while语句实现 ( C)可以用 while语句实现的循环一定可以用 for语句实 现 ( D) do-while语句与 while语句的区别仅是关键字 “while”出现的位置不同 10 有下列函数定义: int fun(double a, double b) return a*b; ) 若下列选项中所用变量都已经正确定义并赋值,错误的函数调用是 ( )

4、。 ( A) if(fun(x, v) ( B) z=fun(fun(x, y), fun(x, y); ( C) z=fun(fun(x, y)x, y); ( D) fun(x, y); 11 下列函数的类型是 ( )。 fun(double x) float y; y=3*x-4: return y; ( A) int ( B)不确定 ( C) void ( D) float 12 下列程序的运行结果是 ( )。 int y=5。 x=14; y=(x=3*y, x+1), x-1); printf(“x= d, y= d“, x, y); ( A) x=27, y=27 ( B) x=

5、12, y=13 ( C) x=15, y=14 ( D) x=y=27 13 若有下列定义和语句: int u=011, v=0x11, w=11; printf(“ o, x, d n“, u, v, w); 则输出结果是 ( )。 ( A) 9, 17, 11 ( B) 9, 11, 11 ( C) 11, 11, 11 ( D) 11, 17, 11 14 若有下列定义 (设 int类型变量占 2个字节 ): int i=8, j=9; 则下列语句: printf(“i= d, j= d n“, i, j); 输出的结果是 ( )。 ( A) i=8, i=9 ( B) i= d, j

6、= d ( C) i= 8, i= 9 ( D) 8, 9 15 下列程序的输出的结果是 ( )。 main() double d=3 2; int x, y; x=1 2; y=(x+3 8) 5 0; printf(“ d n“, d*y); ( A) 3 ( B) 3 2 ( C) 0 ( D) 3 07 16 设 “int x=2, y=1; ”,则表达式 (!xy-)的值是 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) -1 17 设有以下语句: int a=1, b=2, c; c=a (b 2); 执行后, c的值为 ( )。 ( A) 6 ( B) 7 ( C)

7、 8 ( D) 9 18 下列程序执行后的输出结果是 ( )。 void fune(int*a, int b) b0=*a+b; main() int a, b5; a=0; b0=3; func(&a, b); printf(“ d n“, b0); ( A) 6 ( B) 7 ( C) 8 ( D) 9 19 有以下程序: main() int i, j, x=0; for(i=0; i 2; i+) x+; for(j=0; j =3; j+) if(j=0; j =3; j+) X+; x+; printf(“x= d n“, x); 程序执行后的输出结果是 ( )。 ( A) x=4

8、 ( B) x=8 ( C) x=6 ( D) x=12 20 若有以下程序段, w和 k都是整型变量: w=k: LB: if(w=0)go to LE; w-; printf(“*“) goto LB; LE; 则不能与上面程序段等价的循环语句是 ( )。 ( A) for(w=k; w!=0; w-)printf(“*“); ( B) for(w=k; w; -w)printf(“*“); ( C) w=k; while(w-!=O)printf(“*“); ( D) w=k; w+; dow-; printf(“*“); while(w!=0); 21 以下程序的输出结果是 ( )。

9、main() char str10=“china“, “beijing“, *p=str; printf(“ s n“, p+10); ( A) China ( B) Beijing ( C) ng ( D) ing 22 合法的 main()函数命令参数形式是 ( )。 ( A) main(int a, char*c) ( B) main(int arc, char* *arv) ( C) main(int argc, char*argw) ( D) main(int argv, char*argc) 23 有以下结构体说明和变量的定义,且指针 p指向变量 a,指针 q指向变量 b,则不能把

10、结点 b连接到结点 a之后的语句是 ( )。 struet node char data; struct node*next; a, b, *p=&a, *q=&b; ( A) a next=q; ( B) p next=&b; ( C) p- next=&b; ( D) (*p) next=q; 24 有如下程序: #include main() FILE *fpl; fp1=fopen(“f1 txt“, “w“); fprintf(fp1, “abc“); fclose(fp1); 若文本文件 f1 txt中原有内容为 : good,则运行以上程序后文件 f1 txt中的内容为 ( )。

11、 ( A) goodabc ( B) abcd ( C) abc ( D) abcgood 25 与 “y=(x 0? 1: x 0? -1: 0)”;的功能相同的 if语句是 ( )。 ( A) if(x 0)v=1; else if(x 0)y=1; else y=0; ( B) if(x) if(x 0)y=1; else if(x 0)y=-1; else y=0; ( C) y=-1 if(x) if(x 0)y=1; else if(x=0)y=0; else y=-1; ( D) y=0; if(x =0) if(x =0)y=1; else y=-1; 26 下列字符串是标识符

12、的是 ( )。 ( A) aa ( B) a-class ( C) int ( D) LINE 1 27 执行下列程序后,变量 a, b, c的值分别是 ( )。 int x=5, y=4; int a, b, c; a=(-x=y+)?x: +y; b=+x; c=y; ( A) a=5, b=5, c=5 ( B) a=4, b=5, c=5 ( C) a=5, b=6, c=5 ( D) a=1, b=5, c=6 28 下列变量声明合法的是 ( )。 ( A) short a=1 4e-1; ( B) double b=1+3e2 8; ( C) long do=0xfdaL; ( D

13、) float 2_aaa=1e-3; 29 下列程序的输出结果是 ( )。 #include main() int i; for(i=1: i =10, i+) if(i*i =20)&(i*i =100) break; printf(“ d n“, i*i); ( A) 49 ( B) 36 ( C) 25 ( D) 64 30 运行下列程序,若从键盘输入字符 “a”,则输出结果是 ( )。 char c; c=getchar(); if(c =a&c =g)c=c+4; else if(c =g&c =z)c=c-21; else printf(“input error! n“); pu

14、tchar(c); ( A) f ( B) t ( C) e ( D) d 31 下列程序的输出结果是 ( )。 #include int b=2; int func(int*a) b+=*a; return b; main() int a=1, t=2; t+=func(&a); printf(“ d n“, t); ( A) 4 ( B) 5 ( C) 6 ( D) 8 32 若有定义 “float a=25, b, *p=&b; ”,则下列对赋值语句 “*p=a; ”和 “p=&a; ”的正确解释为 ( )。 ( A)两个语句都是将变量 a的值赋予变量 p ( B) *p=a是使 p指向

15、变量 a,而 p=&a是将变量的值赋予变量指针 p ( C) *p=a是将变量 a的值赋予变量 b,而 &a 是使 p指向变量 a ( D)两个语句都是使 p指向变量 a 33 对两个数组 a和 b进行下列初始化: char m=“1234567“; char n=1, 2, 3, 4, 5, 6, 7; 则下列叙述正确的是 ( )。 ( A)数组 m与数组 n完全相同 ( B)数组 m与数组 n长度相同 ( C)数组 m比数组 n长 1 ( D)数组 m与数组 n中都存放字符串 34 下列程序输出结果是 ( )。 #include main() char a=a, b, c, d, e, f

16、, 0; int i, j; i=sizeof(a); j=strlen(a); printf(“ d, d“, i, j); ( A) 7, 7 ( B) 7, 6 ( C) 6, 6 ( D) 6, 7 35 下列程序执行的输出结果是 ( )。 #include main() char a24; strcpy(a, “are“); strcpy(a1, ”you”); a03=&; printf(“ s n“, a); ( A) are&you ( B) you ( C) are ( D) & 36 下列程序的运行结果是 ( )。 #include #define ADD(x) x+x m

17、ain() int m=1, n=2, k=3; int s=ADD(m+n)*k; printf(“s= d“, s); ( A) sum=18 ( B) sum=10 ( C) sum=9 ( D) sum=25 37 有以下程序: fun(int x, int y)return(x+y); main() int a=1, b=2, c=2, sum; sum=fun(a+, b+, a+b), c+); printf(“ d n“, sum); 执行后的结果是 ( )。 ( A) 6 ( B) 7 ( C) 8 ( D) 9 38 设 x=011050,则 x=x&01252的值是 (

18、)。 ( A) 0000001000101000 ( B) 1111110100011001 ( C) 0000001011100010 ( D) 1100000000101000 39 有以下程序: int fun(int x) int p; if(x=0 x=1) return(3); p=x-fun(x-2); return p; main() printf(“ d n“, fun(7); 执行后的结果是 ( )。 ( A) 7 ( B) 3 ( C) 2 ( D) 0 40 已知函数 fread的调用形式为 “fread(buffer, size, count, fp); ”,其中 b

19、uffer代表的是 ( )。 ( A)存放读入数据项的存储区 ( B)一个指向所读文件的文件指针 ( C)一个指针,是指向输入数据存放在内存中的起始地址 ( D)一个整型变量,代表要读入的数据项总数 41 在结构化设计方法中,数据流图表达了问题中的数据流与加工间的关系,并且每一个 _实际上对应一个处理模块。 42 二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是_。 43 数据库系统中实现各种数据管理功能 的核心软件是 _。 44 语句: “x+; +x; x=1+x; ”执行后都使变量 X中的值增 1,请写出一条同一功能的赋值语句 _。 45 数据模型按不同应用层次分成 3

20、种类型,它们是概念数据模型、 _和物理数据模型。 46 数据管理技术发展经过人工管理、文件系统和数据系统 3个阶段,其中数据独立性最高的阶段是 _。 47 已有定义: “double*p; ”,请写出完整的语句,利用 malloc函数使 p指出一个双精度型的动态存储单位 _。 48 若 a=1, b=2,则表达式 !(x=a)(y=b)&0的值是 _。 49 在循环中, continue语句与 break语句的区别是: _语句只是结束本次循环,然后进行循环的条件判定。 50 下列程序的运行结果是 _。 #define POWER(x) (x)*(x) main() int i=1; print

21、f(“ d, d“, POWER(i+), i); 51 下列程序的输出结果是 _。 #include fun() static int a=0; a+=3; printf(“ d“, a); main() int cc; for(cc=1; cc 5; cc+)fun(); printf(“ n“); 52 以下程序运行后的输出结果是 _。 main() int a=0; a+=(a=8); printf(“ d n“, a); 53 设有如下程序: main() int n1, n2; scanf(“ d“, &n2); while(n2!=0) n1=n2 10; n2=n2 10; p

22、rintf(“ d“, n1); 程序运行后,如果从键盘上输入 1298,则输出结果为 _。 54 函数 f(x)=x2+1,通函数 f(x)的累加求 f(0)+f(1)+f(2)+f(10) 。 main() printf(“The sum=&d n“, SumFun(10); ) SumFun(int n) int x, s=0; for(x=0; x =n, x+)s+=f(_); return s; f(int x) return_; 国家二级( C语言)笔试模拟试卷 208 答案 与解析 1 【正确答案】 C 【试题解析】 在程序设计中,算法执行效率与数据的存储结构密切相关。算法的空

23、间复杂度是指算法执行过程中所需存储空间。 2 【正确答案】 B 【试题解析】 本题主要考查源程序的定义: 符号名应具有一定实际的含义; 正确的程序注释; 良好的视觉组织。 3 【正确答案】 D 【试题解析】 在程序设计中,各模块间的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚、低耦合,以有利于提高模块的独立性。耦合性与内聚性是模块独立的两个定性标准,是互相关 联的。 4 【正确答案】 B 【试题解析】 本题考查对数据库系统的理解,数据库系统由数据库 (数据 )、数据库管理系统 (软件 )、数据库管理员 (人员 )、硬件平台 (硬件 )、软件平台 5个部分构成。其中数据库管理

24、系统是数据库系统的核心,它负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等工作。 5 【正确答案】 C 【试题解析】 在 C语言中,字母区分大小,所以 break、 char、 return、 switch都是 C语言中的关键字,而 Swithch 不是。 6 【正确答案】 A 【试题解析】 有 3种遍历方法:前序、中序和后序。中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。 D为前序遍历对二叉树进行中序遍历,结果为 ACBDFEG。 7 【正确答案】 C 【试题解析】 十六进制是以 “0x、 0X”开头的字符串,字符串中只能含有 0 9这10个数字和 a、 b、 c

25、、 d、 e、 f 这 6个字母。 8 【正确答案】 A 【试题解析】 C语言的结构体类型变量在程序执行期间所有成员一直驻留在内存中。 9 【正确答案】 D 【试题解析】 本题考查对各个循环语句的理解。 do-while语句、 for语句、while语句所实现的循环可以相互替代; do-while语句至少执行一次,而 while是符合条件执行,不符合不执行。 10 【正确答案】 C 【试题解析】 本题考查函数在函数调用时参数的传递形式,形参与实参参数个数类型要一致。 11 【正确答案】 C 【试题解析】 本题考查函数盥的类型。在函数调用时,尽管 y的类型是 float, x的类型是 doubl

26、e,但是因为函数定义时没有指定类型说明,系统默认函数值的类型为 int型,所以计算后 y的类型是 int型。 12 【正确答案】 C 【试题解析】 逗号表达式的解题思路是从左到右,依次求解,整个逗号表达式的值就是最后一个表达式的值。表达式 (x=3*y, x+1)中,依次是 x=3*y=3*5=15表达式 x+1=16,但没有给 x或 y赋值,所以 x还是等于 15;第 3个表达式 x-1=15-1=14,所以 y的值为 14。 13 【正确答案】 C 【试题解析】 “ o”表示八进制无符号型输出整型数据 (印不带前导 0); “ x”表示以十六进制无符号型输出整型数据 (即不带前导 0x或

27、0X); “ d”表示输出带符号的十进制整型数 。 14 【正确答案】 B 【试题解析】 本题考查函数的输出格式。在 printf函数,格式说明符中有两个“ ”说明;将第 1个后面的字符原样输出,并不输出其对应的变量值。 15 【正确答案】 C 【试题解析】 根据赋值运算的类型转换规则,先将 double型的常量 1 2转换为int型,因为 x的类型是 int,则 x的值为 1;执行语句 y=(x+3 8)/5 0时,即先将整型变量 x的值 1转换为 double型 1 0,然后 3 8相加得 4 8,进行除法运算 4, 8 5 0结果为 0,即变量 y的值为 0 d*y的值也为 0,故选 C

28、选项。 16 【正确答案】 B 【试题解析】 因 x为 2,所以 !x 时表达式值为 0,因 y为 1, y-表达式的值为 1然后自减 1, y为 0,所以 !xy-时表达式的值为 1。 17 【正确答案】 D 【试题解析】 本题考查两个知识点,按位异或和左移把 b左移 2位化成二进制c=a (b 2)=a (000010 2)=a 001000=0000001 001000=9,故选择 D。 18 【正确答案】 A 【试题解析】 本题考查函数的调用,从主函数传递到调用函数中, *a的 值为 0,因此当执行完调用函数后, b0的值为 6。 19 【正确答案】 B 【试题解析】 当 i=0时,

29、j 2成立,执行第一个 for循环 x自加为 1,接着执行第二个 for循环; j=0时 j =3成立,此对 if不成立,执行 x+后, x为 2;接着j=1时, j =3成立,继续循环,此时 if 成立, continue是跳出本次循环,继续下一次循环不再执行 x+了;接着 j=2时, j =3成立,此时 if 不成立,执行其后的语句;当 j=4时,退出第二个循环,接着执行循环外部的 x+, x为 4;当 i=1时, 1 2成立,执行第 一个循环, x=5,此时接着执行循环外部的语句,即第二个循环; j=0时 j 3成立,此时 if不成立, x+后, x为 6接着 j为 1时, j =3成立

30、,继续循环,此时 if成立,不再执行 x+了;接着 i=2时, j =3成立,此时 if不成立,执行其后的 x+, x为 7; j=3时, j =3成立,此时 if 成立,不再执行其后的语句了;当 j=4时,退出第二个循环,执行循环外部的语句,最终 x为 8,故选 B 选项。 20 【正确答案】 C 【试题解析】 当循环结束时, w 的值应为 -1,而其他选项中 w 的值为 0,故选择C选项。 21 【正确答案】 B 【试题解析】 本趣考查指针,由 *p=str可知,指针 p 指向字符串数组的首地址。二维数组 str为每个字符串分配的存储空间是 10个字节,因此 p+10指向str10,输出的

31、字符串就是数组中的第 2个字符串。 22 【正确答案】 C 【试题解析】 在 C语言中, main()函数也可以有参数,例如, main(int argc,char*argv), argc是指字符串的指针数组,而其他几项表达不正确。 23 【正确答案】 B 【试题解析】 本题考查结构体指针变量的赋值 方法,要把结点 b 连接到结点 a的后面,必须把 b 的地址给 a的 next指针。故 B 正确。 24 【正确答案】 C 【试题解析】 当用 “w”打开对,已存在一个以该文件名命名的文件,则在打开时将该文件删除,再重新建立一个新文件,因此当输入对原来的内容已被覆盖,所以只有后输入的内容,故选择

32、C选项。 25 【正确答案】 B 【试题解析】 y=(x 0?1: x 0?-1: 0)中有两个三目运算符,因此按右到左的顺序运算,可写成 y=(x 0?1: (x 0?-1: 0),故选择 B 选项。 26 【正确答案】 A 【试题解析】 C语言规定,标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或者下划线。 int就是表达整型变量类型的标识符,它不能用做变量名和函数名。 27 【正确答案】 B 【试题解析】 本题考查自加 (+)、自减 (-)运算符的使用。 “+x, -x”,在变量 x前使用,先使 x的值加 1或者减 1,再使用此时的表达式的值参与运算; “x+, x-”,

33、先把使用 x的值参与运算,在使用 x之后,再使 x的值加 1或者减 1。对于表达式 -x=4, y+=4,两者相等, -x=y+为冀,所 以 a=x=4,执行完比语句后 y的值是 5。第 2个表达式 b=+x, x的值先加 1,然后赋给 b,即 b=x+1=5:第一个表达式 c=y=5。故 B正确。 28 【正确答案】 A 【试题解析】 解答本题需了解 3个知识点: 标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或者下划线; do是 C语言的一个关键字,不能再用做变量名和函数名; C语言规定指数形式的实型数量 e或 E 后面的指数必须是整数。 29 【正确答案】 C 【试题解析

34、】 本题考查 for循环及 if 语句。当执行到第一个满足 (i*i=20)&(i*i =100)这小条件的 i出现时, break 跳出循环,执行下列的 printf 语句。 30 【正确答案】 C 【试题解析】 getchar 函数是读取键盘的输入函数,本题中输入字母 “a”,则c=a,判断 if条件,发现 a a&a =g成立,则执行下列语句: c=c+4, c得到的字符的 ASCII 码值,退出 if 语句,通过 putchar函数输出字符。 31 【正确答案】 B 【试题解析】 本题考查函数调用时的参数传递。在执行函数 func时,由于全局定义了一个 变量 b,所以在函数体中执行 b

35、=24+1=3,最终 t=2+3=5。 32 【正确答案】 C 【试题解析】 “p”是指针变量,指向一个地址: “*p”为 p指针所指向地址的内容。 “&”是取变量地址。 33 【正确答案】 C 【试题解析】 本题考查字符串数组和字符数组赋值的区别。 “char m=”1234567”; ”定义一个字符型数组并初始化, C语言规定,在字符串的末尾自动加上串结束标记 0,因此数组 m的长度是 8;而数组 n是按照字符方式对数组初始化,系统不加上串结束标记 0。因此数组 n 的长度是 7。 34 【正确答案】 B 【试题解析】 本题要注意 sizeof()和 strlen()的区别, sizeof

36、()函数的功能是返回字符串所占的字节数, strlen()函数的功能是返回字符串长度, 0是一个转义符,它占存储空间,但不计入串的长度。 35 【正确答案】 A 【试题解析】 strcpy(a, “are“)中数组名 a代表数组首地址 a00的地址常量,该操作把 are复制到 a00strcpy(a1, “you“)中, a1代表 a10的首地址,该操作把 you 复制到 a10中, a03=&,故输出 a为 “are&you”。 36 【正确答案】 B 【试题解析】 本题考查带参数的宏的定义: “#define ADD (x)x+x”ee x代表m+n,故 s写成 s=m+n+m+n*k=1

37、+2+1+2*3=10。 37 【正确答案】 C 【试题解析】 表达式 a+, b+, a+b 是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果。所以表达式 a+, b+, a+b 的值为 5,所以 fun()函数中的形参 x的值为 5;表达式c+先把变量 c的值传给形参 y,然后 c的值加 1,所以 Y的值为 3,因此函数fun(a+, b+, a+b), c+)的返回值为 8。 38 【正确答案】 A 【试题解析】 本题考查按位与运算,按位与就是相同为 1,不同为 0,把x=011050化成二进制为 0001001000101000,把

38、 01252化成二进制为0000001010101010,两者相与得 0000001000101000。 39 【正确答案】 C 【试题解析】 调用函数 fun(7)时,由于 x的值为 7,执行语句 “p=x-fun(x-2); ”,相当于执行 p=7-fun(5):调用函数 fun(5)时,由于 x的值为 5,执行语句 “p=x-fun(x-2); ”,相当于执行 n=7-fun(3);调用函数 fun(3)时,由于 x的值为 3,执行语句 “p=x-fun(x-2); ”,相当于执行 p=7-fun(1):调用函数 fun(1)时,由于 x的值为 1,执行语句 “return(3); ”,

39、函数的返回值为 3。因此函数调用 fun(7)等价于 7-(5-fun(3),即 7-(5-(3-fun(1),即 7-(5-(3-3),所以函数 fun(7)的返回值为 2。答案为 C。 40 【正确答案】 C 41 【正确答案】 加工。 【试题解析】 数据流图是从数据传递和加工的角度未识别的,其中的每一个加工对应一个处理模块。 42 【正确答案】 顺序存储 (顺序方式存储 )。 【试题解析】 二分法查找要求表是有序顺序列表,即第一要求是数据元素有序,第二要求是按顺序方式存储。 43 【正确答案】 数据库管理系统。 【试题解析】 数据库管理系统 (DBMS)是数据库的管理机构,负责数据库中的

40、数据组织、数据操纵、数据 维护、控制及保护和数据服务等。 44 【正确答案】 x+=1。 【试题解析】 x+=1相当于 x=x+1,也就是本身加 1, +前缀是在使异 j变量之前先将其值增 1或减 1,后级形式是先使用变量原来的值,使用完成后再使用增 1或减 1。 45 【正确答案】 逻辑数据模型。 【试题解析】 数据模型按不同层次分戎概念数据模型、逻辑数据模型和物理数据模型 3类。 46 【正确答案】 数据库系统。 【试题解析】 数据库系统技术的发展过程分为人工管理、文件系统以及数据系统3个阶段,文件系统提供了简单的 数据共享与数据管理能力,但是它无法提供完整的、统一的、管理和数据共享的能力

41、。数据独立性是数据与程序间的互不依赖性,即数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。所以数据独立最高的阶段是数据库系统。 47 【正确答案】 p=(double*)malloc(sizeof(double)。 【试题解析】 动态存储单元分配函数 malloc的形参为申请动态存储单元的大小。此函数默认返回的类型为无类型的指针,所以调用此函数时需要进行强制类型转换,因而本题需要逅回类型强制转换为 double型指针 。 48 【正确答案】 0。 【试题解析】 表达最后运算的是与 (&)运算,而任何表达式与 “0”进行 “与 ”运算结果都为 0。 49 【正确答案】 continue

42、。 【试题解析】 continue语句只是结束本次循环,然后进行循环的条件判定。break 语句是终止整个循环的执行,跳出循环不再进行条件判定。 50 【正确答案】 1 2。 【试题解析】 POWER(i+)中先引用 i 的值 1, POWER(i+)=1*1=1再将 i的值加 1。 51 【正确答案】 3 6 9 12。 【试题解析】 本题考查最基本的 for循环: for(cc=1; cc 5; cc+)规定循环次数为 4次。每次 a+=3即每次 a的值增 3,但因为 fun 函数中变量 a为 static类型,所以每次调用完子函数之后,变量 a所做的改变都要保存。 52 【正确答案】 1

43、6。 【试题解析】 赋值表达式的值就是所赋值变量的值, a+=8相当于 a=a+8,对表达式逐步进行求解: a+=(a=8)此时, a的值由于赋值为 8,而不是 0, a+=8即a=a+8,所以 a=16。 53 【正确答案】 8921。 【试题解析 】 本题考查 while,循环,当 n2=1298时, while循环成立,执行“n1=n2 10; n2; n2 10; ”后, n1为 8, n2 为 129,输出 n1的值为 8;当n2=129时, while循环成立,执行 “n1=n2 10; n2=n2 10; ”后, n1 为 9, n2为12,输出 n1的值为 9;当 n2=12时, while循环成立,执行 “n1=n2 10; n2=n210; ”后, n1为 2, n2为 1,输出 n1的值为 2;当 n2=1时, while循环成立,执行“n1=n2 10; n2=n2 10; ”后 n1为 1, n2为 0。输出 n1的值为 1;当 n2=0时,while循环不成立退出。 54 【正确答案】 x x*x+1。 【试题解析】 本题考查的是自定义函数调用。调用函数,填 x即可。定义函数体,由于求 f(x)=x2+1,因此填入 x*x+1。其实两个空的内容可以调换一下,即填x*x+1或 x。

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