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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C语言)笔试模拟试卷 206 及答案与解析 1 算法的空间复杂度是指 ( )。 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)算法执行过程中所需要的存储空间 2 下列叙述中正确的是 ( )。 ( A)一个逻辑数据结构只能有一种存储结构 ( B)逻辑结构属于线性结构,存储结构属于非线性结构 ( C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 ( D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的 效率 3 简单的交换排序方法是 ( )。 ( A)快速排序 ( B)选择排序 ( C)堆排序 (

2、 D)冒泡排序 4 关于结构化程序设计原则和方法的描述错误的是 ( )。 ( A)选用的结构只准许有一个入口和一个出口 ( B)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现 ( C)不允许使用 GOTO语句 ( D)语言中若没有控制结构,应该采用前后一致的方法来模拟 5 相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和 ( )。 ( A)可重用性差 ( B)安全性差 ( C)非持久性 ( D)冗余性 6 面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是( )。 ( A)模拟现实世界中不同事物之间的联系 ( B)强调模拟现实世界中的算法而不强调概念 ( C

3、)使用现实世界的概念抽象地思考问题从而自然地解决问题 ( D)不强调模拟现实世界中的算法而强调概念 7 对如下二叉树进行后序遍历的结果为 ( )。 ( A) ABCDEF ( B) DBEAFC ( C) ABDECF ( D) DEBFCA 8 软件设计包括软件的结构、数据接口和过程设计,其中软 件的过程设计是指( )。 ( A)模块间的关系 ( B)系统结构部件转换成软件的过程描述 ( C)软件层次结构 ( D)软件开发过程 9 两个或两个以上模块之间关联的紧密程度称为 ( )。 ( A)耦合度 ( B)内聚度 ( C)复杂度 ( D)数据传输特性 10 下列描述错误的是 ( )。 ( A

4、)继承分为多重继承和单继承 ( B)对象之间的通信靠传递消息来实现 ( C)在外面看不到对象的内部特征是基于对象的 “模块独立性好 ”这个特征 ( D)类是具有共同属性、共同方法的对象的集合 11 以下所列的 C语言常量中,错误的是 ( )。 ( A) 0xFF ( B) 1 2e0 5 ( C) 2L ( D) 72 12 若变量 a、 i已正确定义,且 i已正确赋值,合法的语句是 ( )。 ( A) a=1 ( B) +i ( C) a=a+=5 ( D) a=int(i) 13 若 a为 int类型,且其值为 3,则执行完表达式 a+=a-=a*a后, a的值是 ( )。 ( A) -3

5、 ( B) 9 ( C) -12 ( D) 6 14 若有定义 “int a=5, b=7; ”,则表达式 a =(b 2)运算后, a的值为 ( )。 ( A) 0 ( B) 1 ( C) 11 ( D) 3 15 若执行以下程序时从键盘上输入 9,则输出结果是 ( )。 main() int n; scanf(“ d“, &n); if(n+ 10)printf(“ d n“, n); else printf(“ d n“, n-); ( A) 11 ( B) 10 ( C) 9 ( D) 8 16 设 a、 b、 c、 d、 m、 n均为 int型变量,且 a=5、 b=6、 c=7、

6、d=8、 m=2、 n=2,则逻辑表达式 (m=a b)&(n=c d)运算后, n的值是 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 3 17 有如下程序: main() int x=23; do printf(“ d“, x-); while(!x); 该程序的执行结果是 ( )。 ( A) 321 ( B) 23 ( C)不输出任何内容 ( D)陷入死循环 18 下列程序的输出结果是 ( )。 #include main() int a=2, b=3, p; P=f(a, b): printf(“ d“, p); int f(a, b) int c; if(a b)c=

7、1; else if(a=b)c=0; else c=-1; return(c); ( A) -1 ( B) 0 ( C) 1 ( D) 2 19 有下列程序: fun(int x, int y) i+=m+1; m=i+x+y; return m; k=fun(j, m); printf(“ d, “, k): k=fun(j, m); printf(“ d n“, k); 执行后的输出结果是 ( )。 ( A) 5, 5 ( B) 5, 11 ( C) 11, 11 ( D) 11, 5 20 下列字符数组初始化语句中,不正确的是 ( )。 ( A) char c=goodmorning

8、( B) char c20=“goodmorning“; ( C) char c=a, b, c, d; ( D) char c=“ffgoodmorning“; 21 下列程序执行后的输出结果是 ( )。 main() char x=0xFFFF; printf(“ d n“, x-); ( A) -32767 ( B) FFFE ( C) -1 ( D) -32768 22 下面的函数调用语句中 func甬数的实参个数是 ( )。 func(f2v1, v2), (v3, v4, v5), (v6, max(v7, v8) ( A) 3 ( B) 4 ( C) 5 ( D) 8 23 语句

9、 “printf(“a bre“ hi y bou n“)”;的输出结果是 ( )。 ( A) a bre hi y bou ( B) a bre hi y bou ( C) rehiyou ( D) abrehiy bou 24 下面程序输出的是 ( )。 main() int t=1; fun(fun(t); fun(int h) static int a3=1, 2, 3); int k; for(k=0; k 3; k+)ak+=ak-h; for(k=0; k 3; k+)printf(“ d“, ak); printf(“ n“); return(ah); ( A) 1, 2, 3

10、, 1, 5, 9, ( B) 1, 3, 5, 1, 3, 5, ( C) 1, 3, 5, 0, 4, 8, ( D) 1, 3, 5, 1, 3, 7, 25 以下叙述中正确的是 ( )。 ( A)预处理命令行必须位于 C源程序的起始位置 ( B)在 C语言中,预处理命令行都以 “#”开头 ( C)每个 C程序必须在开 头包含预处理命令行: #include ( D) C语言的预处理不能实现宏定义和条件编译的功能 26 为了避免在嵌套的条件语句 if else中产生二义性, C语言规定, else子句总是与( )配对。 ( A)缩排位置相同 if ( B)其前面最近的 if ( C)其后

11、面最近的 if ( D)同一行上的 if 27 设有下列程序段: char str=“HelloWorld“; char*ptr; ptr=str; 执行上面的程序段后, *(ptr+10)的值为 ( )。 ( A) 0 ( B) 0 ( C)不确定的值 ( D) 0的地址 28 有以下程序: void swap(char*x, char*y) char t; t=*x; *x=*y; *y=t; main() char*s1=“abc“, *s2=“123“; swap(s1, s2); printf(“ s, s n“, s1, s2); 程序执行后的输出结果是 ( )。 ( A) 123

12、, abc ( B) abc, 123 ( C) 1bc, a23 ( D) 321, cba 29 下列程序的运行结果是 ( )。 #include main() static char a=“Languagef“, b=“programe“; char*p1, *p2; int k; p1=a; p2=b; for(k=0; k =8; k+) if(*(p1+k)=*(p2+k) printf(“ c“, *(p1+k); ( A) gae ( B) ang ( C) program ( D)有语法错 30 下列程序的运行结果为 ( )。 #define MAX(x, y) (x) (y

13、)?(x): (y) main() int a=2, b=3, c=1, d=3, t; printf(“ d n“, (MAX(a+b, c+d)*100); ( A) 500 ( B) 5 ( C) 4 ( D) 400 31 下列说法正确的是 ( )。 ( A)在 C语言中,可以使用动态内存分 配技术定义元素个数可变的数组 ( B)在 C语言中,数组元素的个数可以不确定,允许随机变动 ( C)在 C语言中,数组元素的数据类型可以不一致 ( D)在 C语言中,定义一个数组后,就确定了它所容纳的元素的个数 32 表达式 “0x11”的值是 ( )。 ( A) 0xFFEE ( B) 0x71

14、 ( C) 0x0071 ( D) 0xFFE1 33 下列程序的输出结果是 ( )。 main() int p8=11, 12, 13, 14, 15, 16, 17, 18, i=0, j=0; while(i+ 7) if(pi 2)j+=pi; printf(“ d n“, j); ( A) 42 ( B) 45 ( C) 56 ( D) 60 34 下列程序的输出结果是 ( )。 #include #include void fun(int b) static int i=0; do bi+=bi+1; while(+i 2); main() int k, a5=1, 3, 5, 4

15、, 9; fun(a); for(k=0; k 5; k+)printf(“ d“, ak); ( A) 13579 ( B) 48579 ( C) 48549 ( D) 48999 35 有以下程序: main() int a=1, b=3, c=5, *p; int*p1=&a, *p2=&b, *p3=&c; *p=*p1*(*p2); printf(“ d n“, *p); 执行后的 输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 36 有以下程序: fun(int x) int P; if(x=0x=1)return(3); p=x-fun(x-2);

16、return P; main() print(“ d n“, fun(7); 程序执行后的输出结果是 ( )。 ( A) 7 ( B) 3 ( C) 2 ( D) 0 37 下述程序的运行结果是 ( )。 #include #include main() char*s1=“abDuj“; char*s2=“ABdUG“: int t; t=strcmp(s1, s2); printf(“ d“, t); ( A)正数 ( B)负数 ( C)零 ( D)不确定的值 38 下列程序中 c的二进制值是 ( )。 char a=2, b4, c; c=a b 2; ( A) 00000011 ( B)

17、 00010100 ( C) 11100 ( D) 11000 39 函数 fseek()的正确调用形式是 ( )。 ( A) fseek(位移量,起始点,文件类型指针 ); ( B) fseek(文件类型指针,位移量,起始点 ); ( C) fseek(文件类型指针,起始点,位移量 ); ( D) fseek(起始点,位移量,文件类型指针 ): 40 下列叙述正确的是 ( )。 ( A) C语言中的文件是流式文件。因此只能顺序存取数据 ( B)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖 ( C)在一个程序中当对文件进了写操作后,必须先关闭该文件然后再打开,才能读到第

18、 1个数据 ( D)当对文件的 读 (写 )操作完成之后,必须将它关闭,否则可能导致数据丢失 41 有以下程序: main() int num44; =1, 2, 3, 4, 5, 6, 7, 8), 9, 10, , 12, , 13, 14,15, 16), i, j; for(i=0; i 4; i+) for(j=0; j i; j+)printf(“ 4c“, ”); for(j=_; j 4; j+)printf(“ 4d“, numij); printf(“ n“); 若要按以下形式输出 数组右上半三角 1 2 3 4 6 7 8 11 12 16 则在程序下划线处应填入的是 (

19、 )。 ( A) i-1 ( B) i ( C) i+1 ( D) 4-i 42 若希望下列的程序运行后输出 25,程序空白处的正确选项是 ( )。 main() int i, j=50 a=7, 4, 10, 5, 8; for( ) j+=ai; printf(“ d“, j-40); ( A) i=1; i 4; +i ( B) i=1; i 3; +i ( C) i=4; i 2; i- ( D) i=2; i 4; +i 43 在面向对象方法中,类之间共享属性和操作的机制称为 _。 44 数据的基本单位是 _。 45 常用的软件结构设计工具是结构图 (SC),也称程序结构图。其中,用

20、矩形表示_,用带空心圆的箭头表示传递的是数据。 46 函数 pi的功能是根据以下近似公式求 值: (*) 6=1+1 (2*2)+1 (3*3)+i (n*n) 现在请你在下面的函数中填空,完成求 的功能。 #include double pi(long n) double s=0, 0; long i; for(i=1; i =n; i+)s=s+_; return(sqrt(6*s); 47 x和 y都是 double型变量, x的初值为 4 0, y的初值为 2 0,则表达式pow(y, fabs(x)的 值为 _。 48 在关系模型中,二维表的行称为 _。 49 下列程序的输出结果是

21、_。 main() int a=2, b=4, c=6; int p1=&a, *p2=&b, *p; *(p=&c)=*p1*(*p2); printf(“ d n“, c); 50 下面程序的输出是 _。 main() enum em em1=3, em2=1, em3; char*aa“AA“, “BB“, “CC“, “DD“; printf(“ s s s n“, aaem1, aaem2, aaem3); 51 若 a是 int型变量,且 a的初值为 5,则计算 a+=a-=a*a表达式后 a的值为_。 52 下列程序的循环次数是 _。 x=2; do x=x*x; ) while

22、(!x); 53 下列程序的运行结果是 _。 main() int s=0, i=1; while(s =10) s=s+i*i; i+: printf(“ d“, -i); 54 下列程序中, fun()函数的功能是计算 x2-2x+6,主函数中将调用 fun()函数计算。 y1=(x+8)2-2(x+8)+6 y2=sin2(x)-2sin(x)+6 请填空: #include double fun(double x)return(x*x-2*x+6); main() double x, y1, y2; printf(“enter x: “); scanf(“lf“, &x); y1=fu

23、n(_); y2=fun(_); printf(“y1= lf, y2= lf n“,y1, y2); 国家二级( C语言)笔试模拟试卷 206 答案与解析 1 【正确答案】 D 【试题解析】 算法的空间复杂度,是指执行这个算法所需的存储空间。算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占用的存储空间、算法执行过程中所 需要的额外空间。 2 【正确答案】 D 【试题解析】 数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式一种数据结构可以根据需要采用不同的存储结构,用的存储结构有顺序和链式结构。用不同的存储结构,其处理的效率是不同的。 3 【正确答案】 D 【试题解

24、析】 所谓的交换排序方法是指借助数据元素之间的互相交换进行排序的一种方法,包括冒泡排序和快速排序冒泡排序通过相邻元素的交换逐步将线性表变成有序是一种最简单的交换排序方法。 4 【正确答案】 C 【试题解析】 结构化程 序设计的愿则和方法之一是限制使用 GOTO语句。但不是绝对不允许使用 GOTO 语句。其他三项为结构化程序设计的原则。 5 【正确答案】 D 【试题解析】 文件系统所管理的数据文件基本上是分散、相互独立的。相对于数据库系统,以此为基础的数据处理存在 3个缺点:数据冗余大、数据的不一致性、程序与数据的依赖性强。 6 【正确答案】 C 【试题解析】 面对象的设计方法的基本原理是:使用

25、现实世界的概念抽象地思考问题从而自然地解决问题。它虽强调模拟现实世界中的概念而不强调算法但是它鼓励开发者在软件开发的 过程中从应用领域的概念角度去思考。 7 【正确答案】 D 【试题解析】 所谓的后序遍历是指,首先遍历左子树,然后遍历右子树最后访问根结点并且在遍历左、右树时,仍然先遍历左子树,然后遍历右子树最后访问根点。因此,后序遍历二叉树的过程也是一个递归过程。 8 【正确答案】 B 【试题解析】 软件的过程设计是指系统结构部件转换成软件的过程描述。 9 【正确答案】 A 【试题解析】 模块的独立性是指每个模块保证完成系统要求的独立功能,并且与其他模块的联系少且接口简单。衡量软件的模块 独立

26、性有内聚性和祸台性两个定性度量标准。耦合性是模块间互相连接紧密程度的度量。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,以利于提高模块的独立性。 10 【正确答案】 C 【试题解析】 对象的封装性是指从外面看只能看到对象的外部特性而对象的内部,其处理能力的实行和内部状态对外是不可见的,是隐蔽的。 11 【正确答案】 B 【试题解析】 在 C语言中,用 e来表示科学计数法时,规定在 e后面的数字必须为整数。 12 【正确答案】 B 【 试题解析】 选项 A为表达式,因此不正确,选项 C中 a+本身就是表达式,无需再赋值,选项 D中,在强制类型转换时,

27、类型名应用括号括起来,故选择 B选项。 13 【正确答案】 C 【试题解析】 在表达式中,其 +=, -=的优先级相同,按从右到左的结合方向运算,而 *的优先级最高,表达式写成 a=a+(a-(a*a),代入 3可得 -12。 14 【正确答案】 A 【试题解析】 本题考查 “ ”运算符的使用。运算符 “ ”是整数除法的余数。本题中表达式 a =(b 2)等价于 a=a (b 2)=5 (7 2)=5 1=0。 15 【正确答案】 B 【试题解析】 当 n为 9时,此时 if 语句成立,执行 n+后, n为 10,因此输出 n的值为 10,故选择 B选项, 16 【正确答案】 C 【试题解析】

28、 因为 a b 不成立,故表达式 a b 的值为 0,即为 0赋给 m,因此&左边表达式的值为 0, 0与任何值 &运算都为 0,于是不再计算 &右边表达式的值,所以此时的 n仍然为 2。 17 【正确答案】 B 【试题解析】 本题考查 do-while语句,当 x=23时,执行 do后的语句, x-的表达式值为 x=x-1,此时 x的值为 22,而 !x 为 0,因此 while循环不成立,退出,故选择 B选项。 18 【正确答案】 A 【试题解析】 本题考查 if-else语句。 if 为真则执行 c=1, if为假则执行 else中的条件,不符合继续执行 else。 19 【正确答案】

29、B 【试题解析】 子函数 fun(int x, int y),将变量 m和 i声明为局部静态变量,因此第 1次调用主函数后,局部静态变量 m和 i的值为 5和 3,第 1次函数调用结束时,它们的值不释放保持不变,所以第 2次调用时,局部静态变量 m和 i的初始值分别为 5和 3,即 在执行 “i+=m+1”时, i的值为 9,因此最终 m的值为 11。 20 【正确答案】 A 【试题解析】 本题考查两个概念: 用单引号括起来的一个字符常量只能存放一个字符; (2)C语言中没有字符串变量,只能用字符数组来存储字符串。 21 【正确答案】 C 【试题解析】 因为 x=0x FFFF=1111111

30、1,因此当以整型形式输出时对应的数为 -1。 22 【正确答案】 A 【试题解析】 实参是在调用时传递该函数的参数。故选 A。 23 【正确答案】 C 【试题解析】 先输出 a、 b 表示退一格,当执行到: b后,光标往后退,接着输出 rehiy (反斜杠后又加一个反斜杠的意思是要输出一个反斜杠 ),此时又执行: b 后,就被 ou 覆盖。 24 【正确答案】 D 【试题解析】 本题考查双重函数调用及 for循环使用, fun函数中第一个 for循环语句的作用是给数组 a赋值。当第一次调用 fun 函数时,把实参 1传给形参,输出 a数组的元素为 1, 3, 5;第二次调用 fun函数时,由于

31、数组 a为静态局部变量,故输出 a数组的元素为 -1, 3, 7。 25 【正确答案】 B 【试题解析】 本题 是对基本知识点的理解,预处理命令行的位置没有规定只是习惯写在起始位置而已,当需要时才用 #include头文件,预处理的作用就是实现宏定义和条件编译。 26 【正确答案】 B 【试题解析】 C语言规定,在 Ifelse 语句中, else总是与它前面的最近的 if 配对。 27 【正确答案】 A 【试题解析】 本题主要考查字符数组和指针,在 C语言中,字符型数组在存放字符串时会自动在末尾加上 0,所以数组 str有 11个元素; ptr指向数组 str的首地址, ptr+10是指向

32、str10, *(ptr+10)是引用 str10的值。 28 【正确答案】 C 【试题解析】 本题考查 swap函数,它的作用是把 x、 y所指的内容互换,其他的不变,因此当执行完调用函数后,仅仅 a与 1互换,其他的没有变。 29 【正确答案】 A 【试题解析】 本题考查指针用法, if语句的功能是判断两个数组中的字符是否相同,如果相同则输出。 30 【正确答案】 A 【试题解析】 本题考查带参数宏的定义,运算符: (x) (y)?(x): (y)当表达式为真时输出 x,否则输出 y, 调用 (MAX(a+b, c+d)*100时, (a+b=5) (c+d=4),输出 a+b=5,所以

33、x=5*100。 31 【正确答案】 D 【试题解析】 在 C语言中,数组元素的个数是确定的,不允许随机变动,数组定义好后,它所能容纳的元素的个数也就确定了,并且同一个数组中所有元素都是同一类型。 32 【正确答案】 A 【试题解析】 本题主要考查按位求反运算:十六进制整型常量的形式是以数字0x开头的十六进制字符串;位求反运算的规则是:将二进制表示的运算对象按位取反,即将 1变 0,将 0变 1。 33 【正确答案】 B 【试题解析】 C语言中,数组的下标默认为 0,因此数鲴 p的下标从 0开始,所以 p8的范围为 0 7。第 1次循环 i=0,执行循环,得出 i=1,因此 pi为p1=12,

34、 12 2=0,不执行后面的语句;接着进行第 2次循环,此时 i=1,小于 7执行循环,并且 1自加,得 i=2,因此 pi为 p2=13, 13 2=1,执行后面的语句;依此类推最后退出循环。最后 j的值为: j=13+15+17=45。 34 【正确答案】 C 【试题解析】 本题考查 do-while循环,在 fun 函数中,首先定义了静态变量i=0, do-while循环要买现的功能是以 b0=b0+b1.b1=b1+b2,其他元素不变的规则重新给 b数组赋值,在主函数中。通过调用 fun 函数按上面的规则对数组 a重新赋值,最后输出数组 a。 35 【正确答案】 C 【试题解析】 本题

35、中指针 p1、 p2、 p3指向 a、 b、 c值所存放的地址空间,然后再将指针变量 *p1、 *p2中值的乘积赋给指针变量 *p,即赋给变量 c,输出 c的值3。 36 【正确答案】 C 【试题解析】 在函数 fun(int x)中,有个 if语句判断,如果参数 x等于 0或 1时,返回值,否则进入下面的 p=x-fun(x-2)递归函数。当在主函数中调用 fun(7)时其过程为: “fun(7)=7-fun(5)=7-(5-fun(3)=7-(5-(3-fun(1)=7-(5-(3-3)=7-5=2“,所以最后的输出结果为 2。 37 【正确答案】 A 【试题解析】 本题考查字符串比较函数

36、和两个宇符串比较的原则这两个知识点。(1)两字符串比较的原则是依次比较两个字符串同一位置的一对字符,若它们的ASCII码相同,则继续比较下 一对字符,若他们的 ASCII码值不同,则 ASCII码值较大的字符所在的字符串较大;若所有字符相同。则两个字符串相等:若一个字符串全部 i个字符与另一个字符串的前 i个字符相同,则字符串较长的较大。(2)strcmp(s1, s2)的返回值,当 str1 str2时,返回值为负数;当 str1=str2时,返回 0;当 str1 str2。返回值为正数。 38 【正确答案】 A 【试题解析】 本题主要考查右移运算和按位异或。把 b化为二进制数为00000

37、100,石移两位后为 00000001, a的二进制为 00000010,两者异或为000000l1。 39 【正确答案】 B 【试题解析】 指针函数 fseek()的调用形式为: fseek(fp, offset,position; fseck函数参数说明: “fp”是指向该文件的文件型指针; “offset”为位移量,是指从起始点 position到要确定的新位置的字节数。以起点曲基准,向前移动字节数。“position”为起始点,指出以文件的什么位置为基准进行移动, pusition 的值用整型常数表示, “()”表示文件的开头, “1”表示文件的当前位置。 “2”表示文件的末尾 。 4

38、0 【正确答案】 D 【试题解析】 在 C语畜中,文件的存取方式有两种;顺序存取和直接存取。如果以 “a”的方式对已打开的文件进行写操作后,则原文件中内容将保存,新的数据写在原有内容之后。如果以 ”a+”的方式为读和写操作而打开文件,则可以对文件进行读写,而且在读和写操作之间不必关闭文件。可以从头开始读,当对文件的读 (写 )操作完成之后,必须将它关闭。 41 【正确答案】 B 【试题解析】 本题中要求输出右上半角的数。对角线上的数的下标相同,所以j=t。 42 【正确答案】 D 【试题解析】 要想使程序输出是 25,则在 printf 中, j-40=25, j=65,而 j初值是50, “

39、j+=ai; ”也可写成 i=j+ai;, j=50+ai=65,当 ai=15,条件满足,数组下标由 0开始,当 i=2时,指向元素 10, i=3时, 10+5=15,退出循环体,所以选项 D正确。 43 【正确答案】 继承。 【试题解析】 在面向对象方法中,子类可以直接或间接地继承父类所有属性和方法,是类之间共享属性和操作的机制。 44 【正确答案】 数据元素。 【试题解析】 本题考查概 念数据的基本单位是数据元素。 45 【正确答案】 模块。 【试题解析】 矩形表示的是模块,箭头是指模块间的调用关系。用实心圆的箭头表示传递的是控制信息,带空心圆的箭头表示传递的数据。 46 【正确答案】

40、 1 0 (i*i)。 【试题解析】 从公式中可知循环的作用是求其和,本题定义 s、 i为 double型,故填 1 0 (i*i)。 47 【正确答案】 16 000000。 【试题解析】 如果没有强制类型转换甬数运算不改受数据类型, fabs(x)是对 x取绝对值, pow(y, fabs(x)是表示 y的 fabs(x)次幂,即 2 00的 4 0次幂为16 000000。 48 【正确答案】 元组。 【试题解析】 本题主要考查对关系模型的理解,在关系型数据库中,用二维表来表示关系二维表的表名即关系名,二维表的行称为关系的元组,二维表的列为关系的属性。 49 【正确答案】 8。 【试题解

41、析】 本程序定义了 3个指针变量 p1、 p2、 p,并且将 p1、 p2指向 a、b,则 *p1=a=2, *p2=b=4,所以表达式 *p1*(*p2)的值是 8。在赋值语句的左边是*(p=&c),即指针 p指向 了变量 c,因而 *(p)代表了 c的存储单元。赋值语句“*(p=&c)=*p1*(p2)”是把整数 8赋给了变量 c。 50 【正确答案】 DDBBCC。 【试题解析】 数组的下标从 0开始, em的值为数组 aa的标号, aaeml=aa3,aaem2=aa1,根据枚举的定义,枚举成员值是将前一个成员加 1得到的,所以aaem3=aaem+1=2,故输出的结果为 DDBBCC

42、。 51 【正确答案】 -24。 【试题解析】 本题考查赋值运算符: a+=x可写成 a=a+x,同时题 a+=a-=a*a可写成 a=a+(a-(a*a)。当 a=5时,结果为 -15。 52 【正确答案】 1。 【试题解析】 do-while循环语句的功能是执行循环语句,再判断循环条件是否为真,若为真,则重复执行循环体语句,否则退出循环; do-while语句的特点是先执行后判断,因此循环体至少执行 1次。本程序中 x=2为真,但 while中 !x 为假,不符合循环条件,所以只循环 1次。 53 【正确答案】 3。 【试题解析】 本题考查 while循环,第 1次循环: s=s+i*i=

43、0+1*1=1, i=2;第 2次循环: s=s+i*i=25, i=3;第 3次循环: s=s+i*j=5+3*3=14, i=4;循环条件不成立输出 i, -i使 i 的值减 1,输出结果为 3。 54 【正确答案】 x+8 sin(x)。 【试题解析】 第一空,根据函数 fun(double x)的定义可知,在主函数中输入 x+8代替函数 fun(double x)中的形式参数 x,就可以计算出变量 y1 的值,其值等于(x8)22(x+8)+6。第二空,根据函数 fun(double x)的定义可知,在主函数中输入sin(x)代替函数 fun(double x)中的形式参数 x,就可以计算出变量 y1的值,其值等于 sin(x)-2sin(x)+6。

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